Cuprins:

Buton LED Matrix: 4 pași
Buton LED Matrix: 4 pași

Video: Buton LED Matrix: 4 pași

Video: Buton LED Matrix: 4 pași
Video: Releu 12V Explicat -- 12V Relay Explained 2024, Noiembrie
Anonim
Buton LED Matrix
Buton LED Matrix

Acest proiect poate fi gândit ca un alt proiect introductiv Arduino, care este puțin mai avansat decât proiectul dvs. tipic „clipind un LED”. Acest proiect încorporează o matrice LED, butoane, registre de schimbare (care pot salva pini pe placa dvs. Arduino) și un concept cheie numit multiplexare. Sper că veți găsi tutorialul iluminator și vă veți provoca să vă îmbunătățiți!

Provizii

(1x) Arduino Uno

(5x) Butoane tactile

(2x) 0,1 uF Condensatori

(2x) 1 uF Condensatori

(8x) rezistențe 1k

(5x) rezistențe de 10k

(2x) registre de schimbare 74HC595

Sârme jumper

Sârmă neagră

Sârmă roșie

Pasul 1: Pasul 1: Realizarea unei matrice LED

Pasul 1: Realizarea unei matrice LED
Pasul 1: Realizarea unei matrice LED
Pasul 1: Realizarea unei matrici LED
Pasul 1: Realizarea unei matrici LED
Pasul 1: Realizarea unei matrici LED
Pasul 1: Realizarea unei matrici LED

Tutorialul pe care l-am folosit pentru a realiza matricea LED 8x8 în acest proiect poate fi găsit aici. Există configurații comune pentru o matrice LED:

a) Anodul rând comun

b) Catod comun de rând

Din moment ce am folosit aranjamentul Common Row Cathode al matricei, voi discuta în principal aici și puteți extinde aceeași logică la aranjamentul Common Row Anode. În aranjamentul Common Rode Cathode, catodii LED-urilor (sau bornele negative care este piciorul mai scurt al unui LED) sunt conectate împreună în rânduri în timp ce anodii (sau bornele pozitive care este piciorul mai lung al unui LED) sunt conectate împreună în coloane. Pentru a aborda un anumit LED, trageți rândul catodului pe care catodul LED este jos și trageți coloana anodică pe care anodul LED este sus.

Notă: Când realizați matricea LED-ului prezentată în linkul de mai sus, asigurați-vă că conectați coloanele anodice cu rezistențele de 1 k ohm înainte de a aplica orice cantitate de tensiune LED-urilor.

Pasul 2: Pasul 2: Cablarea butoanelor și a registrelor de schimbare

Pasul 2: Cablarea butoanelor și a registrelor de schimbare
Pasul 2: Cablarea butoanelor și a registrelor de schimbare
Pasul 2: Cablarea butoanelor și a registrelor de schimbare
Pasul 2: Cablarea butoanelor și a registrelor de schimbare
Pasul 2: Cablarea butoanelor și a registrelor de schimbare
Pasul 2: Cablarea butoanelor și a registrelor de schimbare
Pasul 2: Cablarea butoanelor și a registrelor de schimbare
Pasul 2: Cablarea butoanelor și a registrelor de schimbare

Cablajul pentru butoane și registre de schimbare este prezentat mai sus. Aș dori să menționez că registrele de schimbare din diagrama circuitului nu arată pământul (pinul 8 al IC) și Vcc sau sursa de alimentare (pinul 16 al IC) pinii pentru cipuri; pinul de masă este conectat la pinul GND al plăcii Arduino, iar Vcc este conectat la pinul de 5V al plăcii Arduino. Pinul Vcc al fiecărui registru de schimbare este, de asemenea, conectat la un condensator de 0.1uF conectat la masă.

Notă: Ieșirile fiecărui registru de schimbare sunt listate ca QA la QH (ignorați QH *). Acestea sunt listate în termeni de bitul cel mai puțin semnificativ (LSB) (pentru QA) până la cel mai semnificativ bit (MSB) (pentru QH), adică QA ar controla al 0-lea rând sau coloană etc.

Pasul 3: Pasul 3: Încărcarea codului

Codul pentru controlul matricei LED este atașat acestui tutorial. Am încercat să comentez cât mai mult din cod, așa că ar fi foarte clar cum funcționează programul. Baza principală a programului este că există o matrice care ține evidența LED-urilor care ar trebui să fie aprinse sau oprite. Pentru a afișa corect diferitele LED-uri fără a porni accidental diode nedorite este să folosiți un concept numit multiplexare. Multiplexarea este în esență aprinderea LED-urilor individuale pe un rând special, în timp ce toate celelalte LED-uri din alte rânduri, apoi face același lucru pentru rândurile rămase. Trucul este că, dacă LED-urile circulă în rânduri suficient de repede, ochii tăi pot spune că rândurile individuale sunt aprinse pe rând. Dacă doriți să explorați mai multe moduri în care vă puteți păcăli ochii cu LED-uri, vă recomandăm să analizați conceptul de persistență a vederii (ușor de căutat pe Google sau Instructables).

Modul în care sunt actualizate coloanele anodice și rândurile catodice este printr-o funcție definită de utilizator numită „UpdateShiftRegisters”. Această funcție rotește mai întâi știftul de blocare, care controlează dacă un nou octet (8 biți) este trimis la ieșire, astfel încât nu sunt posibile modificări la ieșiri în timp ce noii biți sunt înscriși pe cip. Apoi, folosind o funcție Arduino încorporată numită „ShiftOut”, care se ocupă în mod specific de trimiterea datelor către registrele de schimbare, programul scrie oricare rând (catodic) care ar fi scăzut și care coloane (anodice) ar trebui să fie ridicate. În cele din urmă, știftul de blocare este tras în sus, astfel încât să actualizeze ieșirea (LED-urile).

Pasul 4: Informații suplimentare / Resurse

Iată câteva linkuri către site-uri web sau cărți care pot oferi informații suplimentare cu privire la acest proiect:

learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/arduino-code

www.arduino.cc/en/tutorial/ShiftOut

www.ti.com/lit/ds/symlink/sn74hc595.pdf

www.youtube.com/watch?v=7VYxcgqPe9A

www.youtube.com/watch?v=VxMV6wGS3NY

Noțiuni introductive despre Arduino, ediția a II-a de Massimo Banzi

Recomandat: