Arduino LilyPad – lezione 03: controlliamo l’accensione di un led con un pulsante

Questa lezione ha lo scopo di realizzare un sistema che rilevi il cambiamento di stato e per far ciò costruiremo un rudimentale pulsante con due fili alle cui estremità vi sono delle pinzette a coccodrillo, quando i due fili saranno collegati, vorrà dire che il pulsante è chiuso, quando i due fili saranno scollegati il pulsante sarà aperto.

Per questo esperimento utilizzeremo due connettori alle cui estremità sono collegati dei morsetti a coccodrillo, prima di procedere vi consiglio di ritagliare una cartoncino di forma circolare con stesse dimensioni di LilyPad, ciò eviterà che le pinzette scivolino e che grattino la base inferiore isolata della scheda.

Passo 1

avrete bisogno di:

  • un cartoncino
  • una matita
  • un paio di forbici

tracciate una circonferenza prendendo come riferimento LilyPad

Passo 2

ritagliate lungo il bordo, fate in modo che la circonferenza tagliata sia leggermente più grande.

Passo 3

In questo modo il morsetto a coccodrillo dovrebbe avere una presa sicura senza il pericolo di scivolare e buon contatto elettrico.



Procedete allo stesso modo per i sensori e gli attuatori che collegherete a LilyPad mediante le pinzette a coccodrillo, anche per essi ritagliate dei cartoncini anti scivolamento.

Programmazione

Passo 1

Collegate un coccodrillo nero al morsetto negativo (indicato con -) ed il coccodrillo bianco al morsetto digitale 2, come indicato nell’immagine:

Quando collegate i due coccodrilli insieme vorrà dire che chiudete il circuito (interruttore chiuso) ed elettricamente vuol dire che collegate il pin digitale 2 direttamente a terra o “-“.

Vi ricordo che in Arduino “-” vuol dire “terra” e in Processing viene rappresentato con “LOW”, mentre “+” o “+5V” e in Processing  viene indicato con “HIGH”.

Passo 2

copiate il codice che segue in una finestra vuota:

int ledPin = 13;	                    // il LED e' connesso al pin digitale 13
int switchPin = 2;	                    // switch e' connesso al pin digitale 2
int switchValue;	                    // una variabile che tiene traccia quando il pulsante viene premuto

void setup()
{
  pinMode(ledPin, OUTPUT);	            // ledPin viene definito come pin di output
  pinMode(switchPin, INPUT);	            // switchPin viene definito come pin di input
  digitalWrite(switchPin, HIGH);            // poniamo di default switchPin ad HIGH (non premuto)
}	 

void loop()                                 // loop del programma
{
  switchValue = digitalRead(switchPin);	    // verifica se il pulsante e' premuto
  if (switchValue == LOW) {	            // se il pulsante e' premuto allora,
    digitalWrite(ledPin, HIGH);	            // accende il LED
  }
  else {	                            // altrimenti,
    digitalWrite(ledPin, LOW);	            // il led viene spento
  }
}

All’interno del loop:

viene memorizzato lo stato del pulsante in switchValue con

switchValue = digitalRead(switchPin);

Se il pulsante non è premuto switchValue assumerà il valore assegnato nel setup():

digitalWrite(switchPin, HIGH);

Poiché il circuito non è chiuso verso terra il LED rimarrà spento.

La condizione dell’IF:

..(switchValue == LOW)..

non risulta vera e quindi sarà eseguita la parte else dell’IF

digitalWrite(ledPin, LOW);

cioè il LED risulterà spento.

Se colleghiamo i coccodrilli, switchValue assumerà il valore “LOW” in quanto collegato direttamente alla terra (morsetto nero) e la condizione dell’IF

if (switchValue == LOW)

risulterà verà e quindi sarà eseguita la parte del codice:

digitalWrite(ledPin, HIGH);

e quindi il LED verrà acceso.

Bene! avete realizzato il vostro secondo scketch per LilyPad.

Nelle successive lezioni vedremo come collegare altri sensori ed attuatori a LilyPad.

Questa voce è stata pubblicata in arduino e contrassegnata con , , , , . Contrassegna il permalink.

3 risposte a Arduino LilyPad – lezione 03: controlliamo l’accensione di un led con un pulsante

  1. fabio scrive:

    Grazie mille dei tutorial che pubblica e per favore non smetta mai di scriverli.
    Invidio i suoi studenti…

  2. cristian scrive:

    salve, e se volessi con un pulsante dare lo start o stop allo sketch che fa funzionare un led rgb? come dovrei fare?
    Ho guardato in giro ma non riesco a capire bene, mi sto dilettando da poco con arduino.
    Grazie mille e complimenti per l’ottimo sito da cui ho preso già spunto per altri lavori.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.