Sensor de temperatura.


En aquest projecte farem un circuit elèctric per tal de poder mesurar la temperatura de l'ambient, i així encendre tres leds depenents de la temperatura ambiental que hi hagi. El sensor principal que es fa servir és un sensor de temperatura anomenat tmp36. Abans d'explicar el seu funcionament s'ha de tenir molt en compte de no confondre aquest sensor amb el transistor bc547b, ja que aparentment són idèntics però no tenen el mateix funcionament. Aquest sensor de temperatura és un sensor de baix voltatge i per tant mesurarà fins a unes certes temperatures. El funcionador d'aquest sensor és que depenent de la temperatura, la resistència que conté en el seu interior va variant i d'aquesta manera li proporciona més o menys voltatge a la placa. Aquesta, a partir del voltatge que rep, pot saber quina temperatura ha mesurat. Per tant en aquest projecte, a partir de la temperatura que rep el sensor, podem encendre un LED, dos LEDs o tres LEDs. A part d'encendre els LEDs, també es mostrarà pel serial la temperatura captada pel sensor.


Per tal de realtizar l'esquema elèctric d'aquest projecte necessitarem:
  • 1xArduino UNO
  • 1xProtoboard
  • 3xLED (vermells)
  • 1xsensor tmp36
  • 3xresistències 220ohm
  • cables


Una vegada ja hem realitzat el circuit elèctric, és hora de programar la placa. El programa a realitzar és el seguent:


const int Pin_del_Sensor=A1;                //Definim el pin al qual connectem el sensor
const float Temperatura_de_Referencia=17.0; //creem una temperatura de referència, per a més endevant encendre els LEDs

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);                         //iniciem el serial
pinMode(2,OUTPUT);                          //Definim el pin 2 com a sortida
pinMode(3,OUTPUT);                          //Definim el pin 3 com a sortida
pinMode(4,OUTPUT);                          //Definim el pin 4 com a sortida

//Per a començar el programa posem els tres leds apagats
digitalWrite(2,LOW);                        
digitalWrite(3,LOW);
digitalWrite(4,LOW);
}

void loop() {
  // put your main code here, to run repeatedly:

//Llegim el valor del sensor i el guardem en la variable Valor_del_sensor
int Valor_del_Sensor=analogRead(Pin_del_Sensor);

//Printem aquest valor per pantalla
Serial.print("Valor del sensor:");
Serial.print(Valor_del_Sensor);

//Creem una variable que es digui Tension i li diem que el seu valor és el del sensor entre 1024 i multiplicat per 5 i ho printem per pantalla
float Tension=(Valor_del_Sensor/1024.0)*5.0;
Serial.print("Voltios:");
Serial.print(Tension);

//Creem una altra variable que es digui Temperatura i li diem que el seu valor és el valor de Tension restantli 0,5 i multiplicat per 100 i ho printem per pantalla 
float Temperatura=(Tension-0.5)*100;
Serial.print("Temperatura:");
Serial.println(Temperatura);

/*A partir d'aquí vé la programació dels LEDs. Li diem que si la temperatura calculada és més petita que la 
temperatura de referència (la que hem posat a dalt de tot), no encengui cap LED. Si és més gran que la de referència+2 
però més petita que la de referència+4, encengui el primer. Si és més gran que la de referència+4 però més petita que 
la de referència+6, encengui el primer i el segon LED. I si l'és més gran que la de referència+6, encengui els tres.
Per últim sí és més gran que la de referència+10 i més petita que la de referència+20, fagi una seqüència entre els tres*/

if(Temperatura<Temperatura_de_Referencia){
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  digitalWrite(4,LOW);
}else if(Temperatura>=Temperatura_de_Referencia+2 && Temperatura<Temperatura_de_Referencia+4){
  digitalWrite(2,HIGH);
  digitalWrite(3,LOW);
  digitalWrite(4,LOW);
}else if(Temperatura>=Temperatura_de_Referencia+4 && Temperatura<Temperatura_de_Referencia+6){
  digitalWrite(2,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(4,LOW);
}else if(Temperatura>=Temperatura_de_Referencia+6){
  digitalWrite(2,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(4,HIGH);
}else if(Temperatura>=Temperatura_de_Referencia+10 && Temperatura<=Temperatura_de_Referencia+20){
  digitalWrite(2,HIGH);
  digitalWrite(3,LOW);
  digitalWrite(4,HIGH);
}
delay(100);
}


Doncs bé, una vegada ja tenim el projecte acabat tenim un sensor de temperatura que la mostra per la pantalla de l'ordinador, i encén uns LEDs depenent d'aquesta; o vulgarment dit, un termòmetre fet amb Arduino.









Cap comentari:

Publica un comentari a l'entrada

↓↓↓ Si vols deixar un comentari fes-ho aquí ↓↓↓