Lesson 02 : ตำรวจจราจร (Traffic police)

ในบทเรียนนี้จะสอนให้น้องๆ เรียนรู้การใช้งานโปรแกรม Arduino แบบง่ายๆ ก่อนโดยเราจะสมมุติตัวเองเป็นตำรวจจราจร กดไฟเขียว ไฟเหลือง และไฟแดง เปิดปิดตามต้องการกัน เริ่มกันเลย

ระดับความยาก :  

สิ่งที่ต้องทราบก่อนเริ่มเรียน

สิ่งที่จะได้จากบทเรียนนี้

อุปกรณ์

ลำดับชิ้นส่วนจำนวน
1Board Arduino UNO1 ชิ้น
2Bread Board1 ชิ้น
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 นะครับ