Lezione sui sensori
Per misurare la luminosità di un ambiente usiamo il fotoresistore che varia la resistenza in base alla quantità di luce.
Lezione sui sensori
Per misurare la luminosità di un ambiente usiamo il fotoresistore che varia la resistenza in base alla quantità di luce.
#define LED 3 #define SENSORE A0 void setup() { pinMode(LED, OUTPUT); pinMode(SENSORE, INPUT); Serial.begin(9600); } void loop() { int luce = analogRead(SENSORE) / 4; digitalWrite(LED, luce); Serial.println(luce); }
#define LED 3 #define SENSORE A0 void setup() { pinMode(LED, OUTPUT); pinMode(SENSORE, INPUT); Serial.begin(9600); } void loop() { int luce = analogRead(SENSORE) / 4; digitalWrite(LED, luce); Serial.println(luce); }
Per misurare la temperatura useremo il sensore TMP36 permette di acquisire temperature comprese nell’intervallo tra -40°C e +125°C restituendo in uscita valori di tensione lineari tra circa 0.1Vdc e 1.7Vdc.
#define TEMP A0 void setup() { pinMode(TEMP, INPUT); Serial.begin(9600); } void loop() { int temperatura = analogRead(TEMP); temperatura = ((temperatura * 0.00488) - 0.5) / 0.01; Serial.println(temperatura); }
#define TEMP A0 void setup() { pinMode(TEMP, INPUT); Serial.begin(9600); } void loop() { int temperatura = analogRead(TEMP); temperatura = ((temperatura * 0.00488) - 0.5) / 0.01; Serial.println(temperatura); }
Il sensore non ci da direttamente la misura della distanza dell’oggetto, ma lo si utilizza per emettere un treno di impulsi ad ultrasuoni. Gli impulsi sonori saranno propagati nell’ambiente circostante e, se incontrano uno ostacolo, torneranno indietro verso il sensore che li ha emessi. Per calcolare la distanza basterà fare la velocità del suono (343 m/s) per il tempo trascorso
#define pinTrigger 11 #define pinEcho 12 void setup() { pinMode(pinTrigger, OUTPUT); pinMode(pinEcho, INPUT); Serial.begin(9600); } void loop() { digitalWrite(pinTrigger, LOW); digitalWrite(pinTrigger, HIGH); delayMicroseconds(10); digitalWrite(pinTrigger, LOW); float durata = pulseIn(pinEcho, HIGH); float distanza = durata / 58.31; Serial.print("distanza: "); if( durata > 38000 ){ Serial.println("Fuori portata"); } else{ Serial.print(distanza); Serial.println(" cm"); } delay(100); }
#define pinTrigger 11 #define pinEcho 12 void setup() { pinMode(pinTrigger, OUTPUT); pinMode(pinEcho, INPUT); Serial.begin(9600); } void loop() { digitalWrite(pinTrigger, LOW); digitalWrite(pinTrigger, HIGH); delayMicroseconds(10); digitalWrite(pinTrigger, LOW); float durata = pulseIn(pinEcho, HIGH); float distanza = durata / 58.31; Serial.print("distanza: "); if( durata > 38000 ){ Serial.println("Fuori portata"); } else{ Serial.print(distanza); Serial.println(" cm"); } delay(100); }