Cuprins:

Afișaj LED cu matrice de puncte: 5 pași
Afișaj LED cu matrice de puncte: 5 pași

Video: Afișaj LED cu matrice de puncte: 5 pași

Video: Afișaj LED cu matrice de puncte: 5 pași
Video: Ceas cu spectru cu matrice de puncte DIY 32*8 / RGB Full Color Activat prin voce/Dimmabil în cascadă 2024, Noiembrie
Anonim
Afișaj LED cu matrice de puncte
Afișaj LED cu matrice de puncte

În acest proiect, veți utiliza din nou două seturi de registre de schimbare. Acestea vor fi conectate la rândurile și coloanele afișajului cu matrice de puncte. Apoi, veți afișa un obiect simplu sau un sprite pe ecran și îl veți anima. Scopul principal al acestui proiect este de a vă arăta cum funcționează un afișaj cu matrice de puncte și de a introduce conceptul de multiplexare, deoarece aceasta este o abilitate de neprețuit.

Pasul 1: Lucruri necesare

Lucruri necesare
Lucruri necesare

pentru acest proiect veți avea nevoie de: - 1. 1 matrice LED 2. 8 rezistențe 1k ohm 3. 8 557 tranzistoare 4. 1 ULN2803 IC 5 Arduino 6. 2 registru de schimbare 74HC595 7. 2 Placă de pâine 8. Conectarea firelor

Pasul 2: Lucrul

Unitățile cu matrice de puncte vin în mod obișnuit fie într-o matrice 5x7, fie 8x8 de LED-uri. LED-urile sunt cablate în matrice astfel încât fie anodul, fie catodul fiecărui LED este comun în fiecare rând. Cu alte cuvinte, într-o unitate matricială de puncte LED cu anod comun, fiecare rând de LED-uri ar avea toți anodii din acel rând conectați împreună. Catozii LED-urilor ar fi conectați împreună în fiecare coloană. Motivul pentru acest lucru va deveni evident în curând. O unitate matricială tipică de 8x8 puncte cu o singură culoare va avea 16 pini, 8 pentru fiecare rând și 8 pentru fiecare coloană. Motivul pentru care rândurile și coloanele sunt conectate împreună este acela de a minimiza numărul de pini necesari. Dacă nu ar fi cazul, o unitate matricială cu 8x8 puncte de o singură culoare ar avea nevoie de 65 de pini, unul pentru fiecare LED și un conector comun cu anod sau catod. Cablând rândurile și coloanele împreună, sunt necesari doar 16 pini. Cu toate acestea, acest lucru pune acum o problemă dacă doriți ca un anumit LED să se aprindă într-o anumită poziție. Dacă, de exemplu, ați avea o unitate anodică comună și ați dori să aprindeți LED-ul în poziția X, Y 5, 3 (coloana a 5-a, rândul 3), atunci ați aplica un curent la rândul 3 și ați împământat pinul coloanei 5. LED-ul din coloana 5 și rândul 3 se va aprinde acum. Acum, să ne imaginăm că doriți să aprindeți și LED-ul din coloana 3, rândul 6. Deci, aplicați un curent pe al șaselea rând și împământați pinul coloanei 3. LED-ul din coloana 3, rândul 6 se aprinde acum. Dar așteptați … LED-urile din coloana 3, rândul 6 și coloana 5, rândul 6 s-au aprins și ele. Acest lucru se datorează faptului că aplicați energie la rândurile 3 și 6 și la împământarea coloanelor 3 și 5. Nu puteți opri LED-urile nedorite fără a le opri pe cele pe care le doriți. S-ar părea că nu există nicio modalitate de a aprinde doar cele două LED-uri necesare cu rândurile și coloanele conectate așa cum sunt. Singurul mod în care ar funcționa ar fi să existe un pinout separat pentru fiecare LED, ceea ce înseamnă că numărul de pini ar sări de la 16 la 65. O unitate matricială cu 65 de pini ar fi foarte greu de conectat și controlat, deoarece ai avea nevoie un microcontroler cu cel puțin 64 de ieșiri digitale. Există o modalitate de a rezolva această problemă? Da, există și se numește multiplexare (sau muxing). Multiplexarea este tehnica de a porni un rând al afișajului la un moment dat. Prin selectarea coloanei care conține rândul care conține LED-ul pe care doriți să îl aprindeți, apoi porniți puterea la rândul respectiv (sau invers pentru afișajele cu catod comun), LED-urile alese din acel rând se vor aprinde. Acest rând este apoi oprit și următorul rând este pornit, din nou cu coloanele corespunzătoare alese și LED-urile din al doilea rând se vor aprinde acum. Repetați cu fiecare rând până ajungeți în partea de jos și apoi începeți din nou în partea de sus. Dacă acest lucru se realizează suficient de rapid (la mai mult de 100Hz, sau de 100 de ori pe secundă), atunci fenomenul de persistență a vederii (unde o imagine secundară rămâne pe retină timp de aproximativ 1/25 de secundă) va însemna că afișajul va apărea la să fie constant, chiar dacă fiecare rând este pornit și oprit în ordine. Folosind această tehnică, rezolvați problema afișării LED-urilor individuale fără ca și celelalte LED-uri din aceeași coloană sau rând să fie aprinse. Scanând rândurile și iluminând LED-urile respective din fiecare coloană din acel rând și făcând acest lucru foarte repede (mai mult de 100Hz), ochiul uman va percepe imaginea ca fiind constantă, iar imaginea inimii va fi recunoscută în modelul LED. Folosiți această tehnică de multiplexare în codul proiectului. Așa trebuie să afișați animația inimii fără a afișa și LED-uri străine.

Pasul 3:

Imagine
Imagine

trebuie să calculați valoarea rezistențelor pe care le puteți utiliza Ar trebui mai întâi să obțineți câteva specificații pentru LED-urile dvs., ar trebui să le cunoașteți tensiunea de plecare și curentul de plecare, puteți obține aceste informații din foaia de date. Circuitul funcționează pe 5V, astfel încât tensiunea sursei dvs. este de 5V, care poate fi obținută de la un adaptor de 5v Descărcați fișierul original pentru a vedea schemele mai bine.

Pasul 4: Făcând-o să funcționeze

Am creat un program care afișează propoziții de pe monitorul serial arduino pe matrice, codul meu este foarte simplu. Am creat o aplicație Android pentru a crea fontul pentru afișaj. Vă rugăm să vizitați următoarea pagină pentru a instala aplicația

Pasul 5: Toate gata !!!!!!!

Totul este gata !!!!!!!!!
Totul este gata !!!!!!!!!

Felicitări matricea cu leduri 8x8 este gata. Puteți afișa orice v-ați dori. Acum, U se poate juca cu el și face matrice cu leduri 8x8 prin lipirea manuală a matricei Led sau 16x8 și așa mai departe !!!!!!

Recomandat: