Lendo temperaturas cun sensor LM35

Como non me fixei ben e para o curso do CFR encarguei 10 sensores LM35 en vez de LM335, que era o que quería, fago este outro titorial:

Preparación e conexión:

Precisas o seguinte material:

  • Un LM35 ou LM35DZ.

  • Cables.

  • O Arduino.

  • Breadboard

O LM35 ten tres patillas, Vin se conecta aos 5V do Arduino, Vout é na que faremos a lectura e GND conéctase ao GND do Arduino.

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 entradaLM35= 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 lectura= analogRead(entradaLM35); //creamos unha variable con decimais (float) onde imos calcular os graos celsius //sabemos a formula polos datos do fabricante float milivoltios= (lectura/1024.0) * 5000; //calculamos o valor KCelsius e o almacenamos na variable celsius

//cada 10 milivoltios que nos da o sensor son un grao float celsius= (milivoltios/10); //imprimimos o valor da variable celsius Serial.print(celsius); Serial.println(" graos Celsius"); //Pega aquí o calculo para o valor en graos kelvin //o tempo que quero que pase entre unha e outra lectura delay(3000); }

Como ves no código, o LM35 é 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 Celsius 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 Kelvin:

Agora vas tentar ti escreber un pouco de código, en concreto o cálculo dos graos Kelvin. Supoño que lembras como se pasaba de Kelvin a Celsius, se non, refresca a memoria.

Para este cálculo terás que:

  1. Crear unha variable onde almacenar o valor en graos Kelvin.

  2. Modificar esa variable en función do valor de Celsius.

  3. Imprimir esa variable no monitor serie.

Solución (selecciona o texto do recadro):

//creo a variable kelvin, que se iguala ao valor de celsius máis 273.15

float kelvin= celsius + 273.15; //imprimo o valor de kelvin e logo o texto "graos Kelvin"

Serial.print(kelvin); Serial.println(" graos Kelvin");

Retos:

  1. Serías capaz de facer ti o código para que expresara tamén a temperatura en graos Fahrenheit?

  2. Serías capaz de facer que, cando a temperatura suba de 20º Celsius imprima no monitor "Que calor vai!"

  3. Serías capaz de engadirlle ao reto anterior que tamén se encendera un Led ao subir a temperatura de 20º?

Seguinte>>