Sommario:

Matrice LED a pulsante: 4 passaggi
Matrice LED a pulsante: 4 passaggi

Video: Matrice LED a pulsante: 4 passaggi

Video: Matrice LED a pulsante: 4 passaggi
Video: Dado a LED con pulsante - Video 425 2024, Dicembre
Anonim
Matrice LED a pulsante
Matrice LED a pulsante

Questo progetto può essere pensato come un altro progetto Arduino introduttivo leggermente più avanzato del tipico progetto "lampeggiare un LED". Questo progetto incorpora una matrice LED, pulsanti, registri a scorrimento (che possono salvare i pin sulla scheda Arduino) e un concetto chiave chiamato multiplexing. Spero che tu trovi il tutorial illuminante e ti metta alla prova per migliorarlo!

Forniture

(1x) Arduino Uno

(5x) pulsanti tattili

(2x) Condensatori da 0,1 uF

(2x) Condensatori da 1 uF

(8x) resistori da 1k

(5x) resistori da 10k

(2x) 74HC595 registri a scorrimento

Cavi per ponticelli

filo nero

filo rosso

Passaggio 1: Passaggio 1: Realizzazione di una matrice LED

Passaggio 1: creazione di una matrice LED
Passaggio 1: creazione di una matrice LED
Passaggio 1: creazione di una matrice LED
Passaggio 1: creazione di una matrice LED
Passaggio 1: creazione di una matrice LED
Passaggio 1: creazione di una matrice LED

Il tutorial che ho usato per realizzare la matrice LED 8x8 in questo progetto può essere trovato qui. Esistono configurazioni comuni per una matrice LED:

a) Anodo di riga comune

b) Catodo a riga comune

Poiché ho usato la disposizione Common Row Cathode della matrice, ne parlerò principalmente qui e puoi estendere la stessa logica alla disposizione Common Row Anode. Nella disposizione Common Row Cathode, i catodi dei LED (o terminali negativi che è la gamba più corta su un LED) sono collegati insieme in file mentre gli anodi (o terminali positivi che è la gamba più lunga su un LED) sono collegati insieme in colonne. Per indirizzare un particolare LED, tirare la riga del catodo in cui il catodo del LED è in basso e tirare la colonna dell'anodo in cui l'anodo del LED è in alto.

Nota: quando si realizza la matrice LED mostrata nel collegamento sopra, assicurarsi di collegare le colonne dell'anodo con i resistori da 1k ohm prima di applicare qualsiasi quantità di tensione ai LED.

Passaggio 2: Passaggio 2: Cablaggio dei pulsanti e dei registri a scorrimento

Passaggio 2: cablaggio dei pulsanti e dei registri a scorrimento
Passaggio 2: cablaggio dei pulsanti e dei registri a scorrimento
Passaggio 2: cablaggio dei pulsanti e dei registri a scorrimento
Passaggio 2: cablaggio dei pulsanti e dei registri a scorrimento
Passaggio 2: cablaggio dei pulsanti e dei registri a scorrimento
Passaggio 2: cablaggio dei pulsanti e dei registri a scorrimento
Passaggio 2: cablaggio dei pulsanti e dei registri a scorrimento
Passaggio 2: cablaggio dei pulsanti e dei registri a scorrimento

Il cablaggio per i pulsanti e i registri a scorrimento è mostrato sopra. Vorrei sottolineare che i registri a scorrimento nello schema elettrico non mostrano i pin di massa (pin 8 dell'IC) e Vcc o di alimentazione (pin 16 dell'IC) per i chip; il pin di massa è collegato al pin GND della scheda Arduino e Vcc è collegato al pin 5V della scheda Arduino. Il pin Vcc di ciascun registro a scorrimento è anche collegato a un condensatore da 0,1 uF collegato a massa.

Nota: le uscite di ciascun registro a scorrimento sono elencate da QA a QH (ignora QH*). Sono elencati in termini dal bit meno significativo (LSB) (per QA) al bit più significativo (MSB) (per QH), ovvero QA controllerà la riga o colonna 0, ecc.

Passaggio 3: Passaggio 3: caricamento del codice

Il codice per controllare la matrice LED è allegato a questo tutorial. Ho cercato di commentare il più possibile il codice in modo che fosse molto chiaro come funziona il programma. La base principale del programma è che c'è una matrice che tiene traccia di quali LED dovrebbero essere accesi o spenti. Per far visualizzare correttamente i vari LED senza accendere accidentalmente diodi indesiderati è necessario utilizzare un concetto chiamato multiplexing. Il multiplexing consiste essenzialmente nell'accendere i singoli LED in una riga particolare mentre tutti gli altri LED in altre righe, quindi fare lo stesso per le righe rimanenti. Il trucco è che se i LED passano attraverso le file abbastanza velocemente, i tuoi occhi possono dire che le singole file vengono accese una alla volta. Se desideri esplorare altri modi in cui puoi ingannare i tuoi occhi con i LED, potresti voler esaminare il concetto di persistenza della visione (facilmente ricercabile su Google o Instructables).

Il modo in cui vengono aggiornate le colonne dell'anodo e le righe del catodo avviene tramite una funzione definita dall'utente chiamata 'UpdateShiftRegisters'. Questa funzione prima trasforma il pin latch, che controlla se un nuovo byte (8 bit) viene inviato all'uscita, basso, quindi non sono possibili modifiche alle uscite mentre i nuovi bit vengono scritti sul chip. Quindi, utilizzando una funzione Arduino integrata chiamata "ShiftOut", che gestisce specificamente l'invio di dati ai registri a scorrimento, il programma scrive qualsiasi riga (catodo) sarebbe bassa e quale colonna (anodo) dovrebbe essere alta. Infine, il perno di chiusura viene tirato in alto in modo da aggiornare l'uscita (i LED).

Passaggio 4: informazioni/risorse aggiuntive

Di seguito sono riportati alcuni collegamenti a siti Web o libri che possono fornire ulteriori informazioni su questo progetto:

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

www.arduino.cc/it/tutorial/ShiftOut

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

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

www.youtube.com/watch?v=VxMV6wGS3NY

Primi passi con Arduino, 2a edizione di Massimo Banzi

Consigliato: