Arduino การควบคุม LED ผ่าน Serial
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| /* LED Control with Serial port */ int LED1_Pin = 13; int LED2_Pin = 12; int LED3_Pin = 11; String SerialGET = "" ; void setup() { Serial.begin(9600); pinMode(LED1_Pin, OUTPUT); pinMode(LED2_Pin, OUTPUT); pinMode(LED3_Pin, OUTPUT); } void loop(){ while (Serial.available()) { char c = Serial.read(); if (c == '\n' ) { /* You code chk */ Serial.println(SerialGET); if (SerialGET.indexOf( "LED1-ON" ) >= 0) digitalWrite(LED1_Pin, HIGH); else if (SerialGET.indexOf( "LED1-OFF" ) >= 0) digitalWrite(LED1_Pin, LOW); if (SerialGET.indexOf( "LED2-ON" ) >= 0) digitalWrite(LED2_Pin, HIGH); else if (SerialGET.indexOf( "LED2-OFF" ) >= 0) digitalWrite(LED2_Pin, LOW); if (SerialGET.indexOf( "LED3-ON" ) >= 0) digitalWrite(LED3_Pin, HIGH); else if (SerialGET.indexOf( "LED3-OFF" ) >= 0) digitalWrite(LED3_Pin, LOW); SerialGET = "" ; } else SerialGET += c; } }
คำอธิบาย จากโค้ด ได้กำหนดให้ LED1 2 และ 3 เป็น Pin 13 11 และ 10 ตามลำดับ หากกำหนดในโค้ดเป็น Pin อื่นต้องเปลี่ยน Pin ด้วย ส่วน R 220Ω ใส่ไว้เพื่อป้องกันไม่ให้ LED ขาดเนื่องจากกระแสไหลเกิน
อ้างอิงhttp://www.elec-za.com
|