Lesson 05 : Remote Control ชุดใหญ่ไฟ LED

ในบทเรียนนี้จะสอนให้น้อง ๆ เรียนรู้การรับค่าจาก Remote Control แล้วให้ไฟ LED ติดตามปุ่มที่กดนะครับ

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

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

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

อุปกรณ์
ลำดับ ชิ้นส่วน จำนวน
1 Board Arduino UNO 1 ชิ้น
2 Bread Board 1 ชิ้น
3 สาย Jump ผู้ – ผู้ 17 เส้น
4 โมดูลรีโมทรับส่งสัญญาวิทยุ 4 ปุ่ม IC 2262/2272 4 CH 315Mhz Wireless Remote 1 ชุด
5 LED ต่างสี 4 ตัว
6 ตัวต้านทาน 330 โอม 4 ตัว

ให้ต่ออุปกรณ์ดังรูปต่อไปนี้

Coding กันเลย
เปิดโปรแกรม Arduino และ New File ขึ้นมาดังภาพที่ 1

ภาพที่ 1 แสดงการสร้างไฟล์ใหม่

พิมพ์ code ตามภาพที่ 2 (download code here) จากนั้นกดปุ่มบันทึกและตั้งชื่อตามที่ต้องการ

/**
* @desc Class นี้ใช้สำหรับเรียนรู้การทำงานเบื้องต้นของ Arduino, IC 2262/2272 4 CH 315Mhz Wireless Remote
* @author Prayoon V.,
* Email : themakerthailand@hotmail.com
* Facebook : @MrMakerThailand
*///กำหนดหมายเลข PIN รับค่าจาก Switch
#define A_BUTTON_PIN 11
#define B_BUTTON_PIN 10
#define C_BUTTON_PIN 9
#define D_BUTTON_PIN 8
#define SOME_BUTTON_PRESSED_PIN 12

//กำหนดหมายเลข PIN ส่งค่าออก LED
#define GREEN_LED_PIN 3
#define YELLOW_LED_PIN 4
#define RED_LED_PIN 5
#define BLUE_LED_PIN 6

//ระยะเวลาให้ไฟติดค้างไว้
#define DELAY 500

void setup() {
//กำหนดให้ Arduino Board รับทราบว่าหมายเลข PIN นี้เป็น PIN แบบ INPUT เพื่อรอรับค่าจาก Remote
pinMode(A_BUTTON_PIN,INPUT);
pinMode(B_BUTTON_PIN,INPUT);
pinMode(C_BUTTON_PIN,INPUT);
pinMode(D_BUTTON_PIN,INPUT);

//กำหนดให้ Arduino Board รับทราบว่า PIN นี้เป็น PIN แบบส่งค่าออก
pinMode(GREEN_LED_PIN,OUTPUT);
pinMode(YELLOW_LED_PIN,OUTPUT);
pinMode(RED_LED_PIN,OUTPUT);
pinMode(BLUE_LED_PIN,OUTPUT);

Serial.begin(9600);
}

void loop() {

if(digitalRead(SOME_BUTTON_PRESSED_PIN) == HIGH) {
Serial.println(“some button pressed.”);
}

if(digitalRead(A_BUTTON_PIN) == HIGH){
Serial.println(“button A pressed.”);
digitalWrite(GREEN_LED_PIN, HIGH);
}

if(digitalRead(B_BUTTON_PIN) == HIGH){
Serial.println(“button B pressed.”);
digitalWrite(YELLOW_LED_PIN, HIGH);
}

if(digitalRead(C_BUTTON_PIN) == HIGH){
Serial.println(“button C pressed.”);
digitalWrite(RED_LED_PIN, HIGH);
}

if(digitalRead(D_BUTTON_PIN) == HIGH){
Serial.println(“button D pressed.”);
digitalWrite(BLUE_LED_PIN, HIGH);
}
//ให้ไฟติดค้างไว้
delay(DELAY);

//Clear ไฟทุกดวงให้ดับ
digitalWrite(GREEN_LED_PIN, LOW);
digitalWrite(YELLOW_LED_PIN, LOW);
digitalWrite(RED_LED_PIN, LOW);
digitalWrite(BLUE_LED_PIN, LOW);

}

ภาพที่ 2 แสดง Sourcecode


ภาพที่ 3 แสดงการบันทึก

สั่ง Compile code โดยใช้คลิกที่ปุ่ม Verify ตามภาพที่ 4

ภาพที่ 4 แสดงการ Verify และ Compile Sourcecode

สั่ง Deploy code ไปที่ Board Arduino ตามภาพที่ 5

ภาพที่ 5 แสดงการ Upload Program ไปที่ Board Arduino

ทดลองกด Remote จากปุ่ม A, B, C, D ไฟจะติดเรียงลำดับ ดัง Video นี้ครับ

ภาพที่ 6 แสดง Video เสียงจาก Buzzer เมื่อกดปุ่ม

!!!สำเร็จแล้ว!!!

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