Aquest sensor de temperatura és un circuit integrat que retorna un valor de tensió directament proporcional a la temperatura a la que està sotmés.
El nostre és un LM35DZ. Segons el seu data sheet:
* Mesura la temperatura en graus centigraus.
* Funciona entre 0ºC i 100ºC
* Té un marge d'error de ± 1ºC (suficient precisió per als nostres projectes)
El pin central és el de senyal, es connecta a un pin analògic d'entrada.
Posant la cara plana mirant cap a nosaltres, el pin de l'esquerra és el d'alimentació (5V), i el de la dreta, GND.
Càlcul de la temperatura
El primer que cal és passar el valor llegit pel pin analògic (entre 0 per a 0V i 1023 per a 5V) al seu valor de tensió.
Com que els possibles valors llegits per un pin analògic són 1024, el valor en volts de la mesura serà: (5 / 1024) · lectura
I com que, segons el data sheet, la sortida de tensió és de 10 mV per a cada ºC (1V equival a 100ºC), la temperatura serà el valor en volts de la mesura · 100
Monitoritzem la temperatura
int sensor = A0 ; void setup() { Serial.begin(9600); } void loop() { int lectura = analogRead(sensor); float tensio = 5.0 / 1024 * lectura; // float: variable de valor un nombre decimal float temp = tensio * 100; Serial.print ("temperatura = "); Serial.print (temp); Serial.println (" ºC"); delay (100); }Què podem fer amb un sensor de temperatura?
* Encendre i apagar un LED en funció d'un valor llindar de temperatura.
* Alarma d'incendi: encendre LED si la temperatura està per sobre d'un llindar.
* Activar un o altre color d'un LED RGB si la temperatura està per sobre o per sota d'un llindar >>
* Encendre més o menys segments d'una barra de LEDs en funció de la temperatura.
* Posar en marxa un ventilador quan la temperatura pugi per sobre d'un llindar >>
* Mostrar els valors de la temperatura en una pantalla LCD >>
* Mostrar els valors de temperatura amb displays de 7 segments >>
* ...
Cap comentari:
Publica un comentari a l'entrada