In questa lezione vi mostrerò come utilizzare il sensore luminoso: LilyPad Light Sensor acquistato presso SparkFun.
Passo 1
Come per le lezioni precedenti utilizziamo un cartocino di forma circolare per proteggere il circuito e per aumentare la presa dei morsetti a coccodrillo.
Passo 2
Collegate come rappresentato nell’immagine il + del sensore luminoso a al + di LilyPad, il – del sensore luminoso al – di LilyPad e il piedino S del sensore al piedino A0 di LilyPad:
Passo 3
Avviate l’IDE Arduino
Passo 4
Copiate il codice allegato all’interno di una nuova finestra dell’IDE.
/* Arduino LilyPad: lezione 05: sensore di luce * Uso del modulo LilyPad Light Sensor * Michele Maffucci * https://www.maffucci.it/ * Progetto originale: * http://web.media.mit.edu/~leah/LilyPad/08_sensors.html */ int ledPin = 13; // il LED e' collegato al pin digitale 13 int sensorPin = 0; // il sensore di luce e connesso al piedino analogico 0 int sensorValue; // variabile per memorizzare il valore rilevato dal sensore void setup() { pinMode(ledPin, OUTPUT); // imposta ledPin come pin di output Serial.begin(9600); //inizializza la porta seriale digitalWrite(ledPin, HIGH); // accende il LED } void loop() { sensorValue = analogRead(sensorPin); // legge il valore dal sensore Serial.println(sensorValue); // invia il valore al computer delay(100); // ritardo di 1/10 di secondo }
Passo 5
Chiarimenti sul codice.
Vi ricordo che con l’istruzione:
Serial.begin(9600);
apriamo la porta seriale USB e la inizializziamo a 9600 bps.
Per una spiegazione esaustiva dell’utilizzo del “Serial monitor” vi invito alla lettura della lezione: Arduino – lezione 04: realizzare un programma che identifica le variazioni di stato
Sempre nella lezione sopra indicata potete trovare dettagli sull’uso di:
Serial.println(sensorValue);
stampa sulla console di uscita il testo o il valore specificato tra parentesi:
Serial.print(78) stampa “78″
Serial.print(1.23456) stampa “1.23″
Serial.print(byte(78)) stampa “N” (il cui valore ASCII e’ 78)
Serial.print(‘N’) stampa “N”
Serial.print(“Hello world.”) stampa “Hello world.”
nel nostro caso “Serial.print(sensorValue);” stamperà sulla console di uscita il valore memorizzato nella variabile “sensorValue“.
Ricordo inoltre, come spiegato nella lezione: Arduino – lezione 02: facciamo lampeggiare un led
delay() è un’istruzione molto semplice che non fa altro che interrompere per un determinato tempo l’esecuzione del programma.
L’istruzione ha un solo argomento numerico che indica il numero di millisecondi di attesa.
Quindi “delay(100)” vuol dire 100 millisecondi,
cioè 100/1000 secondi
ovvero 1/10 di secondo.
Passo 6
Compilate il codice ed effettuate l’upload su LilyPad, aprite la console di uscita:
Non appena il LED si accende su LilyPad, si vedranno i valori del sensore comparire nella console di uscita e l’intervallo di valori oscillerà tra 0 (buio assoluto) a 1024 (luce piena):
Scusi una informazione per favore.
E’ possibile collegare Lillypad al web con un connettore ethernet?
Grazie in anmticipo!
Ciao Alessandro.
Scusa per il ritardo nella risposta,
periodo intenso di lavoro e solo adesso sto riprendendo in mano i corsi e le lezioni sul mio blog.
Si è possibile collegare LilyPad al web, credo che tu possa riuscirci con la seguente scheda: WiFly GSX 802.11b/g Serial Module – Roving Networks
Poiché l’argomento mi interessa parecchio ne farò anche io una ricerca, se ho novità ti informo.
Saluti.
hai novità? grazie
Ciao Alessandro.
Si sto concludendo due lezioni, in cui spiego come collegare altri sensori a LilyPad, spero di poter terminare in questi giorni di calma lavorativa.
Un caro saluto.