Mozes nabaviti jeftine 8x8 i 5x7 LED matrice. Izmedju ostalih, pravi ih Kingbright (TA..., i TC...). Ja bih se opredelio za super bright red ili green model.
Sto se upravljacke jedinice tice, iz prethodnog posta, mozes je resiti sa jednim mikrokontrolerom koji ima bar jedan U(S)ART. Opredeli se za asinhron prenos podataka, npr za: 9600-57600baud, 8 data bit, 1 stop bit, no parity, no flow control. Zatim, smisli 'jezik' koji ces koristiti za komunikaciju izmedju uredjaja i PC-ja. Jezik bi trebao da sadrzi komande tipa: brisi ekran, upali/ugasi/invertuj tacku x,y, nacrtaj kvadrat x,y,w,l, nacdrtaj liniju, krug, elipsu, pisi tekst, itd... Prilikom razvoja mozes koristiti Hyperterminal za zadavanje komandi uredjaju, bez prethodnog razvoja softvera na racunaru. Komanda bi trebala da sadrzi:
-start delimiter (1 bajt). Primer:
$
-komandu, npr. HEX broj u ASCII formatu (2 bajta), npr:
00 - brisi ekran
01 - crtaj piskel
02 - invertuj piksel
...
-parametre, koji zavise od komande, HEX broj u ASCII formatu (n x 2 bajta)
-chekcsum, HEX broj u ASCII formatu (2 bajta) - opciono - nizi bajt zbira svih prethodnih bajtova poruke, HEX broj u ASCII formatu
- end delimiter (1 bajt), npr: ASCII(0x0d)
tako bi poruka za invetovanje piksela (15, 15) izgledala ovako:
$020F0F72[cr]
Mikrokontroler upravljacke jedinice stalno prati desavanja na serijskom portu, i puni bafer, i u slucaju prijema karaktera 0x0d, proverava ispravanost checksum-a, i ako nije dobar, prazni bafer, i odgovara racunaru sa porukom : ?[cr] , a ako je sve u redu odgovara sa porukom : ![cr]
Ako je racunar primio ?, ponovo salje prethodni zahtev. Po prijemu dobre poruke upravljacka jedinica odradjuje posao i prosledjuje zatadatak segmentima.
Itd...
O_o