คำอธิบาย
ชุดทดลองตรวจจับวัตถุบนสายพานลำเลียง 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
- 1pcs x ชุดผลักชิ้นงาน Rejector แบบใช้ Step motor
- 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
- 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
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;
}
ดาวน์โหลด





รีวิว
ยังไม่มีบทวิจารณ์