Sommario:
- Forniture
- Passaggio 1: Passaggio 1: Realizzazione di una matrice LED
- Passaggio 2: Passaggio 2: Cablaggio dei pulsanti e dei registri a scorrimento
- Passaggio 3: Passaggio 3: caricamento del codice
- Passaggio 4: informazioni/risorse aggiuntive
Video: Matrice LED a pulsante: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
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
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
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:
Interruttore LED semplice pulsante moneta (utilizzando il peso): 8 passaggi
Interruttore LED pulsante moneta semplice (utilizzando il peso): questo è un interruttore pulsante moneta relativamente semplice da eseguire. Quando si applica un peso ai conduttori del morsetto, la forza verso il basso accende i LED
FPGA Cyclone IV DueProLogic - Pulsante e LED: 5 passaggi
FPGA Cyclone IV DueProLogic - Pulsante e LED: In questo tutorial, utilizzeremo l'FPGA per controllare il circuito LED esterno. Implementeremo le seguenti attività (A) Utilizzare i pulsanti su FPGA Cyclone IV DuePrologic per controllare il LED. (B) Flash LED acceso & off periodicamenteVideo demo Lab
LED pulsante utilizzando un timer 555 e potenziometri: 4 passaggi
LED pulsante che utilizza un timer e potenziometri 555: saluti! Per prima cosa abbiamo avuto l'idea per questo progetto da
LED lampeggiante {pulsante controllato}: 5 passaggi
LED lampeggiante {pulsante controllato}: sono uno studente a Kang Chiao. Questo è il mio progetto, uso Arduino e ho realizzato una luce lampeggiante a led con un pulsante che può farla lampeggiare. Puoi metterlo sul tuo panno e quando alcune persone sono troppo vicine a te, puoi premere il pulsante e la lampadina wi
Microcontrollore AVR. Attiva/disattiva i LED utilizzando un interruttore a pulsante. Pulsante antirimbalzo: 4 passaggi
Microcontrollore AVR. Attiva/disattiva i LED utilizzando un interruttore a pulsante. Push Button Debouncing.: In questa sezione, impareremo come creare un codice C del programma per ATMega328PU per alternare lo stato dei tre LED in base all'input da un interruttore a pulsante. Inoltre, abbiamo esplorato una soluzione al problema di "Switch Bounce". Come di consueto, vi