คำอธิบาย
ชุดทดลองตรวจจับวัตถุบนสายพานลำเลียง Automation Detect Photoelectric Infrared Sensor Relay
ระบบอัตโนมัติ หรือ Automation ประกอบด้วย Hardware และ Software ที่ทำงานร่วมกัน ให้สามารถควบคุมการทำงาน ของระบบเป็นไปแบบอัตโนมัติ ระบบอัตโนมัติ นั้นจะเกี่ยวข้องกับ ระบบควบคุม Control System รวมถึงวิศวกรรมแมคคาทรอนิกส์และหุ่นยนต์พื้นฐานของระบบอัตโนมัติประกอบด้วยส่วนหลักๆคือ
- อินพุทจากเซนเซอร์ต่างๆ เซ็นเซอร์วัดความดัน Pressure sensor, เซ็นเซอร์อุลตราโซนิค Ultrasonic sensor , เซ็นเซอร์ความชื้น Humidity sensor, เซ็นเซอร์วัดก๊าซ Gas sensor, เซ็นเซอร์ตรวจจับการเคลื่อนไหวแบบพีไออาร์ PIR motion sensor, เซ็นเซอร์วัดความเร่ง Acceleration sensor, เซ็นเซอร์วัดแรง Force sensor, เซ็นเซอร์สี color sensor, เซ็นเซอร์เซ็นเซอร์วัดมุมและการหมุน gyro sensor, เซ็นเซอร์อัลตราโซนิก ultrasonic sensor และอื่นๆเช่น เทอร์โมไพล์
- การสื่อสาร – สายเคเบิล USB, RS485, WiFi และอื่นๆ
- ตัวควบคุม เช่น MCU และอื่นๆ
- เอาท์พุท – เช่นวาล์ว, มอเตอร์, หลอดไฟ, ลำโพง และอื่นๆ
มีอะไรเตรียมไว้ให้ในชุด (อุปกรณ์ในชุดติดตั้งบนแผ่นพลาสวูด)
- 1pcs x สายพานลำเลียง Mini Conveyor + แหล่งจ่ายไฟอะแดปเตอร์ / AC-DC Adaptor
- 1pcs x ชุดผลักชิ้นงาน Rejector แบบใช้ Step motor 1 ชุด
- 1pcs x บอร์ด Relay Module
- 1pcs x บอร์ด Arduino Uno
- 1pcs x เซนเซอร์แบบ Proximity Photoelectric ติดตั้งบนแผ่นเพลท
- 1pcs x ชุด สายไฟ Cable DC
- 1pcs x CNT112 คอนเนคเตอร์ เทอร์มินอลไฟฟ้า Screw Terminal Block 12CH TB1512 15A/600V
- 1pcs x อุปกรณ์ติดตั้งฐาน Plastwood-W 20mm
- 1pcs x Plastic Box กล่องกระบะพลาสติก
การใช้ Photoelectric sensors ตรวจจับชิ้นงาน
Photoelectric sensors เป็นเซนเซอร์ใช้ตรวจจับวัตถุที่อยู่ห่างออกไประยะทางตรวจจับแตกต่างกันไปตาม P/N: ของเซนเซอร์นั้นๆ Photoelectric sensors โดยมากจะสามารถตรวจจับวัตถุได้ในระยะ 3cm – 80cm โดยประมาณ ทั้งนี้ โฟโตอิเล็กทริคเซ็นเซอร์ ทำงานโดยใช้หลักการใช้แสงสะท้อนเพื่อตรวจจับวัตถุ ซึ่งโฟโตอิเล็กทริคเซ็นเซอร์สามารถนำมาตรวจจับวัตถุได้เกือบทุกชนิด.
- สายสีน้ำตาล +Vcc
- สายสีน้ำเงิน GND
- สายสีดำ DIGITAL OUTPUT / NPN Normally Open (Active Low)
Wiring Diagram
Arduino Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
const int Sensor1 = 2; // ต่อเซนเซอร์ตัวที่ 1 const int Reject1 = 4; // สั่งตัวผลักชิ้นงาน const int Relay_1 = 8; // สั่ง Relay_1 active low //เมื่อเซนเซอร์เจอชิ้นงาน จะหน่วงเวลาให้ชิ้นงานเคลื่อนที่ถึงตัวผลัก แล้วสั่งให้ตัวผลักทำงาน int Sensor1_State; // the current reading from the input pin int lastButton_State = LOW; // the previous reading from the input pin unsigned long lastDebounceTime = 0; // the last time the output pin was toggled unsigned long debounceDelay = 50; // the debounce time; increase if the output flickers void setup() { pinMode(Sensor1, INPUT_PULLUP); pinMode(Reject1, OUTPUT); pinMode(Relay_1, OUTPUT); // set initial state digitalWrite(Reject1, HIGH); Serial.begin(9600); } void loop() { // read the state of the switch into a local variable: digitalWrite(Relay_1, LOW); // สั่งให้รีเลย์ทำงานจ่ายไฟให้สายไฟหมุน int reading1 = digitalRead(Sensor1); // อ่านค่าจากเซนเซอร์ if (reading1 != lastButton_State) { // reset the debouncing timer lastDebounceTime = millis(); Serial.println(reading1); } if ((millis() - lastDebounceTime) > debounceDelay) //หน่วงเวลาป้องกันสัญญาณรบกวน คือต้องมีค่าเวลามากกว่าตัวแปร debounceDelay เพื่อให้แน่ใจว่ามีชิ้นงานจริงๆ ไม่ใช่สัญญาณรบกวน { if (reading1 != Sensor1_State) { Sensor1_State = reading1; if (Sensor1_State == LOW) // ยืนยันว่าเซนเซอร์ตรวจจับชิ้นงานได้จริงๆ เป็น Active Low { delay(700); // หน่วงเวลา 500 = 1/2 s, 1000 = 1s, 2000 = 2s ให้ชิ้นงานเคลื่อนไปถึงตัวผลัก digitalWrite(Reject1, LOW); // สั่งให้ตัวผลักชิ้นงานทำงาน delay(50); // หน่วงเวลาสักครู่ digitalWrite(Reject1, HIGH); // กลับมาสถานะเดิม } } } lastButton_State = reading1; } |
ดาวน์โหลด
รีวิว
ยังไม่มีบทวิจารณ์