Sentindo o exterior: Temperaturas
Importante: Este titorial é para o sensor LM335, se tes o LM35 tes que mirar este outro.
Neste titorial imos ver un xeito de ler temperaturas en Arduino. Para iso imos empregar simplemente un sensor de temperatura moi barato e moi común, o LM335. Nós comprámolo en Tayda, unha tenda moi barata que está en Thailandia. Este titorial está basado neste outro.
Preparación e conexión:
Precisas o seguinte material:
Un LM335.
Unha resistencia de 2,2K (vermello|vermello|vermello).
Cables.
O Arduino.
Breadboard
O LM335 ten tres patillas, nós imos empregar só dúas a do medio é a alimentación positiva e saída analóxica (V+/Vout) e a da dereita é a terra (GND). Convenimos mirar o compoñente pola cara plana:
O esquema de conexión sería este (clica para ampliar):
O programa de lectura de temperaturas:
Copia e carga este código nun arquivo de Arduino:
//Definimos o pin onde lemos o valor do sensor
int entradaLM335= 0; //Abrimos a comunicación co monitor serie void setup() { Serial.begin(9600); } void loop() { //creamos unha variable lectura para coller o valor do sensor //int por ser un numero enteiro int voltaxe= analogRead(entradaLM335); //creamos unha variable con decimais (float) onde imos calcular os milivoltios //aos que equivale esa lectura do sensor, que xa sabes que vai entre 0 e 1024 //multiplicamos por 5000 porque estamos a traballar cos 5V do Arduino float milivoltios= (voltaxe/1024.0) * 5000; //calculamos o valor Kelvin e o almacenamos na variable kelvin
//cada 10 milivoltios que nos da o sensor son un grao float kelvin= (milivoltios/10); //imprimimos o valor da variable kelvin Serial.print(kelvin); Serial.println(" degrees Kelvin"); //Pega aquí o calculo para o valor en graos celsius //o tempo que quero que pase entre unha e outra lectura delay(3000); }
Como ves no código, o LM335 é un sensor nos dá unha voltaxe que depende da temperatura ambiente. O que facemos no programa é ler esa voltaxe, calcular o seu valor en milivoltios, e logo calcular os graos Kelvin aos que estamos, que se obteñen dividindo a voltaxe por 10 (isto é un dato do compoñente).
O Monitor Serie:
Cando temos o Arduino conectado ao ordenador, podemos ler datos que nos envíe desde unha fiestra no noso escritorio. Para iso temos que darlle á lupiña do "monitor serie", arriba á dereita no Arduino IDE. Isto é moi útil para poder ler datos, depurar programas, envíar instruccións ao arduino...
Calcular os graos Celsius:
Agora vas tentar ti escreber un pouco de código, en concreto o cálculo dos graos Celsius. Supoño que lembras como se pasaba de Kelvin a Celsius, se non, refresca a memoria.
Para este cálculo terás que:
Crear unha variable onde almacenar o valor en graos Celsius.
Modificar esa variable en función do valor de Kelvin.
Imprimir esa variable no monitor serie.
Solución (selecciona o texto do recadro):
//creo a variable celsius, que se iguala ao valor de kelvin menos 273.15
float celsius= kelvin - 273.15; //imprimo o valor de celsius e logo o texto "graos Celsius"
Serial.print(celsius); Serial.println(" graos Celsius");
Retos:
Serías capaz de facer ti o código para que expresara tamén a temperatura en graos Fahrenheit?
Serías capaz de facer que, cando a temperatura suba de 20º Celsius imprima no monitor "Que calor vai!"
Serías capaz de engadirlle ao reto anterior que tamén se encendera un Led ao subir a temperatura de 20º?