Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Temperatura de humedad Arduino DTH22 con pantalla LCD I2C 16x2

Componentes y suministros

Arduino UNO
× 1
Sensor de temperatura DHT22
× 1
Módulo LCD 16 × 2 blanco sobre azul con módulo de mochila I2C - 5V
× 1
Protoboard sin soldadura de tamaño completo
× 1
batería de 9V (genérica)
× 1
Clip de batería Adafruit de 9 V con enchufe de 5,5 mm / 2,1 mm
× 1
Cable USB-A a Mini-USB
× 1
Cables de puente macho / hembra
× 1
Cables de puente macho / macho
× 1

Acerca de este proyecto

Durante dos años mi hijo (7) tuvo el deseo de tener una serpiente como mascota. Finalmente compró un par de serpientes con terrario. Para mantener a las serpientes en un ambiente cómodo para ellas, necesitamos controlar la temperatura y la humedad.

Así que compramos un sensor analógico de humedad / temperatura y descubrimos que no era tan fácil mantener ambos a un buen nivel. Como me moría por comenzar un proyecto con mi Arduino Uno recién comprado, me pareció una buena idea usar un sensor de humedad / temperatura y dejar que Arduino automatizara la temperatura y la humedad en el terrario. Por lo tanto, compré un sensor de humedad / temperatura DTH22 y una pantalla LCD I2C 16x2 y lo probé.

Este tutorial es la base de este proyecto. No hay automatización alguna en este tutorial. Solo el uso del DTH22 y una pantalla LCD I2C.

He visto otro tutorial para este propósito, pero este estaba usando una pantalla LCD sin el I2C. Si no tiene el I2C conectado a su LCD, consulte este tutorial de ThothLoki

Hardware requerido

  • Cualquier Arduino 5V (en este caso Arduino Uno R3)
  • DTH22 Sensor de humedad / temperatura
  • Pantalla LCD 16x2 con I2C montado
  • Protoboard
  • 6 cables de puente macho / macho
  • 4 cables de puente macho / hembra

Bibliotecas necesarias

  • Adafruit_Sensor
  • DHT
  • NewliquidCrystal

Antes de empezar

Me gusta la pantalla LCD 16x2 con un I2C montado porque le ahorra la molestia de todos los pines que podrían o no necesitar estar conectados al Arduino. Solo necesitas 4 cables de puente y eso es todo.

La pantalla tiene una dirección I2C para aceptar comandos o enviar mensajes. La desventaja es que debe averiguar qué dirección utiliza antes de poder continuar. No voy a entrar en detalles aquí, pero en el foro de Arduino puedes leer todo al respecto.

En mi caso, nuestro dispositivo usa la dirección 0x3F , si su dispositivo también usa esta dirección, tiene suerte, simplemente puede copiar nuestro código.

Conecta la placa de pruebas al Arduino

El sensor DHT22 y el LCD 1602 I2C utilizan una fuente de alimentación de 5V. Por lo tanto, conecté el pin de 5V en mi Arduino a la fila roja + en el tablero y el suelo de mi Arduino al azul - en el tablero. Como quiero mantener los colores sincronizados, en mi esquema usaré cables rojos para 5V y cables azules para tierra. En la vida real no usé el azul para el suelo, pero el blanco ... he estado jugando demasiado con la electrónica del automóvil, supongo.

Usaré un cable amarillo para datos, un cable naranja para SDA y un cable gris para SCL. La letra dos estará en el I2C.

Agregar el sensor DHT22

Echemos un vistazo al pinout. El sensor DHT22 (como el DHT11) tiene cuatro pines. Coloco el sensor DHT22 en la placa de pruebas con el frente hacia afuera. De esta manera, el primer pin (alimentación de 5 V) está a la derecha (consulte los esquemas).

Utilizo un pequeño cable de puente rojo para conectar el VCC de 5 V a la fila de 5 V (+) en la placa de pruebas. Y un pequeño cable de puente azul para conectar la tierra a la fila de tierra (-) en la placa de pruebas. Tomé un cable amarillo largo para conectar el segundo pin, el pin de datos, al Arduino. Como son datos digitales, lo conecté al puerto de datos 4 en el Arduino. En otros ejemplos, probablemente verá personas usando el puerto 7, ambos funcionarán. Usé el puerto 4 porque anticipé que usaría más puertos de datos y quería guardar el puerto 7 por si acaso. También verá esto en el esquema.

Adición de la pantalla LCD 16x2 I2C

El LCD 16x2 I2C también tiene 4 pines. Mirando la imagen de abajo, de izquierda a derecha:

  • Suelo
  • VCC (5V)
  • SDA
  • SCL

Conecte el primer pin (izquierdo) a la fila de tierra (-) en la placa de pruebas. Conecte el segundo pin al rojo de la fila de 5V (+) de la placa de pruebas. Yo uso un Arduino Uno que tiene las conexiones I2C en A4 (SDA) y A5 (SCL). Así que conecté el tercer pin al A4 y el cuarto pin al conector A5 en el Arduino.

El código

Recuerde que para la pantalla puede tener una dirección diferente para conectarse. Mi I2C usa la dirección 0x3F (consulte la parte 'Antes de comenzar'), así que tenga cuidado de que mi código esté configurado para esta dirección.

Recuerde las bibliotecas necesarias (Adafruit_Sensor, DHT, NewliquidCrystal). Descargue estas bibliotecas, descomprímalas y colóquelas en la dirección de bibliotecas de su proyecto.

Luego cargue el código en su Arduino y verifique la humedad y temperatura de su terrario (o gabinete de servidor, o refrigerador o simplemente su sala de estar).

Código

  • hygroThermo.ino
hygroThermo.ino C / C ++
 / * Cómo usar el sensor DHT-22 con Arduino uno Sensor de temperatura y humedad Más información:http://www.ardumotive.com/how-to-use-dht-22-sensor-en.html Dev:Michalis Vasilakis // Fecha:1/7/2015 // www.ardumotive.com * /// Bibliotecas # incluyen  #include  #include  #include  // Constantes # define DHTPIN 4 // a qué pin estamos conectados # define DHTTYPE DHT22 // DHT 22 (AM2302) DHT dht (DHTPIN, DHTTYPE); //// Inicializar el sensor DHT para Arduino normal de 16 mhz // USAR SIEMPRE ESTO CON LCD I2C y Addres 0x3F # definir I2C_ADDR 0x3F # definir BACKLIGHT_PIN 3 # definir En_pin 2 # definir Rw_pin 1 # definir Rs_pin 0 # definir D4_pin 4 # definir D5_pin 5 #define D6_pin 6 # define D7_pin 7LiquidCrystal_I2C lcd (I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin); // Variablesint chk; float hum; // Almacena el valor de humedad, temperatura flotante; // Almacena el valor de temperaturavoid setup () {Serial.begin (9600); dht.begin (); lcd. comienzo (16,2); lcd.setBacklightPin (BACKLIGHT_PIN, POSITIVO); lcd.setBacklight (HIGH);} bucle vacío () {retraso (2000); // Leer datos y almacenarlos en variables hum y temp hum =dht.readHumidity (); temp =dht.readTemperature (); // Imprime los valores de temperatura y humedad en el monitor serial Serial.print ("Humedad:"); Serial.print (zumbido); Serial.print ("%, Temp:"); Serial.print (temp); Serial.println ("Celsius"); lcd.clear (); lcd.setCursor (0,0); lcd.print ("Temp:"); lcd.print (temp); lcd.print (""); lcd.print ((char) 223); lcd.print ("C"); lcd.setCursor (0,1); lcd.print ("Hum:"); lcd.print (zumbido); lcd.print ("%"); retraso (2000); // Retraso 2 seg.} 

Esquemas

Schema Fritzing schema_UcHE1qRu2t.fzz

Proceso de manufactura

  1. Comunicación de Arduino I2C con Raspi 2 WIOT
  2. Panel LCD con Arduino para Flight Simulator
  3. Capturando las gotas de agua con Arduino
  4. Registrador de datos de temperatura y humedad
  5. Jugando con Nextion Display
  6. ¡Visualización de una imagen en una pantalla LCD TFT con Arduino UNO!
  7. BME280 Temperatura, humedad y presión en la pantalla Nextion
  8. Osciloscopio DIY de 10Hz-50kHz en pantalla LCD de 128x64
  9. Módulo GPS u-blox LEA-6H 02 con Arduino y Python
  10. Cómo leer la temperatura y la humedad en Blynk con DHT11
  11. Reloj despertador simple con DS1302 RTC