«

»

Giu 11

Stampa Articolo

Un semaforo con Arduino e i led

In passato ho dedicato un articolo agli appassionati di plastici ferroviari come il mio amico Luca. Il plastico ferroviario o di altra natura oltre ad essere diventato famoso per la trasmissione Porta a Porta di Vespa è il gioco per bambini cresciuti.

Semaforo a led

Da bambino ho visto realizzare dei plastici bellissimi a mio padre che con la scusa di farli per noi si divertiva prima di tutti. Con i trenini poi ci abbiamo giocato tutti e negli anni la moda di costruire i plastici ferroviari è stata un cavallo di battaglia intramontabile per grandi case modellistiche.

Ma l’idea di questo articolo mi è venuta durante l’ultima fiera di elettronica in cui girovagando tra i banchi di vendita mi sono imbattuto in questo articolo:

componenti del semaforo a led

sono delle barrette da 4 led bicolori, a cosa servono? non lo so proprio se tu lo sai puoi scrivermelo, alla loro vista l’idea di realizzare un semaforo per plastico mi ha assalito ed ecco che ne ho acquistate 4 per 4 €, ovviamente puoi autocostruirle, non è nulla di impossibile.

Sono 4 led collegati ad 8 pin, 2 pin per ciascun led, essendo bicolori l’effetto è che se ciascun led applichi positivo e negativo in un verso ottieni l’illuminazione di un colore ( verde o rosso ) se inverti l’alimentazione ottieni l’altro colore, è più difficile spiegarlo che farli funzionare.

Io ho deciso di utilizzare solo i primi 2 led in alto, non avevo abbastanza fili per collegare tutti e 8 i led, ovviamente è più divertente se li usi a due a due, ponticellando i pin in linea del primo e del secondo e facendo lo stesso con il terzo e quarto. Se riesco nei prossimi giorni eseguo le saldature e ti mostro cosa intendo.

Lista del materiale

  • Arduino Uno o Duemilanove
  • 1 breadboard per i collegamenti
  • 2 barrette da 4 led bicolore ciascuna
  • 12 cavetti di connessione alla Breadboard
  • 2 resistenze da 330Ω o 470Ω

Intanto concentrati solo i primi 2 led in alto a ciascuna barretta e considera di voler accendere il led più in alto rosso ed il secondo in verde, ecco come puoi eseguire i collegamenti con Arduino:

semaforo per plastici

Sembra complesso ma se osservi bene i collegamenti non devi far altro che collegare i led il diagonale in modo che la massa del led rosso in alto a sinistra sia connessa alla massa del led verde in basso a destra e allo stesso modo per i terminali positivi e per tutti gli altri led.

Puoi complicare l’esperimento introducendo altre barrette per poter gestire altri incroci e non solo uno come in questo caso, ma questo potrebbe essere l’oggetto di un prossimo articolo.

Passa allo sketch:

/*
 * Semaforo per il plastico
 * @autor Alfieri Mauro
 * Twitter: @mauroalfieri
 *
 * http://www.mauroalfieri.it
 */

 int pinPosG = 2;
 int pinPosR = 3;

 void setup()
 {
  pinMode(pinPosG, OUTPUT);
  pinMode(pinPosR, OUTPUT);
 }

 void loop()
 {
   digitalWrite( pinPosG, LOW);
   digitalWrite( pinPosR, HIGH);

   delay( 2000 );

   digitalWrite( pinPosG, HIGH);
   digitalWrite( pinPosR, LOW);

   delay( 2000 );

 }

Dovresti trovarlo molto semplice, giusto due precisazioni: i pin a cui ho collegato i led fanno riferimento ai due led di sinistra per semplicità per questo li ho chiamati:

  • pinPosG ( pin Positivo Verde )
  • pinPosR ( pin Positivo Rosso )

In pratica il funzionamento del tutto si basa sul tipo di connessione a incrocio tra i led che puoi vedere nello schema sopra, quando l’uscita positiva del led rosso a sinistra è HIGH si accenderà sia il led rosso in alto a sinistra sia il led verde in basso a destra; viceversa quando porterai alta l’uscita positiva del led verde in basso a sinistra si accenderà anche il led rosso in alto a destra.

In questa configurazione i pin negativi sono connessi a massa passando da una resistenza da 330Ω, sono separati i due terminali negativi tra loro in quanto essendo led bicolore il cui colore è determinato dall’inversione del positivo con il negativo, collegandoli tutti assieme ottieni che tutti e 4 i led si accendano all’unisono non realizzando più l’effetto semaforo.

Tornando allo sketch:

linee 09-10: definisci i pin a cui hai collegato il terminale positivo del led;

linee 14-15: all’interno della funzione setup() imposta la modalità di funzionamento dei pin, ATTENZIONE ho verificato che non impostando tale modalità l’accensione dei led è impercettibile al limite dell’invisibilità e ti sembra che i led non siano accesi e non funzioni nulla;

linea 20: mantieni a LOW il valore digitale inviato al positivo Verde;

linea 21: porta a livello HIGH il valore digitale inviato al positivo Rosso;

in questa condizione il semaforo a sinistra mostra il verde ed il semaforo a destra il rosso.

linea 23: attendi 2 sec ( 2000 millisecondi ) prima di invertire lo stato di accensione dei led;

linee 25-26: inverti il segnale sui pin positivi dei rispettivi colori rispetto alle linee 20 e 21;

linea 28: attendi un tempo di 2000 millisecondi prima di ricominciare il ciclo di loop();

Ecco un video di cosa accade dopo aver caricato lo sketch su Arduino:

Potresti non voler un tempo di attesa di 2 secondi tra un passaggio ed il successivo, ti suggerisco di provare cosa accade variando i tempi delle linee 23 e 28, e cosa accade se i tempi non sono uguali, ti do una anticipazione il traffico potrebbe non essere regolare in tutte le direzioni 🙂

Buon divertimento.

Permalink link a questo articolo: http://www.mauroalfieri.it/elettronica/un-semaforo-con-arduino-e-i-led.html

1 ping

  1. Passaggio a livello per plastici con Arduino Mauro Alfieri Elettronica

    […] Se hai seguito i miei articoli sai che ai plastici ferroviari ho dedicato già l’articolo: Il plastico di Davide e Luca e successivamente un articolo dal titolo: Un semaforo con Arduino e i led. […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>