Lesson 07 : จับขโมยโดยใช้ Infrared Sensor
ในบทเรียนนี้จะสอนให้น้องๆ เรียนรู้การรับค่าจาก Infrared Sensor นะครับ โดย Sensor ตัวนี้จะให้ค่าเป็น
High เมื่อจับเจอการเคลื่อนไหวข้างหน้ามันครับ
ระดับความยาก :
สิ่งที่ต้องทราบก่อนเริ่มเรียน
- การใช้งานโปรแกรม Arduino IDE
- ผ่านบนเรียน Lesson 01
- ผ่านบนเรียน Lesson 02
สิ่งที่จะได้จากบทเรียนนี้
- รับสัญญาณจาก Sensor ได้
- เพิ่มทักษะการเขียนโปรแกรมที่ซับซ้อนขึ้น
- ทักษะการใช้งานโปรแกรม Arduino IDE เบื้องต้น
อุปกรณ์
ลำดับ | ชิ้นส่วน | จำนวน |
---|---|---|
1 | Board Arduino UNO | 1 ชิ้น |
2 | สาย Jump ผู้ – ผู้ | 3 เส้น |
3 | โมดูลตรวจจับความเคลื่อนไหว (mini ir pyroelectric infrared human body sensor) | 1 ชุด |
ให้ต่ออุปกรณ์ดังรูปต่อไปนี้
Coding กันเลย
เปิดโปรแกรม Arduino และ New File ขึ้นมาดังภาพที่ 1
ภาพที่ 1 แสดงการสร้างไฟล์ใหม่
พิมพ์ code ตามภาพที่ 2 (download code here) จากนั้นกดปุ่มบันทึกและตั้งชื่อตามที่ต้องการ
* @desc Class นี้ใช้สำหรับเรียนรู้การทำงานเบื้องต้นของ Arduino
* และ โมดูลตรวจจับความเคลื่อนไหว (mini ir pyroelectric infrared human body sensor)
* @author Prayoon V.,
* Email : themakerthailand@hotmail.com
* Facebook : @MrMakerThailand
*///กำหนดหมายเลข PIN แสดงไฟ LED
int LED_PIN = 13;
//กำหนดหมายเลข PIN รับค่าจาก Sensor
int INPUT_PIN = 8;
//ค่าตั้งต้นของการรับค่า Sensor
int STATE = LOW;
//ตัวแปรเก็บค่าที่อ่านจาก sensor
int val = 0;
void setup() {
//กำหนดให้ Arduino Board รับทราบว่าหมายเลข LED สำหรับแสดงค่าคือ 13
pinMode(LED_PIN, OUTPUT);
//กำหนดให้ Arduino Board รับทราบว่า Pin หมายเลข 8 คือรับค่าจาก Sensor
pinMode(INPUT_PIN, INPUT);
Serial.begin(9600);
}
void loop() {
//อ่านค่าจาก Sensor
val = digitalRead(INPUT_PIN);
//ค่าเป็น HIGH ให้แสดงไฟ LED
if(val == HIGH) {
digitalWrite(LED_PIN, HIGH);
//ถ้า STATE มีการเปลี่ยนให้ Write Message ออกมาหนึ่งบรรทัด
if(val != STATE){
Serial.println(“Detect something”);
STATE = val;
}
}else{
//ค่าเป็น LOW ให้ปิดไฟ LED
digitalWrite(LED_PIN, LOW);
//ถ้า STATE มีการเปลี่ยนให้ Write Message ออกมาหนึ่งบรรทัด
if(val != STATE){
Serial.println(“Not detect something”);
STATE = val;
}
}
}
ภาพที่ 2 แสดง Sourcecode
ภาพที่ 3 แสดงการบันทึก
สั่ง Compile code โดยใช้คลิกที่ปุ่ม Verify ตามภาพที่ 4
ภาพที่ 4 แสดงการ Verify และ Compile Sourcecode
สั่ง Deploy code ไปที่ Board Arduino ตามภาพที่ 5
ภาพที่ 5 แสดงการ Upload Program ไปที่ Board Arduino
ดูผลลัพธ์จะเห็นการทำงานของ Infrared Sensor เมื่อจับวัตถุได้ ดัง Video นี้ครับ
ภาพที่ 6 แสดง Video การทำงานของ Infrared Sensor เมื่อจับวัตถุได้
!!!สำเร็จแล้ว!!!
Share ผลงาน
เมื่อน้อง ๆ ทำสำเร็จแล้วอย่าลืมแชร์ให้เพื่อนๆ ดูได้ที่ Facebook MrMakerThailand
และหากน้อง ๆ ทำไม่ได้ ให้ติดต่อมาได้ตลอดเวลาที่ Inbox นะครับ