พอดีผมจะใช้ Attiny85 ควบคุมไฟ 6 ดวงโดยใช้ขาเอาท์พุต 3 ขาดังรูป
ผมเขียนไฟล์ได้ตามนี้คับ แต่มันคุมได้แค่ ทีละ 1 ดวง ถ้าต้องการให้ติดมากกว่า 1 ผมต้องทำยังไง มีแนวทางไหมคับ
int LED_1 = 5;
int LED_2 = 6;
int LED_3 = 7;
void setup()
{
}
void loop()
{
//LED L1
pinMode(LED_1, OUTPUT);
digitalWrite(LED_1, HIGH);
pinMode(LED_2, OUTPUT);
digitalWrite(LED_2, LOW);
pinMode(LED_3, INPUT);
digitalWrite(LED_3, LOW);
delay(1000);
//LED L2
pinMode(LED_1, OUTPUT);
digitalWrite(LED_1, LOW);
pinMode(LED_2, OUTPUT);
digitalWrite(LED_2, HIGH);
pinMode(LED_3, INPUT);
digitalWrite(LED_3, LOW);
delay(1000);
//LED L3
pinMode(LED_1, INPUT);
digitalWrite(LED_1, LOW);
pinMode(LED_2, OUTPUT);
digitalWrite(LED_2, HIGH);
pinMode(LED_3, OUTPUT);
digitalWrite(LED_3, LOW);
delay(1000);
//LED L4
pinMode(LED_1, INPUT);
digitalWrite(LED_1, LOW);
pinMode(LED_2, OUTPUT);
digitalWrite(LED_2, LOW);
pinMode(LED_3, OUTPUT);
digitalWrite(LED_3, HIGH);
delay(1000);
//LED L5
pinMode(LED_1, OUTPUT);
digitalWrite(LED_1, HIGH);
pinMode(LED_2, INPUT);
digitalWrite(LED_2, LOW);
pinMode(LED_3, OUTPUT);
digitalWrite(LED_3, LOW);
delay(1000);
//LED L6
pinMode(LED_1, OUTPUT);
digitalWrite(LED_1, LOW);
pinMode(LED_2, INPUT);
digitalWrite(LED_2, LOW);
pinMode(LED_3, OUTPUT);
digitalWrite(LED_3, HIGH);
delay(1000);
}
ตามวงจรทำได้อยู่แล้วครับ ใช้หลักการสแกน คือเปิดปิดไว ๆ ทำให้ตาเรามองไม่ทัน
ลองเช็คที่โคดอีกทีครับ มีคนทำไลบารีไว้ให้ด้วย หลายแบบเลย
หรือถ้าอยากให้ง่าย ๆ แนะนำ atmega8 มีขาเยอะกว่าควบคุมโดยตรงได้เลยครับ