Arduino Ejercicio8

7
EQUIPOS MICROINFORMÁTICOS Y TERMINALES DE COMUNICACIÓN. ARDUINO Práctica 8 Esta práctica trata sobre dos sensores, el termistor 103 (que aumenta el valor de su resistencia con la temperatura) y el DHT11, que mide la humedad y temperatura del ambiente. Las mediciones de ambos sensores se representarán con un servo. Termistor NTC 103 Termistor 103 (thermistor) divisor de tensión Para leerlo habrá que realizar un divisor de tensión. Para medir el valor de la resistencia se usa AnalogRead. Para variar este valor hay que calentarlo (o enfriarlo). Bastará con tocarlo con los dedos unos segundos. Tener en cuenta que devolverá un valor analógico (de 0 a 1023) que permite ver VARIACIONES de temperatura, en ningún caso valores de ºC reales. Para ello tendríamos que calibrar el sistema (con ayuda de un termómetro medianamente fiable establecer el valor que devuelve el termistor a los 0ºC, el que devuelve a los 10ºC por ejemplo, y extrapolar para los demás valores suponiendo comportamiento lineal del termistor, que al ser un componente barato sólo será así en cierto rango de temperatura). Sensor de humedad DHT11 Página 1

Transcript of Arduino Ejercicio8

EQUIPOS MICROINFORMTICOS Y TERMINALES DE COMUNICACIN. ARDUINO

EQUIPOS MICROINFORMTICOS Y TERMINALES DE COMUNICACIN. ARDUINO

Prctica 8Esta prctica trata sobre dos sensores, el termistor 103 (que aumenta el valor de su resistencia con la temperatura) y el DHT11, que mide la humedad y temperatura del ambiente. Las mediciones de ambos sensores se representarn con un servo.

Termistor NTC 103

Termistor 103 (thermistor) divisor de tensin

Para leerlo habr que realizar un divisor de tensin. Para medir el valor de la resistencia se usa AnalogRead. Para variar este valor hay que calentarlo (o enfriarlo). Bastar con tocarlo con los dedos unos segundos.Tener en cuenta que devolver un valor analgico (de 0 a 1023) que permite ver VARIACIONES de temperatura, en ningn caso valores de C reales. Para ello tendramos que calibrar el sistema (con ayuda de un termmetro medianamente fiable establecer el valor que devuelve el termistor a los 0C, el que devuelve a los 10C por ejemplo, y extrapolar para los dems valores suponiendo comportamiento lineal del termistor, que al ser un componente barato slo ser as en cierto rango de temperatura).Sensor de humedad DHT11

Sensor de humedad DTH 11 (humidity sensor)Puede realizar medidas de temperatura y de humedad. Contiene un chip que transforma medidas analgicas a digitales. Requiere de una librera propia para funcionar.

#include La librera la puedes descargar del github de Adafruit. Una vez descargada, descomprimela y ponla en la carpeta libraries de la carpeta Arduino. Reinicia el IDE.

En el cdigo debers poner un nombre a tu sensor DHT11, en este caso se ha usado el mismo nombre: dht11 DHT11;En el void setup habr que definir a qu pin esta conectado el sensor: DHT11.attach(2);Mediante un variable entera chk se har una comprobacin del correcto funcionamiento del sensor. int chk = DHT11.read();Segn el valor de este nmero, tendremos funcionamiento normal, un 0, o bien otros tipos de errores -1, -2 o desconocido. Mediante un switch case verificamos: switch (chk) { case 0: Serial.println("OK"); break; case -1: Serial.println("Checksum error"); break; case -2: Serial.println("Time out error"); break; default: Serial.println("Unknown error"); break; }Finalmente, mediante dos variables reales (temperatura y humedad) realizaremos las medidas: temperatura= DHT11.temperature; humedad = DHT11.humidity;Componentes necesarios para esta prctica

Arduino Uno Bread board Cables (jumpers) Termistor 103 (thermistor)

Servo Sensor de humedad DTH 11 (humidity sensor) 10K resistor

Los ejercicios a realizar en esta prctica son:1. El ejercicio a consiste en construir un divisor de tensin para sacar la seal analgica del termistor 103. Su variacin la sacaremos visualmente mediante un servo

2. El ejercicio b consiste en sacar el valor de la humedad ambiente mediante el DHT11, representando su valor tambin con un servo.

ejercicio 8a ejercicio 8b

Cdigo ejercicio a#include long duration, distance,dec;Servo servo1; void setup() { Serial.begin (9600); servo1.attach(3);}void loop() { int sensorValue = analogRead(A0); Serial.println(sensorValue); dec= 2*(sensorValue - 150); servo1.write(dec); delay(100); }Cdigo ejercicio b#include #include Servo servo1; dht11 DHT11;float humedad,temperatura,aux;void setup(){ servo1.attach(3); DHT11.attach(2); Serial.begin(9600);}void loop(){ Serial.println("\n"); int chk = DHT11.read(); Serial.print("Read sensor: "); switch (chk) { case 0: Serial.println("OK"); break; case -1: Serial.println("Checksum error"); break; case -2: Serial.println("Time out error"); break; default: Serial.println("Unknown error"); break; } temperatura= DHT11.temperature; humedad = DHT11.humidity; Serial.print("Humedad (%): "); Serial.println(humedad, DEC); delay(200);// Serial.print("Temperatura (C): ");// Serial.println(temperatura, DEC); aux = 2*humedad-20; servo1.write(aux); delay(200);}Comentario final y RETO El reto consiste en usar el DHT11 para obtener medidas de temperatura, en vez de humedad. Tambin representar con el servo.Segn lo vayis completando, mandad el cdigo, fotos o vdeos a la direccin de correo del mdulo.Enlaces relacionadosPgina Arduino Playground (ENG): ThermistorPgina Arduino Playground(ENG): DHT11Arduteka: Sensor de temperatura NTCAdafruit: DHT sensorsPanamahitek: DHT11 sensor de humedad y temperaturaTaller de arduino: Sensor DHT11 con arduinoOpiron: Todo sobre los sensores DHT11 y DHT22Three House Projects: Internet Based Temperature Sensing SystemInstructables(ENG): The super simple Arduino weather web serverInstructables (ENG): DHT11 LCD Weather Station DIYInstructables(ENG): Arduino portable weather monitorPgina 1