Come collegare un LED a una scheda Arduino
La piattaforma Arduino è enormemente popolare in tutto il mondo. È lo strumento ideale per i primi passi nell'apprendimento della programmazione e del controllo dell'hardware. Man mano che le vostre abilità crescono, potete aumentare l'architettura aggiungendo schede periferiche e creare sistemi più complessi che eseguono programmi più complessi. Le schede Arduino Uno e Arduino Nano sono adatte alla formazione iniziale. Useremo queste schede come esempio per collegare un LED ad Arduino.
Cos'è Arduino Uno e Arduino Nano?
La base della scheda Arduino Uno è il microcontrollore ATmega328. Ci sono anche elementi aggiuntivi su di esso:
- un risonatore di quarzo;
- pulsante di reset;
- Connettore USB;
- regolatore di tensione integrato;
- connettore di alimentazione;
- Diversi LED per l'indicazione della modalità;
- Chip di comunicazione USB;
- Connettore di programmazione on-chip;
- Diversi altri elementi attivi e passivi.
Tutto questo permette di fare i primi passi senza usare un saldatore ed evitare il passo di fare un circuito. L'unità è alimentata da un'alimentazione esterna di 7...12V o tramite una connessione USB. Collega anche il modulo a un PC per caricare lo sketch. La scheda ha un'alimentazione a 3,3V per i dispositivi esterni. Ci sono 6, 14 uscite digitali di uso generale disponibili per il funzionamento. La capacità di carico dell'uscita digitale quando è alimentata da 5 V è di 40 mA. Questo significa che un LED può essere collegato direttamente ad esso tramite un resistenza di limitazione.
La scheda Arduino Nano è pienamente compatibile con la Uno, ma è più piccola e ha alcune differenze e semplificazioni come mostrato nella tabella.
Il consiglio | Controller | Connettore per alimentazione esterna | Chip di comunicazione USB | Connettore USB |
---|---|---|---|---|
Arduino Uno | ATmega328 | Controlla | ATmega8U2 | USB A-B |
Arduino Nano | ATmega328 | No | FT232RL | micro USB |
Le differenze non sono fondamentali e non sono importanti per l'argomento di questa recensione.
Cosa ti serve per collegare il LED alla scheda Arduino
Ci sono due opzioni per collegare il LED. Ai fini dell'apprendimento si può scegliere l'uno o l'altro.
- Utilizzare il LED incorporato. In questo caso, non è necessario nient'altro a parte un cavo per il collegamento a un PC via USB - per l'alimentazione e la programmazione. Non ha senso usare un alimentatore esterno per alimentare la scheda: il consumo di corrente è basso.Un cavo USB A-B per collegare Arduino Uno al PC.
- Collegare i LED esterni. Avrete inoltre bisogno di quanto segue:
- Il LED stesso;
- una resistenza di limitazione della corrente da 0,25W (o più) con un valore di 250-1000 ohm (a seconda del LED);
- Fili e un saldatore per collegare il circuito esterno.
I LED sono collegati con il catodo a qualsiasi pin digitale del microcontrollore, con l'anodo al filo comune tramite una resistenza ballast. Un'alimentazione addizionale può anche essere necessaria se il numero di LED è alto.
È possibile collegare più LED a un pin
Potrebbe essere necessario collegare un LED esterno o un gruppo di LED a uno qualsiasi dei pin. La capacità di carico di un pin del microcontrollore, come detto, è piccola. Uno o due LED con un consumo di corrente di 15mA possono essere collegati direttamente in parallelo ad esso. Non è una buona idea testare la sopravvivenza di un perno con un carico al limite della sua capacità o oltre. Un interruttore basato su transistor (di campo o bipolare) è una scelta migliore. (campo o bipolare).
Resistore R1 deve essere scelto in modo che la corrente che lo attraversa non superi la capacità di trasporto di corrente dell'uscita. È meglio prendere la metà o meno del massimo. Quindi, per impostare una corrente moderata di 10 mA.la resistenza a 5 volt di alimentazione dovrebbe essere 500 Ohm..
Ogni LED dovrebbe avere la sua propria resistenza di alimentazione, sostituirla con una resistenza comune non è auspicabile. La Rbal dovrebbe essere scelta in modo da impostare la corrente di funzionamento attraverso ogni LED. Così, per una tensione di alimentazione di 5 volt e una corrente di 20 mAla resistenza dovrebbe essere di 250 ohm o il valore standard più vicino.
Bisogna fare attenzione che la corrente totale attraverso il collettore del transistor non superi il suo valore massimo. Per esempio, per un transistor KT3102, il massimo Ik dovrebbe essere limitato a 100 mA. Questo significa che non si possono collegare più di 6 LED con una corrente di 15 mA. Se questo non è sufficiente, bisogna usare un interruttore più forte. Questa è l'unica limitazione per la scelta di un transistor n-p-n in un tale circuito. Teoricamente il guadagno del triodo dovrebbe essere preso in considerazione, ma per le condizioni date (corrente d'ingresso 10mA, uscita 100mA) dovrebbe essere almeno 10. Questo h21e può essere prodotto da qualsiasi transistor moderno.
Questo circuito non è solo adatto a potenziare l'uscita del microcontrollore. In questo modo si possono collegare attuatori sufficientemente potenti (relè, solenoidi, motori elettrici) alimentati da una tensione superiore (per esempio 12 volt). Quando si calcola, prendere il valore di tensione appropriato.
È anche possibile utilizzare Transistor MOSFETma potrebbero richiedere una tensione più alta per aprirsi di quella che l'uscita di Arduino può fornire. In questo caso, si devono prevedere circuiti ed elementi supplementari. Per evitare questo dovreste usare i cosiddetti transistor a effetto di campo "digitali" - hanno bisogno solo di 5 5 volt per aprire. Ma sono meno comuni.
Controllo software dei LED
Collegare semplicemente un LED all'uscita del microcontrollore non fa molto. Devi imparare a controllare il LED da Arduino in modo programmatico. Potete farlo con il linguaggio Arduino che è basato sul C (C). Questo linguaggio di programmazione è un adattamento del C per la formazione iniziale. Una volta imparato, il passaggio al C++ non sarà difficile. Per scrivere sketch (è così che si chiamano i programmi per Arduino) e debuggarli dal vivo, si dovrebbe fare quanto segue:
- installare l'ambiente Arduino IDE sul personal computer;
- potrebbe essere necessario installare il driver per il chip di comunicazione USB;
- collegare la scheda al PC con un cavo USB-microUSB.
I simulatori di computer possono essere utilizzati per il debug di programmi e circuiti semplici. Per esempio, Proteus (dalla versione 8 in poi) supporta la simulazione di schede Arduino Uno e Nano. La comodità del simulatore è che è impossibile disattivare l'hardware se il circuito è assemblato in modo sbagliato.
Lo schema consiste in due moduli:
- setup - viene eseguito una volta all'avvio del programma e inizializza le variabili e i modi del ferro;
- loop - gira ciclicamente dopo il setup fino all'infinito.
Per LED Uno qualsiasi dei 14 pin liberi, spesso chiamati erroneamente porte, può essere usato per collegare il LED. Una porta è in realtà, semplicisticamente parlando, un gruppo di pin. La spilla è solo un elemento.
Un esempio di controllo è considerato per il pin 13 - un LED è già collegato ad esso sulla scheda (tramite un amplificatore ripetitore sulla scheda Uno, tramite una resistenza sulla scheda Nano). Per lavorare con il pin della porta dovete configurarlo in modalità di ingresso o di uscita. Questo è comodo da fare nel corpo del setup, ma non necessario - l'assegnazione dei pin può essere cambiata dinamicamente. Significa che durante l'esecuzione del programma la porta può funzionare per l'ingresso o l'uscita.
L'inizializzazione del pin 13 di Arduino (pin PB5 della porta B dell'ATmega 328) si presenta come segue:
void setup ()
{
pinMode (13, Output);
}
Dopo aver eseguito questo comando, il pin 13 della scheda funzionerà in modalità di uscita e per default avrà un livello logico basso. Potete scriverci zero o uno durante l'esecuzione del programma. Scriverne uno assomiglia a questo:
vuoto loop ()
{
digitalWrite (13, HIGH);
}
Il pin 13 della scheda sarà ora impostato su un livello alto, un livello logico, e può essere usato per accendere il LED.
Per spegnere il LED, l'uscita deve essere impostata su zero:
digitalWrite (13, LOW);
Scrivendo alternativamente uno e zero ai bit corrispondenti del registro della porta si possono controllare i dispositivi esterni.
Ora possiamo complicare il programma Arduino per controllare il LED e imparare a far lampeggiare l'elemento che emette luce:
void setup ()
{
pinMode (13, Output);
}
vuoto loop ()
{
digitalWrite (13, HIGH);
ritardo(1000);
digitalWrite (13, LOW);
ritardo(1000);
}
Comando ritardo(1000) crea un ritardo di 1000 millisecondi o un secondo. Cambiando questo valore si può cambiare la frequenza o la frequenza di lampeggio del LED. Se si collega un LED esterno a un pin diverso della scheda, è anche necessario specificare il numero del pin selezionato invece di 13 nel programma.
Consigliamo una serie di video per chiarezza.
Una volta che avete padroneggiato i collegamenti dei LED ad Arduino e avete imparato a controllarli, potete passare al livello successivo e scrivere altri programmi più complessi. Per esempio, puoi imparare a commutare due o più LED con un pulsante, cambiare la frequenza di lampeggio con un potenziometro esterno, regolare la luminosità del bagliore con PWM, o cambiare il colore di un emettitore RGB. Il livello di sfida è limitato solo dall'immaginazione.