Lesson 02 : ตำรวจจราจร (Traffic police)
ในบทเรียนนี้จะสอนให้น้องๆ เรียนรู้การใช้งานโปรแกรม Arduino แบบง่ายๆ ก่อนโดยเราจะสมมุติตัวเองเป็นตำรวจจราจร กดไฟเขียว ไฟเหลือง และไฟแดง เปิดปิดตามต้องการกัน เริ่มกันเลย
ระดับความยาก :
สิ่งที่ต้องทราบก่อนเริ่มเรียน
- การใช้งานโปรแกรม Arduino IDE
- ผ่านบนเรียน Lesson 01
สิ่งที่จะได้จากบทเรียนนี้
- สั่งเปิดปิด ไฟ LED ได้
- เรียนรู้การรับค่าจาก Switch
- ทักษะการใช้งานโปรแกรม Arduino IDE เบื้องต้น
อุปกรณ์
ลำดับ | ชิ้นส่วน | จำนวน |
---|---|---|
1 | Board Arduino UNO | 1 ชิ้น |
2 | Bread Board | 1 ชิ้น |
3 | สาย Jump ผู้ – ผู้ | 8 เส้น |
4 | ไฟ LED สีแดงและสีเขียวและสีเหลือง | อย่างละ 1 ดวง |
5 | ไมโครสวิส | 3 ตัว |
6 | ตัวต้านทาน 330 โอม | 3 ตัว |
7 | ตัวต้านทาน 10k โอม | 3 ตัว |
ให้ต่ออุปกรณ์ดังรูปต่อไปนี้
Coding กันเลย
เปิดโปรแกรม Arduino และ New File ขึ้นมาดังภาพที่ 1
ภาพที่ 1 แสดงการสร้างไฟล์ใหม่
พิมพ์ code ตามภาพที่ 2 (download code here) จากนั้นกดปุ่มบันทึกและตั้งชื่อตามที่ต้องการ
* @desc Class นี้ใช้สำหรับเรียนรู้การทำงานเบื้องต้นของ Arduino และ Micro Switch
* @author Prayoon V.,
* Email : themakerthailand@hotmail.com
* Facebook : @MrMakerThailand
*///กำหนดหมายเลข PIN ที่ต่อกับไฟ LED สีเขียว สีเหลือง และสีแดง
#define RED_LED_PIN 10
#define YELLOW_LED_PIN 9
#define GREEN_LED_PIN 8
//กำหนดหมายเลข PIN รับค่าจาก Switch
#define RED_SWITCH_PIN 4
#define YELLOW_SWITCH_PIN 3
#define GREEN_SWITCH_PIN 2
//หมายเลขเวลาที่ให้ไฟติด
#define DELAY 500
int value;
void setup() {
//กำหนดให้ Arduino Board รับทราบว่าหมายเลข PIN ดังนี้เป็น PIN แบบ OUTPUT เพื่อแสดงค่าที่เราจะส่งออก
pinMode(RED_LED_PIN,OUTPUT);
pinMode(YELLOW_LED_PIN,OUTPUT);
pinMode(GREEN_LED_PIN,OUTPUT);
//กำหนดให้ Arduino Board รับทราบว่าหมายเลข PIN ดังนี้เป็น PIN แบบ INPUT เพื่อรอรับค่าจาก Switch
pinMode(RED_SWITCH_PIN,INPUT);
pinMode(YELLOW_SWITCH_PIN,INPUT);
pinMode(GREEN_SWITCH_PIN,INPUT);
Serial.begin(9600);
}
void loop() {
//digitalWrite(RED_LED_PIN,HIGH);
//digitalWrite(YELLOW_LED_PIN,HIGH);
//digitalWrite(GREEN_LED_PIN,HIGH);
//delay(DELAY);
digitalWrite(RED_LED_PIN,LOW);
digitalWrite(YELLOW_LED_PIN,LOW);
digitalWrite(GREEN_LED_PIN,LOW);
//รับค่าจาก Switch ทั้ง 3 ปุ่ม
int redButtonState = digitalRead(RED_SWITCH_PIN);
int yellowButtonState = digitalRead(YELLOW_SWITCH_PIN);
int greenButtonState = digitalRead(GREEN_SWITCH_PIN);
Serial.println(greenButtonState);
//ถ้า Switch ปุ่มใดโดนกดจะมีค่าเป็น HIGH
if(redButtonState == HIGH){
Serial.println(“Red buttonn pressed.”);
digitalWrite(RED_LED_PIN,HIGH);
}
if(yellowButtonState == HIGH){
Serial.println(“Yellow buttonn pressed.”);
digitalWrite(YELLOW_LED_PIN,HIGH);
}
if(greenButtonState == HIGH){
Serial.println(“Green buttonn pressed.”);
digitalWrite(GREEN_LED_PIN,HIGH);
}
delay(DELAY);
delay(DELAY);
delay(DELAY);
}
ภาพที่ 2 แสดง Sourcecode
ภาพที่ 3 แสดงการบันทึก
สั่ง Compile code โดยใช้คลิกที่ปุ่ม Verify ตามภาพที่ 4
ภาพที่ 4 แสดงการ Verify และ Compile Sourcecode
สั่ง Deploy code ไปที่ Board Arduino ตามภาพที่ 5
ภาพที่ 5 แสดงการ Upload Program ไปที่ Board Arduino
ทดลองกด Switch เรียงตามลำดับดู จะเห็นไฟสีเขียว สีเหลือง และสีแดง ติดขึ้นตามจังหวะการกดและดับลงเมื่อเราปล่อยมือจาก Switch



ภาพที่ 6 แสดงผลลัพธ์ไฟ LED ติดเมื่อกดปุ่ม
!!!สำเร็จแล้ว!!!
Share ผลงาน
เมื่อน้อง ๆ ทำสำเร็จแล้วอย่าลืมแชร์ให้เพื่อน ๆ ดูได้ที่ Facebook MrMakerThailand
และหากน้อง ๆ ทำไม่ได้ ให้ติดต่อมาได้ตลอดเวลาที่ Inbox นะครับ