Pilotare un diodo LED con Arduino
Quando la porta prescelta di Arduino si utilizza per pilotare un LED occorre sapere che:
1) non si collega mai un LED al pin senza un resistore limitatore di corrente posto in serie; vedi articolo.
2) è irrilevante porre il LED sopra o sotto il resistore, devono solo essere in serie
3) fare riferimento a due possibili collegamenti: output source e output sink
in questa modalità il LED (assieme al suo resistore in serie) è collegato fra una alimentazione (anche la stessa che alimenta Arduino) ed il pin output
- (disegno a destra) se output è alto, cioè è a 5V, non può circolare corrente ed il LED è spento (nota 1)
- (disegno a sinistra) se ouput è basso, cioè è a 0V, circola corrente proveniente dalla batteria ed il LED è acceso
Note
la logica è invertita
ciascun pin ammette una sink current massima di 40 mA
ground ammette una corrente totale di 200 mA (somma delle current sink di tutti i pin) per ciascun pin ground
questo tipo di collegamento è conveniente se si deve alimentare il circuito in uscita a tensione diversa dai 5V forniti dalla scheda Arduino
I comandi sono:
con Arduino
digitalWrite(pin, HIGH); il LED è spento
digitalWrite(pin, LOW); il LED è acceso
con S4A
digital __on il LED è spento
digital__off il LED è acceso
in questa modalità il LED (assieme al suo resistore in serie) è collegato fra ouput e massa
- (disegno a sinistra) se output è alto, cioè è a 5V, circola corrente verso massa ed il LED è acceso
- (disegno a destra) se ouput è basso, cioè è a 0V, non può circolare corrente ed il LED è spento
Note
la logica è diretta
ciascun pin ammette una source current massima di 40 mA
il pin 5V ammette una corrente totale di 200 mA (somma delle current source di tutti i pin)
questo tipo di collegamento è conveniente se si deve avere un potenziale a massa per le uscite
I comandi sono:
con Arduino
digitalWrite(pin, HIGH); il LED è acceso
digitalWrite(pin, LOW); il LED è spento
la logica è diretta
con S4A
digital __on il LED è acceso
digital__off il LED è spento
note
nota 1: se è alto vuol solo dire che il pin di output è alla tensione di alimentazione della scheda Arduino = 5V, se la Vbatt = 5V non circola corrente ma se è maggiore di 5V potrebbe circolare corrente salvo il fatto che l'interruttore Tu è in realtà un transistor MOSFET che non ammette correnti inverse per la presenza di un diodo nella struttura del transistor ... a meno che la tensione inversa non sia di valore così alto da essere insostenibile per il transistor