SlideShare une entreprise Scribd logo
1  sur  12
ARDUINO eserc. n° 3
Controllo di temperatura
Schema a blocchi
Input: sensore di
INPUT: sensore
di temperatura
Scheda Arduino Output: 3 LED
Schema elettrico
Schema di montaggio
Componenti
• INPUT:
Sensore di temperatura LM35
(cercare e scaricare data sheet di
TMP35, TMP36, TMP37 analog device (pdf) ed
anche di LM35 (National Semiconductor)
• OUTPUT: 3 LED e 3 resistenze da 220
R = (VAL – VD)/ I con I media di circa 15 mA
VAL di 5 V e VD a seconda del colore del LED
Parametri del sensore LM35DZ
Package fornitore TOP-92
Funzione Sensore di temperatura
Pin Count 3
Precisione (accuracy) +/-
Sensibilità (K in mV/°C)
Temperature massima
Temperatura minima
Tensione tipica di funzionamento
Tipo uscita
Esame del data sheet del sensore di
temperatura
• LM35DZ
• V = KT + V0 dove V è la tensione alla temperatura T (°C);
K è la sensibilità di 10 mV / °C ; V0 è la tensione di offset
ovvero il valore di tensione a 0°C.
• offset (OUTPUT)
Componente a 25° a 20° A 0° V0
(offset)
TMP37 500 mV
TMP36 750mV
TMP35 250mV
Pausa per spiegazione della
conversione ADC
• Alla lavagna
Conversione Vanalogico ->Vdigitale (10 bit)
float voltage = (sensorVal/1024.0) * 5.0;
• L’acquisizione del valore di temperatura effettuata dal sensore
va a finire nella variabile sensorVal dopo la lettura del pin
analogico numero 0 e la successiva conversione in 10 digit.
REGOLE della CONVERSIONE: quanto => Q = VF.S. / 2n
• n = 10 numero di bit per campione
• 5V = tensione di fondo scala
Quanto (ampiezza di un livello L.S.B.) Q = VF.S. / 2n = 5/1024
2 10 = 1024 numero di livelli
V = Q* N
dove N (sensorVal) sta per il valore digitale in cui è stato convertito
il valore di temperatura acquisita immagazzinato in sensorVal (n=10 bit)
Tensione di Offset
float temperature = (voltage - .5) * 100;
• Nella variabile voltage è immagazzinato il valore di tensione
analogica
• Nella variabile temperature sarà immagazzinato lo stesso
valore dopo che è stato sottratto l’offset di 500 mV e dopo che
è stato diviso per 100
• float temperature = (voltage - .5) * 100;
– T = (V - 0.5) * 100 la costante è infatti 10 mV /° C
con un offset di 0,5 V (500mV)
• V = K T + Vo T = (V – Vo) / K [1/k = 1/ 0,01 =
100]
Quali variabili?
• Dichiarazione di costanti e inizializzazione
(colleghiamo il sensore di temperatura al pin A0
analogico e valutiamo in 20° la temperatura di
riferimento)
• const int sensorPin = A0;
• const float baselineTemp = 20.0;
• int pinNumber = …;
• int sensorVal;
• float voltage;
• float temperature;
Alcune osservazioni
• Impostare una connessione seriale per visualizzare i valori a 9600
bit/s.
• Utilizzare il monitor per visualizzare i valori delle variabili di
temperatura.
• Pin digitali 2, 3, 4 impostati come OUTPUT ed inizialmente a livello
basso.
• Pin A0 come ingresso analogico.
• Il programma di esempio è calibrato su LM36: effettuare le dovute
modifiche dopo aver analizzato lo skatch.
• Collaudare modifcando a piacere le condizioni di accensione dei 3
LED ( per esempio tutti spenti se la temperatura è minore di quella
ambiente di riferimento presa a 25°, led verde se supera di 10 gradi
o se arriva alla temperatura corporea, giallo se supera di 15 e rosso
se supera di 20)
• /* Arduino Starter Kit example Project 3 - Love-O-Meter */
• const int sensorPin = A0;
• const float baselineTemp = 20.0;
• void setup(){
• Serial.begin(9600);
• for(int pinNumber = 2; pinNumber<5; pinNumber++){
• pinMode(pinNumber,OUTPUT);
• digitalWrite(pinNumber, LOW);
• }
• }
• void loop(){
• int sensorVal = analogRead(sensorPin);
• Serial.print("sensor Value: ");
• Serial.print(sensorVal);
• float voltage = (sensorVal/1024.0) * 5.0;
• Serial.print(", Volts: ");
• Serial.print(voltage);
• Serial.print(", degrees C: ");
• float temperature = (voltage - .5) * 100;
• Serial.println(temperature);
• if(temperature < baselineTemp){
• digitalWrite(2, LOW);
• digitalWrite(3, LOW);
• digitalWrite(4, LOW);
• }
• else if(temperature >= baselineTemp+2 && temperature < baselineTemp+4){
• digitalWrite(2, HIGH);
• digitalWrite(3, LOW);
• digitalWrite(4, LOW);
• }
• else if(temperature >= baselineTemp+4 && temperature < baselineTemp+6){
• digitalWrite(2, HIGH);
• digitalWrite(3, HIGH);
• digitalWrite(4, LOW);
• }
• else if(temperature >= baselineTemp+6){
• digitalWrite(2, HIGH);
• digitalWrite(3, HIGH);
• digitalWrite(4, HIGH);
• }
• delay(1);
• }
• /* Arduino Starter Kit example
• Project 3 - Love-O-Meter */
• // named constant for the pin the sensor is connected to
• // room temperature in Celcius
• // open a serial connection to display values
• // set the LED pins as outputs
• // the for() loop saves some extra coding
• // read the value on AnalogIn pin 0
• // and store it in a variable
• // send the 10-bit sensor value out the serial port
• // convert the ADC reading to voltage
• // Send the voltage level out the Serial port
• // convert the voltage to temperature in degrees C
• // the sensor changes 10 mV per degree
• // the datasheet says there's a 500 mV offset
• // ((volatge - 500mV) times 100)
• // if the current temperature is lower than the baseline
• // turn off all LEDs
• // if the temperature rises 2-4 degrees, turn an LED on
•
• // if the temperature rises 4-6 degrees, turn a second LED on
• // if the temperature rises more than 6 degrees, turn all LEDs on

Contenu connexe

Tendances

Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2
Daniele Costarella
 
Presentazione progetto biomeccatronica
Presentazione progetto biomeccatronicaPresentazione progetto biomeccatronica
Presentazione progetto biomeccatronica
Andrea Fais
 

Tendances (13)

Car accident detector
Car accident detectorCar accident detector
Car accident detector
 
Trasduttori temp e posiz
Trasduttori  temp e posizTrasduttori  temp e posiz
Trasduttori temp e posiz
 
Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2
 
Conversione A/D-D/A e applicazioni nell'ambito musicale
Conversione A/D-D/A e applicazioni nell'ambito musicaleConversione A/D-D/A e applicazioni nell'ambito musicale
Conversione A/D-D/A e applicazioni nell'ambito musicale
 
Relazione tecnica progetto «arduino dht11»
Relazione tecnica progetto «arduino dht11»Relazione tecnica progetto «arduino dht11»
Relazione tecnica progetto «arduino dht11»
 
Conversione A/D
Conversione A/DConversione A/D
Conversione A/D
 
I circuiti sequenziali
I circuiti sequenzialiI circuiti sequenziali
I circuiti sequenziali
 
Presentazione progetto biomeccatronica
Presentazione progetto biomeccatronicaPresentazione progetto biomeccatronica
Presentazione progetto biomeccatronica
 
Newsletter Lika Electronic Dicembre 2015 ITA
Newsletter  Lika Electronic Dicembre 2015 ITANewsletter  Lika Electronic Dicembre 2015 ITA
Newsletter Lika Electronic Dicembre 2015 ITA
 
Convertitori Digitale-Analogico
Convertitori Digitale-AnalogicoConvertitori Digitale-Analogico
Convertitori Digitale-Analogico
 
Circuiti logici combinatori registri flip flop
Circuiti logici combinatori registri flip flopCircuiti logici combinatori registri flip flop
Circuiti logici combinatori registri flip flop
 
Полные кухонные комплекты Spar от компании Stockist.it – Приложение 6
Полные кухонные комплекты Spar от компании Stockist.it – Приложение 6Полные кухонные комплекты Spar от компании Stockist.it – Приложение 6
Полные кухонные комплекты Spar от компании Stockist.it – Приложение 6
 
Domotica per il risparmio energetico
Domotica per il risparmio energeticoDomotica per il risparmio energetico
Domotica per il risparmio energetico
 

Similaire à Arduino 3

Design of programmable medical devices_Teamwork
Design of programmable medical devices_TeamworkDesign of programmable medical devices_Teamwork
Design of programmable medical devices_Teamwork
Antonella Zito
 

Similaire à Arduino 3 (20)

Telemetria dei parametri dinamici di un drone marino paolo ferrara
Telemetria dei parametri dinamici di un drone marino paolo ferraraTelemetria dei parametri dinamici di un drone marino paolo ferrara
Telemetria dei parametri dinamici di un drone marino paolo ferrara
 
Progetto in Spice
Progetto in SpiceProgetto in Spice
Progetto in Spice
 
Workshop Arduino by Fiore Basile
Workshop Arduino by Fiore BasileWorkshop Arduino by Fiore Basile
Workshop Arduino by Fiore Basile
 
I sensori ovvero come le Cose comunicano con le Cose
I sensori ovvero come le Cose comunicano con le CoseI sensori ovvero come le Cose comunicano con le Cose
I sensori ovvero come le Cose comunicano con le Cose
 
An IoT prototype: from ideation to promotion
An IoT prototype: from ideation to promotionAn IoT prototype: from ideation to promotion
An IoT prototype: from ideation to promotion
 
Sensore temperatura pi_giim
Sensore temperatura pi_giimSensore temperatura pi_giim
Sensore temperatura pi_giim
 
Arduino - Le basi per iniziare nel mondo IoT
Arduino - Le basi per iniziare nel mondo IoTArduino - Le basi per iniziare nel mondo IoT
Arduino - Le basi per iniziare nel mondo IoT
 
Con display e pulsanti: sensori di temperatura compatti ad infrarossi di ifm ...
Con display e pulsanti: sensori di temperatura compatti ad infrarossi di ifm ...Con display e pulsanti: sensori di temperatura compatti ad infrarossi di ifm ...
Con display e pulsanti: sensori di temperatura compatti ad infrarossi di ifm ...
 
Arduino base
Arduino baseArduino base
Arduino base
 
Arduino - il mio primo sketch
Arduino - il mio primo sketchArduino - il mio primo sketch
Arduino - il mio primo sketch
 
Progetto ldc
Progetto ldcProgetto ldc
Progetto ldc
 
Design of programmable medical devices_Teamwork
Design of programmable medical devices_TeamworkDesign of programmable medical devices_Teamwork
Design of programmable medical devices_Teamwork
 
Workshop arduino
Workshop arduinoWorkshop arduino
Workshop arduino
 
Fornetti per taratura termocoppie, pt100, termoresistenze - GIGA TECH SRL
Fornetti per taratura termocoppie, pt100, termoresistenze - GIGA TECH SRLFornetti per taratura termocoppie, pt100, termoresistenze - GIGA TECH SRL
Fornetti per taratura termocoppie, pt100, termoresistenze - GIGA TECH SRL
 
Come rendere Arduino professionale
Come rendere Arduino professionaleCome rendere Arduino professionale
Come rendere Arduino professionale
 
Nectogroup caso studio - Dimmer e converter soluzioni integrate
Nectogroup caso studio - Dimmer e converter soluzioni integrateNectogroup caso studio - Dimmer e converter soluzioni integrate
Nectogroup caso studio - Dimmer e converter soluzioni integrate
 
Gsm control
Gsm controlGsm control
Gsm control
 
Studio del limite superiore del tasso di errore nei codici LDPC con relazione...
Studio del limite superiore del tasso di errore nei codici LDPC con relazione...Studio del limite superiore del tasso di errore nei codici LDPC con relazione...
Studio del limite superiore del tasso di errore nei codici LDPC con relazione...
 
Relazione pdbp 2016 gruppo 05 brondino gabetti boscaglia giordano
Relazione pdbp 2016 gruppo 05 brondino gabetti boscaglia giordanoRelazione pdbp 2016 gruppo 05 brondino gabetti boscaglia giordano
Relazione pdbp 2016 gruppo 05 brondino gabetti boscaglia giordano
 
Corso Arduino Base - MUST
Corso Arduino Base - MUSTCorso Arduino Base - MUST
Corso Arduino Base - MUST
 

Plus de Elisa Rubino

Poster 70x100 2014_v2
Poster 70x100 2014_v2Poster 70x100 2014_v2
Poster 70x100 2014_v2
Elisa Rubino
 
Safer internet day_2014_ragazzi
Safer internet day_2014_ragazziSafer internet day_2014_ragazzi
Safer internet day_2014_ragazzi
Elisa Rubino
 
Festival Della Scienza Ge 2010
Festival Della Scienza Ge 2010Festival Della Scienza Ge 2010
Festival Della Scienza Ge 2010
Elisa Rubino
 
Dal Festival Della Scienza reportage in SL
Dal Festival Della Scienza reportage in SLDal Festival Della Scienza reportage in SL
Dal Festival Della Scienza reportage in SL
Elisa Rubino
 

Plus de Elisa Rubino (20)

Project work v1
Project work v1Project work v1
Project work v1
 
Poster 70x100 2014_v2
Poster 70x100 2014_v2Poster 70x100 2014_v2
Poster 70x100 2014_v2
 
Flyer 2014 v2
Flyer 2014 v2Flyer 2014 v2
Flyer 2014 v2
 
Flyer 2014 v2
Flyer 2014 v2Flyer 2014 v2
Flyer 2014 v2
 
Safer internet day_2014_ragazzi
Safer internet day_2014_ragazziSafer internet day_2014_ragazzi
Safer internet day_2014_ragazzi
 
Arduino primo v1
Arduino primo v1Arduino primo v1
Arduino primo v1
 
Working in electronics laboratory in Gastaldi-Abba GE (IT) Comenius v1
Working in electronics laboratory in Gastaldi-Abba GE (IT) Comenius v1Working in electronics laboratory in Gastaldi-Abba GE (IT) Comenius v1
Working in electronics laboratory in Gastaldi-Abba GE (IT) Comenius v1
 
Festival Della Scienza Ge 2010
Festival Della Scienza Ge 2010Festival Della Scienza Ge 2010
Festival Della Scienza Ge 2010
 
Dal Festival Della Scienza reportage in SL
Dal Festival Della Scienza reportage in SLDal Festival Della Scienza reportage in SL
Dal Festival Della Scienza reportage in SL
 
Scienza on the road_Complementi a "Piegare la luce" Premi Nobel per la fisica...
Scienza on the road_Complementi a "Piegare la luce" Premi Nobel per la fisica...Scienza on the road_Complementi a "Piegare la luce" Premi Nobel per la fisica...
Scienza on the road_Complementi a "Piegare la luce" Premi Nobel per la fisica...
 
Scienza on the road_Piegare la luce _Fibre ottiche in SL
Scienza on the road_Piegare la luce _Fibre ottiche in SLScienza on the road_Piegare la luce _Fibre ottiche in SL
Scienza on the road_Piegare la luce _Fibre ottiche in SL
 
33 Slide In inglese
33 Slide In inglese33 Slide In inglese
33 Slide In inglese
 
33 Slide In Italiano
33 Slide In Italiano33 Slide In Italiano
33 Slide In Italiano
 
Sloodle Ud V.1paper
Sloodle Ud V.1paperSloodle Ud V.1paper
Sloodle Ud V.1paper
 
Sloodle at MPTL14 2009 in UDINE (IT) Multi Media Physics Teaching and Learning
Sloodle at MPTL14 2009 in UDINE (IT) Multi Media Physics Teaching and LearningSloodle at MPTL14 2009 in UDINE (IT) Multi Media Physics Teaching and Learning
Sloodle at MPTL14 2009 in UDINE (IT) Multi Media Physics Teaching and Learning
 
Corso Slide Sloodle Italia
Corso Slide Sloodle ItaliaCorso Slide Sloodle Italia
Corso Slide Sloodle Italia
 
Uso di WMM
Uso di  WMMUso di  WMM
Uso di WMM
 
Uso di Fraps
Uso di FrapsUso di Fraps
Uso di Fraps
 
Corso di Machinima: Fraps e WMM
Corso di Machinima: Fraps e WMMCorso di Machinima: Fraps e WMM
Corso di Machinima: Fraps e WMM
 
Corso di video registrazione
Corso di video registrazioneCorso di video registrazione
Corso di video registrazione
 

Dernier

Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
lorenzodemidio01
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
giorgiadeascaniis59
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
lorenzodemidio01
 

Dernier (19)

Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptx
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 

Arduino 3

  • 1. ARDUINO eserc. n° 3 Controllo di temperatura
  • 2. Schema a blocchi Input: sensore di INPUT: sensore di temperatura Scheda Arduino Output: 3 LED
  • 4. Componenti • INPUT: Sensore di temperatura LM35 (cercare e scaricare data sheet di TMP35, TMP36, TMP37 analog device (pdf) ed anche di LM35 (National Semiconductor) • OUTPUT: 3 LED e 3 resistenze da 220 R = (VAL – VD)/ I con I media di circa 15 mA VAL di 5 V e VD a seconda del colore del LED
  • 5. Parametri del sensore LM35DZ Package fornitore TOP-92 Funzione Sensore di temperatura Pin Count 3 Precisione (accuracy) +/- Sensibilità (K in mV/°C) Temperature massima Temperatura minima Tensione tipica di funzionamento Tipo uscita
  • 6. Esame del data sheet del sensore di temperatura • LM35DZ • V = KT + V0 dove V è la tensione alla temperatura T (°C); K è la sensibilità di 10 mV / °C ; V0 è la tensione di offset ovvero il valore di tensione a 0°C. • offset (OUTPUT) Componente a 25° a 20° A 0° V0 (offset) TMP37 500 mV TMP36 750mV TMP35 250mV
  • 7. Pausa per spiegazione della conversione ADC • Alla lavagna
  • 8. Conversione Vanalogico ->Vdigitale (10 bit) float voltage = (sensorVal/1024.0) * 5.0; • L’acquisizione del valore di temperatura effettuata dal sensore va a finire nella variabile sensorVal dopo la lettura del pin analogico numero 0 e la successiva conversione in 10 digit. REGOLE della CONVERSIONE: quanto => Q = VF.S. / 2n • n = 10 numero di bit per campione • 5V = tensione di fondo scala Quanto (ampiezza di un livello L.S.B.) Q = VF.S. / 2n = 5/1024 2 10 = 1024 numero di livelli V = Q* N dove N (sensorVal) sta per il valore digitale in cui è stato convertito il valore di temperatura acquisita immagazzinato in sensorVal (n=10 bit)
  • 9. Tensione di Offset float temperature = (voltage - .5) * 100; • Nella variabile voltage è immagazzinato il valore di tensione analogica • Nella variabile temperature sarà immagazzinato lo stesso valore dopo che è stato sottratto l’offset di 500 mV e dopo che è stato diviso per 100 • float temperature = (voltage - .5) * 100; – T = (V - 0.5) * 100 la costante è infatti 10 mV /° C con un offset di 0,5 V (500mV) • V = K T + Vo T = (V – Vo) / K [1/k = 1/ 0,01 = 100]
  • 10. Quali variabili? • Dichiarazione di costanti e inizializzazione (colleghiamo il sensore di temperatura al pin A0 analogico e valutiamo in 20° la temperatura di riferimento) • const int sensorPin = A0; • const float baselineTemp = 20.0; • int pinNumber = …; • int sensorVal; • float voltage; • float temperature;
  • 11. Alcune osservazioni • Impostare una connessione seriale per visualizzare i valori a 9600 bit/s. • Utilizzare il monitor per visualizzare i valori delle variabili di temperatura. • Pin digitali 2, 3, 4 impostati come OUTPUT ed inizialmente a livello basso. • Pin A0 come ingresso analogico. • Il programma di esempio è calibrato su LM36: effettuare le dovute modifiche dopo aver analizzato lo skatch. • Collaudare modifcando a piacere le condizioni di accensione dei 3 LED ( per esempio tutti spenti se la temperatura è minore di quella ambiente di riferimento presa a 25°, led verde se supera di 10 gradi o se arriva alla temperatura corporea, giallo se supera di 15 e rosso se supera di 20)
  • 12. • /* Arduino Starter Kit example Project 3 - Love-O-Meter */ • const int sensorPin = A0; • const float baselineTemp = 20.0; • void setup(){ • Serial.begin(9600); • for(int pinNumber = 2; pinNumber<5; pinNumber++){ • pinMode(pinNumber,OUTPUT); • digitalWrite(pinNumber, LOW); • } • } • void loop(){ • int sensorVal = analogRead(sensorPin); • Serial.print("sensor Value: "); • Serial.print(sensorVal); • float voltage = (sensorVal/1024.0) * 5.0; • Serial.print(", Volts: "); • Serial.print(voltage); • Serial.print(", degrees C: "); • float temperature = (voltage - .5) * 100; • Serial.println(temperature); • if(temperature < baselineTemp){ • digitalWrite(2, LOW); • digitalWrite(3, LOW); • digitalWrite(4, LOW); • } • else if(temperature >= baselineTemp+2 && temperature < baselineTemp+4){ • digitalWrite(2, HIGH); • digitalWrite(3, LOW); • digitalWrite(4, LOW); • } • else if(temperature >= baselineTemp+4 && temperature < baselineTemp+6){ • digitalWrite(2, HIGH); • digitalWrite(3, HIGH); • digitalWrite(4, LOW); • } • else if(temperature >= baselineTemp+6){ • digitalWrite(2, HIGH); • digitalWrite(3, HIGH); • digitalWrite(4, HIGH); • } • delay(1); • } • /* Arduino Starter Kit example • Project 3 - Love-O-Meter */ • // named constant for the pin the sensor is connected to • // room temperature in Celcius • // open a serial connection to display values • // set the LED pins as outputs • // the for() loop saves some extra coding • // read the value on AnalogIn pin 0 • // and store it in a variable • // send the 10-bit sensor value out the serial port • // convert the ADC reading to voltage • // Send the voltage level out the Serial port • // convert the voltage to temperature in degrees C • // the sensor changes 10 mV per degree • // the datasheet says there's a 500 mV offset • // ((volatge - 500mV) times 100) • // if the current temperature is lower than the baseline • // turn off all LEDs • // if the temperature rises 2-4 degrees, turn an LED on • • // if the temperature rises 4-6 degrees, turn a second LED on • // if the temperature rises more than 6 degrees, turn all LEDs on