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.

Grazie mille dei tutorial che pubblica e per favore non smetta mai di scriverli.
Invidio i suoi studenti…
Grazie Fabio, sei molto gentile.
Un caro saluto.
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.