Afișaj USB extern, savepearlharbor

Salutări tuturor hrabriuristelor. Acest articol vă va spune cum să faceți un afișaj care comunică cu un computer prin USB. Pentru a implementa această idee, am ales controlerul AVR ATMega16. Pentru a nu deranja cu banda, am ales aceasta placa de prototipuri.







De ce acest afișaj poate fi utilizat depinde de dvs. În plus - nimeni nu o obligă să facă în forma de afișare - acesta poate fi un pachet de diode emițătoare de lumină, o bandă de diode emițătoare de lumină, mai multe reljushek - orice.

"Fier" aici este foarte simplu. Deoarece legarea USB este deja disponibilă, trebuie doar să conectați indicatorul la controler. Segmentarea ieșirilor, la fel ca terminalele de ieșire, este de dorit să se pună în întregime pe un port (astfel încât ieșirea simbolului să nu fie mai dificil de scris în același port).

programator

Există două moduri de a programa această minunată placă de prototipuri. Primul este clasic SPI / JTAG. Al doilea este un bootloader. care funcționează prin interfața HID și este activată când MOSI și solul sunt închise.

Acum, aproape toate dispozitivele sunt conectate la computer prin intermediul interfeței USB. Mai mult, multe PC-uri noi și PC-uri LPT nu au porturi (deși există contacte pe placa de bază sub acestea). Mulți cred că HID este proiectat exclusiv pentru șoareci, tastaturi și alte dispozitive de intrare. Nu e așa. Dispozitivul HID poate fi orice doriți. Deși HID oferă, de asemenea, schimb de date cu viteză redusă (<64 кб/с), но он может значительно сократить время разработки устройства за счет отсутствия необходимости написания драйверов. На выходе получится простое устройство, которое опознается в большинстве современных ОС.

Pentru organizarea schimbului USB de pe partea controlerului, se folosește biblioteca V-USB. care preia toate lucrările murdare. Trebuie remarcat faptul că semnalul D + trebuie să aibă în mod necesar un pin care are o întrerupere (în acest caz - INT0). În plus, controlerul ar trebui să aibă o frecvență de ceas definită strict (pe bord 16-MHz cuarț este vizibil), altfel nimic nu va funcționa.







Toate dispozitivele HID au propriile descriptori. În aceste descriptori, dispozitivul descrie ceea ce va face - să primească, să trimită date sau toate simultan, ce fel de dispozitiv este - o tastatură, mouse, joystick sau doar un fel de dispozitiv, precum și alți parametri. Pentru dispozitivele tipice, există deja drivere standard, dar chiar și faptul că afișajele USB nu sunt adesea disponibile în vânzare nu ne face să ne scrie șoferul nostru! Trebuie să scriem doar implementarea protocolului său la nivel înalt - HID oferă un nivel bun de abstractizare.

În primul rând, declarați mânerul, diferența de aici în această linie:
0x95, 0x05, // REPORT_COUNT (5)
Această linie specifică lungimea raportului FEATURE - cinci octeți, exceptând ID-ul de raportare. Primul octet este starea (starea LED-ului încorporat), încă patru sunt ieșirile de informații către

Pentru ca afișajul să funcționeze, trebuie să trimiteți porturile la ieșire (A și C, am trimis toți acei - nu există încă nicio altă periferie).

Pentru a salva informații despre starea curentă a afișajului, aveți nevoie de două variabile (încă unul pentru a simplifica codul). Pentru a nu supraîncărca articolul, tot codul este redat pe pastebin.

Big Brother

Pentru computer, a fost scris un program pe Delphi folosind componenta JvHidDevice.
Sursele sunt încă acolo - pe pastebin.

Toate aceste surse fac un lucru foarte simplu - pe partea gazdei - conversia caracterelor în imaginile lor și trimiterea prin USB, pe controler - recepție și afișare. Trebuie remarcat faptul că generatorul de caractere este implementat pe gazdă, pentru a elimina intermitența inutilă a controlerului.

Fotografii de produs aproape finalizat (clicabil)

Afișaj USB extern, savepearlharbor

Afișaj USB extern, savepearlharbor







Articole similare

Trimiteți-le prietenilor: