จุดประสงค์
- นักเรียนสามารถต่อวงจรในการใช้ PIR Sensor และ Relay ได้
- นักเรียนสามารถเขียนโปรแกรมเพื่อรับข้อมูลจาก PIR Sensor และควบคุม Relay ได้
- นักเรียนสามารถนำความรู้ที่ได้ไปใช้ในการแก้ปัญหาในชีวิตประจำวันได้
เครื่องมือและอุปกรณ์ในการต่อวงจร ระบบตรวจการเคลื่อนไหวด้วย PIR Sensor แล้วสั่ง Relay เปิดไฟ
บอร์ดทดลอง Breadboard
Protoboard หรือ Breadboard คือบอร์ดทดลอง สำหรับต่อวงจรไฟฟ้าและอิเล็กทรอนิกส์ต่างๆโดยไม่ต้องบัดกรีวงจร ซึ่งมีประโยชน์มากทั้งสำหรับผู้เริ่มต้นและผู้ที่ต้องการทดลองต่อวงจรใหม่ๆ โดย Protoboard นั้นมีหลายขนาดด้วยกัน ตั้งแต่ 170 รู , 830 รู จนถึง 1,660 รูเลยทีเดียว
Arduino Uno R3
Arduino อ่านว่า (อา-ดู-อิ-โน่ หรือ อาดุยโน่) เป็นบอร์ดไมโครคอนโทรเลอร์ตระกูล AVR ที่มีการพัฒนาแบบ Open Sourceคือมีการเปิดเผยข้อมูลทั้งด้าน Hardware และ Software ตัว บอร์ด Arduino ถูกออกแบบมาให้ใช้งานได้ง่าย ดังนั้นจึงเหมาะสำหรับผู้เริ่มต้นศึกษา ทั้งนี้ผู้ใช้งานยังสามารถดัดแปลง เพิ่มเติม พัฒนาต่อยอดทั้งตัวบอร์ด หรือโปรแกรมต่อได้อีกด้วย
รีเลย์ (Relay) เป็นอุปกรณ์ไฟฟ้าชนิดหนึ่ง ซึ่งทำหน้าที่ตัดต่อวงจรแบบเดียวกับสวิตช์ โดยควบคุมการทำงานด้วยไฟฟ้า Relay มีหลายประเภท ตั้งแต่ Relay ขนาดเล็กที่ใช้ในงานอิเล็กทรอนิกส์ทั่วไป จนถึง Relay ขนาดใหญ่ที่ใช้ในงานไฟฟ้าแรงสูง โดยมีรูปร่างหน้าตาแตกต่างกันออกไป แต่มีหลักการทำงานที่คล้ายคลึงกัน สำหรับการนำ Relay ไปใช้งาน จะใช้ในการตัดต่อวงจร ทั้งนี้ Relay ยังสามารถเลือกใช้งานได้หลากหลายรูปแบบ
PIR เซ็นเซอร์ตรวจจับความเคลื่อนไหว Motion Sensor Module ตรวจจับความเคลื่อนไหวจากความร้อน เมื่อมีคนเดินผ่านก็จะจับค่าความร้อนที่เปลี่ยนแปลง แล้วส่งค่าสัญญาณมีไฟออกมา เราสามารถนำค่านี้ไปสั่งควบคุม Arduino ได้ สามารถปรับเวลาหน่วงเวลาในการตรวจจับครั้งต่อไปได้ ปรับระยะทางการตรวจจับได้ 3-7 เมตร มีช่องให้ต่อ LDR เพิ่ม เพื่อให้ทำงานตรวจจับแค่ตอนกลางคืนขา OUT จะให้เอาต์พุตออกมาในรูปของดิจิตอล สามารถปรับลักษณะของสัญญาณขาออกได้จากการเปลี่ยนจั้มเปอร์ มีรูปแบบสัญญาณเอาต์พุต 2 แบบ คือ สัญญาณแบบคลื่นพัลส์ต่อเนื่องสัญญาณลอจิก 1 ค้างไว้ จนกว่าจะไม่สามารถจับความเคลื่อนไหวได้ จึงจะกลับมาเป็นลอจิก 0
คำสั่งในการควบคุม ระบบตรวจการเคลื่อนไหวด้วย PIR Sensor แล้วสั่ง Relay เปิดไฟ
void setup()
{
pinMode(2, INPUT);
pinMode(13, OUTPUT);
Serial.begin(9600);
Serial.flush();
while(Serial.available()>0)Serial.read();
}
void loop()
{
if ((digitalRead(2) == true)) {
digitalWrite(13, HIGH);
delay(1000);
}
else {
digitalWrite(13, LOW);
delay(1000);
}
Serial.println(digitalRead(2));
}