วันจันทร์ที่ 19 พฤศจิกายน พ.ศ. 2561

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

ไม่มีความคิดเห็น:

แสดงความคิดเห็น