Tabla de contenido:
- Paso 1: obtención de todas las piezas
- Paso 2: Conexión de todas las piezas juntas
- Paso 3: escribir código
- Paso 4: uso de su Arduino
Video: Proyecto de humedad del suelo y sensor Arduino DHT22 con menú: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Hola chicos Hoy les presento mi segundo proyecto sobre instructables. Este proyecto presenta la mezcla de mi primer proyecto en el que usé el sensor de humedad del suelo y el sensor DHT22 que se usa para medir la temperatura y la humedad. Este proyecto es fácil de hacer y las personas que usan Arduino lo sentirán muy interesante de hacer. La diferencia entre este proyecto y el primero es que en este proyecto el usuario tendrá un menú en el que podrá elegir lo que quiere ver en ese momento. Habrá cuatro opciones. Así que tome su kit y comience a hacer este proyecto que se puede usar en cualquier hogar.
Paso 1: obtención de todas las piezas
Este proyecto utiliza pocas partes. Estas piezas son muy baratas de conseguir, así que no se preocupe por el precio. Algunas de las piezas utilizadas en este proyecto se pueden cambiar para que el proyecto sea más económico de realizar. Depende de usted qué partes de las recomendaciones utilizará y hará que este proyecto sea aún mejor. Partes utilizadas en este proyecto:
- Arduino uno rev3 (también puede usar otro Arduino)
- Tablero de circuitos
- Pantalla verde LCD 1602 con I2C (también puede usar la pantalla con I2C pero necesitará más pines para conectarla)
- Teclado de 16 botones (intercambiable)
- Módulo de detección de higrómetro de suelo FC-28-d + sensor de humedad del suelo
- Sensor de temperatura y humedad DHT22 (puede usar DHT11, que es más barato de obtener)
- Diodo LED rojo
- Diodo LED azul
- 2 resistencias 220 ohmios (utilizado para diodos)
- Resistencia 4k7 utilizada para DHT22 en el esquema
- Conector de batería Arduino
- Pocos cables de puente para conectar todas las piezas.
Una cosa que debo decirte antes de que comiences a construir este proyecto es que el teclado no es necesario. Usé el teclado esta vez porque mi codificador rotatorio estaba roto. Creo que este proyecto sería perfecto si tuviera codificador rotatorio porque usaría pines menores, o puede usar 3 botones.
Paso 2: Conexión de todas las piezas juntas
En este paso puedes ver el esquema que hice con fritzing. Escribiré en caliente para conectar todas las partes clave de este proyecto.
Como puede ver, estamos usando 5V y GND de arduino para alimentar la placa de pruebas.
LCD:
- VCC a 5v (+ parte en protoboard)
- GND a GND (- parte de la placa de pruebas)
- SDA al pin analógico A4
- SCL al pin analógico A5
Teclado con 16 botones:
Estamos usando los pines 9, 8, 7, 6, 5, 4, 3, 2 para conectar el teclado (esta es la razón por la que usaría un codificador rotatorio, porque solo tomaría 3 pines en la placa)
Sensor de humedad del suelo:
- VCC a 5v (+ parte en protoboard)
- GND a GND (parte en la placa de pruebas)
- D0 al pin digital 0
- A0 al pin analógico A0
DHT22:
- VCC a 5v (+ parte en protoboard)
- GND a GND (parte en la placa de pruebas)
- El pin de salida está conectado al pin 12
Conexión de diodos:
- una parte del diodo entra - parte de la placa de pruebas
- la segunda parte pasa por una resistencia de 220 ohmios y luego se conecta al pin 10 (diodo azul) u 11 (diodo rojo)
Paso 3: escribir código
Intentaré explicar el código en algunas partes. También se escribirá el código completo para que pueda copiarlo y también cambiarlo si ve alguna necesidad. También en este código hay algunos métodos escritos para el trabajo de los sensores, pero esta vez el enfoque principal fue crear un menú que sea fácil de entender para las personas que son nuevas con Arduino. Esta vez no estoy usando ninguna interrupción, pero en mis próximos proyectos lo haré, así que tenga en cuenta que este código puede mejorar mucho con las interrupciones.
- La primera parte del código incluye todas las bibliotecas utilizadas para este proyecto. Tenga en cuenta que para todas las partes que le dije que estoy usando, necesita las siguientes bibliotecas: Wire, LiquidCrystal_I2C, Keypad y DHT. Todas las bibliotecas se pueden encontrar en Arduino IDE si va a la parte del boceto y luego en las bibliotecas de inclusión. También tenga en cuenta que si usa algo como un codificador rotatorio, probablemente necesitará obtener nuevas bibliotecas en lugar de un teclado, que probablemente sería rotary.hy button. Si usa el sensor DHT11, la biblioteca sigue siendo DHT.
- En la segunda parte del código se definirán todas las partes utilizadas. Primero que nada es LCD. Después de eso, hay un sensor DHT que se representa como un objeto con un tipo de sensor dht, y también un pin que se conecta. El sensor de humedad del suelo y los diodos son el tercero.
- Describiré el teclado un poco más. Como dije, mi codificador rotatorio estaba roto, así que decidí usarlo. Para este proyecto basta con tener solo cuatro botones, incluso tres son buenos para ello. Así que estoy usando cuatro botones en el teclado para una sola opción. Puede usar algunos de los botones si desea algo más si tiene una idea. Necesita definir filas y columnas en esta parte. Después de eso, hexaKeys representará las opciones utilizadas para este proyecto. En mi proyecto hay B (atrás), U (arriba), D (abajo) y A (aceptar). Puedes hacer que cada botón haga otra cosa. Un botón puede encender la luz de fondo, uno puede apagarlo. Así que siéntete libre de jugar con él un poco más.
- En esta parte se utilizan variables globales en el código. Las variables bool se utilizan para cambiar la pantalla. La variable de bienvenida es verdadera durante unos segundos solo cuando se enciende el arduino, después de eso, será falsa por el resto del tiempo. El foco principal está en la variable mainScreen. Esta variable se usa para guiarlo desde el menú a cualquier otra opción en el código. Si esta variable es falsa, significa que el usuario decidió utilizar una de las cuatro opciones de este proyecto.
- Aquí es donde están escritos todos los métodos usados en este código. Intentaré explicar todos los métodos escritos en esta parte.
- void startScreen (); // método para iniciar el proyecto y arduino
- int choiceNumber (int elección); // esto cambia su elección de opciones del proyecto. El número va del 1 al 4
- void mainScreenP (opción int); // se escribirán cuatro opciones de dispositivo que se hacen
- bool mainScreenCS (bool mainScreen); // esto cambia mainScreen a falso
- bool mainScreenBack (bool mainScreen); // esto cambia mainScreen a verdadero
- void tempCelsius (); // lectura de temperatura en la opción de sensor C DHT
- void tempFarenheit (); // lectura de temperatura en la opción de sensor F DHT
- printHumidity vacío (); // opción de sensor DHT de humedad de lectura
- void readSensorData (); // leer datos en sensores conectados
- String getTemperatureC ();
- String getTemperatureF ();
- String getHumidity ();
- vacío sueloMoisture (); // esto es para otro sensor y diodos
- void printSensorSoilMoisture (); // imprimiendo la parte de humedad del suelo en lcd
- diodeLights void (valor int); // encender y apagar diodos
- printValue void (valor int);
6. La configuración para arduino es parte de la configuración del sensor LCD y DHT y también diodos
7. La parte principal es la parte en la que se utilizan todos los métodos escritos anteriores.
El código completo de este proyecto estará adjunto a este paso. Tenga en cuenta que existe la posibilidad de que los pines tal vez no estén conectados como en el esquema, creo que se cambiaron los diodos.
Paso 4: uso de su Arduino
Esta es probablemente la parte más divertida. Al menos es más divertido después de toda la codificación escrita. En esta parte puede ver imágenes de cómo funciona el proyecto. Hay 4 opciones.
- Lectura de temperatura en grados Celsius
- Lectura de temperatura en grados Fahrenheit
- Lectura de humedad
- Encendido de diodos y lectura de valores del sensor de humedad del suelo.
Puedes elegir cualquiera de las opciones posibles, también puedes volver atrás y elegir de nuevo si quieres ver algo más. Sencillo y fácil de usar.
Si hay alguna otra pregunta que puedas hacerme, gracias chicos por ver mi proyecto. Saludos cordiales. Sebastián
Recomendado:
Calibración del sensor de humedad del suelo: 5 pasos
Calibración del sensor de humedad del suelo: hay muchos medidores de humedad del suelo en el mercado para ayudar al jardinero a decidir cuándo regar sus plantas. Desafortunadamente, tomar un puñado de tierra e inspeccionar el color y la textura es tan confiable como muchos de estos dispositivos. Algunas sondas incluso registraron
¡Haga su propio sensor de humedad del suelo con Arduino!: 10 pasos
Haga su propio sensor de humedad del suelo con Arduino !!!: ACERCA DE !!! En este instructivo, vamos a conectar un sensor de humedad del suelo FC-28 con Arduino. Este sensor mide el contenido volumétrico de agua dentro del suelo y nos da el nivel de humedad como salida. El sensor está equipado con analo
¡Automatizando un invernadero con LoRa! (Parte 1) -- Sensores (temperatura, humedad, humedad del suelo): 5 pasos
¡Automatizando un invernadero con LoRa! (Parte 1) || Sensores (temperatura, humedad, humedad del suelo): en este proyecto les mostraré cómo automaticé un invernadero. Eso significa que les mostraré cómo construí el invernadero y cómo conecté la electrónica de potencia y automatización. También te mostraré cómo programar una placa Arduino que usa L
Medición del contenido de humedad del suelo con Esp32 y la plataforma Thingsio.ai: 6 pasos
Medición del contenido de humedad del suelo usando la plataforma Esp32 y Thingsio.ai: En este tutorial voy a explicar sobre la lectura del contenido de humedad en el suelo usando esp32 y luego enviando los valores a la plataforma en la nube thingsio.ai IoT
Plan de prueba del sensor de humedad del suelo: 6 pasos (con imágenes)
Plan de prueba del sensor de humedad del suelo: Desafío: Diseñe y ejecute un plan que encienda un LED ROJO cuando el suelo esté húmedo y un LED VERDE cuando el suelo esté seco. Esto implicará el uso de un sensor de humedad del suelo. Objetivo: El objetivo de este instructivo es ver si ha llovido y si la planta