Lesson 05 : Remote Control ชุดใหญ่ไฟ LED
ในบทเรียนนี้จะสอนให้น้อง ๆ เรียนรู้การรับค่าจาก Remote Control แล้วให้ไฟ LED ติดตามปุ่มที่กดนะครับ
ระดับความยาก :
สิ่งที่ต้องทราบก่อนเริ่มเรียน
- การใช้งานโปรแกรม Arduino IDE
- ผ่านบนเรียน Lesson 01
สิ่งที่จะได้จากบทเรียนนี้
- รับค่าจาก Remote Control ได้
- เพิ่มทักษะการเขียนโปรแกรมที่ซับซ้อนขึ้น
- ทักษะการใช้งานโปรแกรม Arduino IDE เบื้องต้น
ลำดับ | ชิ้นส่วน | จำนวน |
---|---|---|
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 นะครับ