Aprendre a calcular la temperatura a partir de la lectura dels sensors LM35DZ i TMP36. Muntar un circuit per a controlar la temperatura amb un ventilador.
Imatge | Descripció |
---|---|
Arduino Uno o compatible amb S4A i amb el firmware per S4A carregat. | |
Una protoboard | |
Cables de connexió | |
Un díode led | |
Una resistència de 330 Ohms | |
Un transistor 2N2222 | |
Un ventilador de 5V | |
Un Sensor de temperatura LM35DZ o similar |
Un sensor de temperatura és un xip que ens retorna un valor de tensió en funció de la temperatura a la qual estiga. En aquesta sessió presentarem els sensors LM35DZ i TMP36, dos dels sensors més barats i fàcils de trobar.
Per a saber com funcionen aquests xips, o qualsevol component que anem a usar, hauríem de buscar en internet les seues especificacions, afegint al nom del xip data sheet. Aquesta informació sol estar en anglés, i pot resultar difícil d’entendre.
En resum, aquests sensors funcionen de la següent manera:
Pins del TMP36 |
Amb la cara plana mirant cap a nosaltres, la pota esquerra és 5V, la del centre l’eixida i la de la dreta GND.
L’esquema electrònic i el circuit en la Protoboard són molt senzills:
A l’hora de fer la programació, la manera de calcular la temperatura en funció del voltatge que ens done el sensor serà diferent en funció del sensor que estiguem utilitzant.
En el cas del LM35DZ, el fabricant ens diu que per a calcular la temperatura hem de fer la següent operació:
En el cas del TMP36, com comença de -50 °C, caldrà restar-lo a la fórmula anterior:
En el meu cas usaré el LM35DZ; si usareu el TMP36 bastaria amb substituir els blocs on fem els càlculs.
Per a llegir la temperatura fixem el valor d’una variable al resultat de l’operació anterior:
En l’escenari podem veure en tot moment el valor de la variable.
Farem un circuit per a controlar la temperatura en una habitació, utilitzant el sensor de temperatura, el transistor (ho em vist en la lliçó «Els relés») i el motor de contínua amb el ventilador.
L’esquema elèctric i el muntatge en la Protoboard quedaria de la següent forma:
La programació és també molt senzilla. Simplement llegim la temperatura i la comparem amb el límit que triem.
En passar del límit la temperatura, l’eixida digital 13 es posa a HIGH i el transistor passa a saturació, fent que arrencada el motor.
Si la temperatura és menor que el límit, l’eixida digital 13 està a LOW i el transistor treballa en cort, de manera que el motor està apagat.