คือว่าลองใส่ โค้ดและต่อวงจรตามคลิป สอนในยูทูป ผมใส่ไป
int Led_R = 8; //ledสีแดง
int Led_G = 9; //ledสีเขียว
int Led_Y = 10; //ledสีเหลือง
void setup() {
pinMode(Led_R,OUTPUT);
pinMode(Led_G,OUTPUT);
pinMode(Led_Y,OUTPUT);
}
void loop() {
digitalWrite(Led_R,1);
digitalWrite(Led_G,0);
digitalWrite(Led_Y,0);
delay(3000);
digitalWrite(Led_R,0);
digitalWrite(Led_G,1);
digitalWrite(Led_Y,0);
delay(3000);
digitalWrite(Led_R,0);
digitalWrite(Led_G,0);
digitalWrite(Led_Y,1);
delay(3000);
}
มันควรจะเป็น สีแดงเปิด 3 วิ แล้ว เขียว 3 วิ แล้ว เหลือง 3 วิ
แต่ผลที่ได้คือ เขียวเหลืองเปิด 3 วิ แล้ว แดงเหลือง 3 วิ แล้ว แดงเขียว 3 วิ
แต่พอเปลี่ยนเป็น
int Led_R = 8; //ledสีแดง
int Led_G = 9; //ledสีเขียว
int Led_Y = 10; //ledสีเหลือง
void setup() {
pinMode(Led_R,OUTPUT);
pinMode(Led_G,OUTPUT);
pinMode(Led_Y,OUTPUT);
}
void loop() {
digitalWrite(Led_R,0);
digitalWrite(Led_G,1);
digitalWrite(Led_Y,1);
delay(3000);
digitalWrite(Led_R,1);
digitalWrite(Led_G,0);
digitalWrite(Led_Y,1);
delay(3000);
digitalWrite(Led_R,1);
digitalWrite(Led_G,1);
digitalWrite(Led_Y,0);
delay(3000);
}
ผลที่ออกมาคือ สีแดงเปิด 3 วิ แล้ว เขียว 3 วิ แล้ว เหลือง 3 วิ
สรุปคือเหมือน ค่า 0 ที่ควรจะเป็นปิดมันสลับกับ 1 ที่เป็นเปิดแทนครับ
แล้วแต่โมดูลครับ ให้อ้างอิงที่ผลลัพธ์
ว่าเป็นการทางงานแบบ Active low คือเมื่อส่งสัญญาณ 0 ให้ จะทำงาน
หรือแบบ Active High เมื่อส่งสัญญาณ 1 ให้จะทำงาน
มีตัวอย่างเพิ่มเติมในคอร์ส Arduino Starter ที่หน้าเว็บครับ