Conexiones de ESP32 con Sensores en el Protoboard - JacquiVA02/IoT GitHub Wiki
Para realizar cada una de las conexiones, fue necesario buscar cada una de las datasheet (ficha técnica del producto para la comunicación tecnológica que describe las especificaciones) tanto de los sensores como de la ESP32 que utilizamos con el fin se realizar de manera correcta las conexiones necesarias.
Datasheet: ESP32 (38 Pines) ESP WROOM 32
Ésta información es sumamente necesaria para realizar cada una de las conexiones de forma correcta, es necesario tener identificados cada uno de los pines de nuestra ESP32 que estamos implementando para evitar una colisión entre los sensores y evitar hacer modificaciones más tarde.
NOTA: La datasheet puede variar dependiendo del modelo de ESP32 que tengamos.
DHT11: Sensor de Humedad y Temperatura
Es un sensor digital de temperatura y humedad relativa de bajo costo y fácil uso. Utiliza un sensor capacitivo de humedad y un termistor para medir el aire circundante, y muestra los datos mediante una señal digital en el pin de datos, es posible tener nuevos datos cada 2 segundos. Puede medir la humedad en un rango desde 20% hasta 90% y temperatura en el rango de 0ºC a 50ºC.
Datasheet: DHT11
Conexiones entre ESP32 y Sensor de Humedad y Temperatura
Código: sensor de Humedad / Temperatura y ESP32
Para este sensor es necesario instalar la librería DHT, para ello hacemos click en Programa --> Incluir librería - Administrar Bibliotecas:
Buscamos DHT para seleccionar instalar
Después de esto podemos proceder a implementar el siguiente código para realizar la lectura del sensor: https://github.com/JacquiVA02/IoT/blob/main/Sdht11.ino
MQ-135: Sensor de Calidad de Aire
Es un sensor utilizado para controlar la calidad de aire, se encarga de la detección de concentración de gas en diversos porcentajes, los cuales incluye: NH3 (Amoníaco), NOx (Óxidos de nitrógeno), alcohol, Benceno, Humo y CO2 (Dióxido de carbono).
Datasheet: MQ-135
Conexiones entre ESP32 y Sensor de Calidad de Aire
Código: sensor Calidad de Aire y ESP32
Con el siguiente código podemos comprobar el funcionamiento del sensor con la placa ESP32 utilizando Arduino, es importante resaltar que arroja 1 para ausencia de gas y 0 para presencia de este: https://github.com/JacquiVA02/IoT/blob/main/SCalidadAire.ino
HR-SR04: Sensor de Distancia (ultrasónico)
El sensor ultrasónico utiliza un sonar para determinar la distancia a un objeto, lee de 2 cm a 400 cm con una precisión de 0,3 cm. El transmisor de ultrasonido (clavija de activación) emite un sonido de alta frecuencia (40 kHz), el sonido viaja por el aire, entonces si encuentra un objeto regresa al módulo y el receptor de ultrasonido (pin de eco) recibe el sonido reflejado (eco). Teniendo en cuenta la velocidad del sonido en el aire y el tiempo de viaje (tiempo transcurrido desde la transmisión y recepción de la señal) podemos calcular la distancia a un objeto.
Datasheet: HR-SR04
Conexiones entre ESP32 y Sensor de Distancia
Código: sensor ultrasónico HC-SR04 y ESP32
Para comprobar que funciona correctamente, el siguiente boceto es un ejemplo simple de cómo se puede obtener la distancia entre el sensor y un objeto utilizando la placa ESP32 utilizando Arduino: https://github.com/JacquiVA02/IoT/blob/main/Sdistancia.ino
MPU6050: Sensor de Aceleración y Rotación
El MPU6050 incluye un giroscopio y un acelerómetro, lo que nos permite medir la rotación en los tres ejes, la aceleración estática debida a la gravedad y la aceleración dinámica debida al movimiento. Los acelerómetros internamente tienen un MEMS (MicroElectroMechanical Systems) que de forma similar a un sistema masa-resorte permite medir la aceleración. Los giroscopios utilizan un MEMS (MicroElectroMechanical Systems) para medir la velocidad angular usando el efecto Coriolis.
Datasheet: MPU6050
Conexiones entre ESP32 y Sensor de Aceleración y Rotación
Código: sensor de Aceleración / Rotación y ESP32
Para capturar la salida de datos del sensor es necesario contar con las siguientes tres librerías, así que realizamos los mismos pasos para encontrarlas, hacemos click en Programa --> Incluir librería --> Administrar Bibliotecas:
Buscamos mpu6050: Adafruit Unified: BusIO:
El siguiente código nos sirve para leer la aceleración lineal y las imprime en el monitor serial: https://github.com/JacquiVA02/IoT/blob/main/SaceleracionR.ino
Referencias
Para obtener más información sobre los sensores recomendamos los siguientes links:
- https://www.todomicro.com.ar/insumos/224-sensor-de-temperatura-y-humedad-dht11-arduino.html
- https://www.juanjobeunza.com/esp32-dht11/
- https://www.didacticaselectronicas.com/index.php/sensores/gases/sensor-de-gas-mq135-2016-02-08-04-34-49-sensores-de-gas-gases-benzeno-nh3-co2-amoniaco-dioxiodo-de-carbono-mq135-mq-135-detail#:~:text=Descripci%C3%B3n%3A,%2C%20Benceno%2C%20Humo%20y%20CO2.
- https://lastminuteengineers.com/mpu6050-accel-gyro-arduino-tutorial/
- https://www.diarioelectronicohoy.com/blog/configurar-el-mpu6050#:~:text=El%20MPU6050%20es%20un%20sensor,un%20regulador%20de%20voltaje%20en