21
SENSOR DE HUMEDAD PARA ARDUINO El DHT11 es un sensor básico de humedad y temperatura de costo reducido. Usa un sensor de capacidad para medir la humedad y un termistor para medir la temperatura del aire que lo rodea. Esta diseñado para medir temperaturas entre 0 y 50°C con una precisión de ±2°C y para medir humedad entre 20% y 80% con una precisión de 5% con periodos de muestreo de 1 segundo

Sensor de humedad para arduino

Embed Size (px)

Citation preview

SENSOR DE HUMEDAD PARA

ARDUINO

El DHT11 es un sensor básico de humedad y temperatura de costo reducido. Usa un sensor de capacidad para medir la humedad y un termistor para medir la temperatura del aire que lo rodea. Esta diseñado para medir temperaturas entre 0 y 50°C con una precisión de ±2°C y para medir humedad entre 20% y 80% con una precisión de 5% con periodos de muestreo de 1 segundo

. El formato de presentación es una pequeña caja

de plástico de 15.5mm x 12mm x 5.5mm con una cara en la cual tiene una rejilla que le permite obtener las lecturas del aire que lo rodea.

Si se requiere mayor precisión podemos trabajar con su hermano, el sensor DHT22. El sensor tiene cuatro pines de los cuales solo usaremos el pin 1,2 y 4

MATERIALES REQUERIDO

Muy barato, sobre 2€ Funciona con 3,3 y 5V de alimentación Rango de temperatura: de 0º a 50º con 5% de

precisión (pero solo mide por grados, no fracciones) Rango de humedad: de 20% al 80% con 5% de

precisión 1 Muestra por segundo (No es el más rápido del oeste) Bajo consumo Devuelva la medida en ºC

CARACTERÍSTICAS DEL DHT11

Barato, entre 4 y 5 € Funciona con 3,3 y %V de alimentación Rango de temperatura: de -40º a 125º ±0.5°C Rango de humedad: de 0% al 100% con 5% de

precisión. Lee 2 veces por segundo. Bajo consumo. Devuelva la medida en ºC

CARACTERÍSTICAS DE DHT22

DIAGRAMA DEL ESQUEMA

Acelerómetro ADXL335

es un tipo de sensor analógico transductor que detecta el

movimiento o el giro, es decir, es capaz de responder con una señal eléctrica ante una perturbación inducida por la aplicación de una fuerza o la gravedad. Este dispositivo es capaz de detectar si está en horizontal o vertical o por ejemplo si los agitamos en el aire.

Que es un acelerómetro

Este diminuto componente de baja potencia,

es un acelerómetro analógico completo de 3 ejes con señales reguladas de voltaje de salida. Mide la aceleración con una escala de ± 3G y utiliza un nivel de tensión de 3.3 V. Se puede medir la aceleración de la gravedad estática en aplicaciones de detección de inclinación, así como la aceleración dinámica resultante del movimiento, choque o vibraciones.

El ADXL335 proporcionará a Arduino, tres voltajes proporcionales a la aceleración de cada eje X, Y y Z. Algo muy importante es que se trata de un dispositivo que se alimenta a 3.3 V, por lo que hay que tener cuidado al conectarlo a nuestro Arduino de no hacerlo a la salida de 5v, ya que dañaríamos el sensor.

APLICACIONES

• Aplicaciones para la detección de movimiento e inclinación rentables de bajo consumo

• Dispositivos móviles• Sistemas de juego• Protección de unidad de disco• Estabilización de imagen• Dispositivos de salud y deportes

const int xPin = 0;     //Pines analogicos de lectura

const int yPin = 1;const int zPin = 2;

int minVal = 265;    // Valores mínimos y máximos del acelerometro en reposoint maxVal = 402;

double x;    // para guardar los valores calculadosdouble y;double z;

void setup ( ) {Serial.begin(9600);}

void loop ( ) { int xRead = analogRead(xPin);   //Lee los valores analogicos del acelerometro

int yRead = analogRead(yPin);int zRead = analogRead(zPin);

// mapea los valores leidos a un rango  -90 a 90 grados (-π  a  π )int xAng = map(xRead, minVal, maxVal, -90, 90);int yAng = map(yRead, minVal, maxVal, -90, 90);int zAng = map(zRead, minVal, maxVal, -90, 90);

//Convertimos los radianes a gradosx = RAD_TO_DEG * (atan2(-yAng, -zAng) + PI);y = RAD_TO_DEG * (atan2(-xAng, -zAng) + PI);z = RAD_TO_DEG * (atan2(-yAng, -xAng) + PI);

//Imprimimos en el monitor serial los caluculosSerial.print(“x: “);Serial.print(x);Serial.print(” | y: “);Serial.print(y);Serial.print(” | z: “);Serial.println(z);

delay(100);       //Espera 1 decima de segundo

Código:

MQ-3

.

Copy Code int mq3_analogPin = A0; // connected to the output pin of MQ3

void setup(){ Serial.begin(9600); // open serial at 9600 bps }

void loop() { // give ample warmup time for readings to stabilize

int mq3_value = analogRead(mq3_analogPin); Serial.println(mq3_value);

delay(100); //Just here to slow down the output.