Zasadniczo muszę tylko wysłać niektóre dane do mikrokontrolera przez USB, a następnie mikroprocesor dekoduje dane i napędza pasek świetlny LED, który działa przy 5V. Mam problem ze znalezieniem odpowiedniego mikrokontrolera do pracy.
Mikrokontroler musi mieć tylko 2 porty szeregowe do komunikacji USB, dwa porty szeregowe do komunikacji z listwą LED i być w stanie działać przy napięciu 5 V. Nie ma potrzeby posiadania dedykowanego układu scalonego do komunikacji USB, gdy wszystko, czego potrzebuję, to skonfigurowany port szeregowy COM.
Na przykład, oto fragment kodu Arduino, który zapisuje bajt na pasku LPD8806:
void write8(uint8_t d) {
for (uint8_t i=0; i<8; i++) {
if (d & _BV(7-i))
digitalWrite(dataPin, HIGH);
else
digitalWrite(dataPin, LOW);
digitalWrite(clockPin, HIGH);
digitalWrite(clockPin, LOW);
}
}
Aby zatrzasnąć dane, wyślesz zera na pasek.