Proyecto Sensor de Humedad

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

¡Claro!

A continuación, te presento un proyecto completo que combina


un sistema de riego automatizado con un sensor de humedad, un
display LCD para mostrar datos, y un módulo Wi-Fi (como el ESP8266)
para monitoreo y control remoto.

Materiales Necesarios

1. Arduino Uno
2. Sensor de Humedad del Suelo
3. Módulo de Relé (para controlar la bomba)
4. Bomba de agua
5. Pantalla LCD 16x2 (con controlador HD44780)
6. Módulo ESP8266 (como NodeMCU o Wemos D1 Mini)
7. Potenciómetro (10kΩ) para ajustar el contraste del LCD (opcional)
8. Cables de conexión
9. Fuente de alimentación (para la bomba

Esquema de Conexión

1. Sensor de Humedad:
o VCC → 5V del Arduino
o GND → GND del Arduino
o Signal → Pin analógico A0 del Arduino
2. Módulo de Relé:
o VCC → 5V del Arduino
o GND → GND del Arduino
o IN → Pin digital D7 del Arduino
3. Pantalla LCD:
o VSS → GND del Arduino
o VDD → 5V del Arduino
o V0 → Potenciómetro (centro)
o RS → Pin digital D2 del Arduino
o RW → GND
o E → Pin digital D3 del Arduino
o D4 → Pin digital D4 del Arduino
o D5 → Pin digital D5 del Arduino
o D6 → Pin digital D6 del Arduino
o D7 → Pin digital D7 del Arduino
4. Módulo ESP8266:
o VCC → 3.3V (no usar 5V)
o GND → GND
o TX → RX del Arduino
o RX → TX del Arduino (usa un divisor de voltaje si es necesario)

Código de Arduino

A continuación, se muestra el código que combina todos los elementos mencionados:

Cpp

#include <LiquidCrystal.h>

#include <ESP8266WiFi.h>

const char* ssid = "TU_SSID"; // Nombre de tu red Wi-Fi

const char* password = "TU_PASSWORD"; // Contraseña de tu red Wi-Fi

const char* host = "api.thingspeak.com"; // Host de ThingSpeak

const char* writeAPIKey = "TU_API_KEY"; // Tu clave de escritura de


ThingSpeak

const int sensorPin = A0; // Pin del sensor de humedad

const int relePin = 7; // Pin del relé

int humedadSuelo;

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

void setup() {

Serial.begin(115200);

pinMode(relePin, OUTPUT);

digitalWrite(relePin, LOW);

lcd.begin(16, 2);

lcd.print("Humedad:");

// Conectar a la red Wi-Fi

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {

delay(1000);

Serial.println("Conectando a WiFi...");
}

Serial.println("Conectado a WiFi");

void loop() {

humedadSuelo = analogRead(sensorPin);

int humedadPorcentaje = map(humedadSuelo, 0, 1023, 100, 0);

lcd.setCursor(0, 1);

lcd.print(humedadPorcentaje);

lcd.print("% ");

// Enviar datos a ThingSpeak

if (WiFi.status() == WL_CONNECTED) {

WiFiClient client;

if (client.connect(host, 80)) {

String url = "/update?api_key=";

url += writeAPIKey;

url += "&field1="; // Campo para humedad

url += humedadPorcentaje;

client.print(String("GET ") + url + " HTTP/1.1\r\n" +

"Host: " + host + "\r\n" +

"Connection: close\r\n\r\n");

delay(500);

// Controlar el riego

if (humedadPorcentaje < 30) {

digitalWrite(relePin, HIGH); // Encender bomba

lcd.print("Regando... ");
} else {

digitalWrite(relePin, LOW); // Apagar bomba

lcd.print("No regar ");

delay(10000); // Espera 10 segundos antes de la próxima lectura

Configuración de ThingSpeak

1. Crea una cuenta en ThingSpeak.


2. Crea un nuevo canal y anota la clave de escritura (writeAPIKey).
3. En el canal, tendrás campos donde se almacenarán los datos de humedad.

Pasos Finales

1. Conexiones: Verifica que todas las conexiones estén correctas.


2. Cargar el Código: Sube el código al Arduino o al ESP8266.
3. Monitoreo: Conéctate a la red Wi-Fi y verifica que los datos se envíen a
ThingSpeak.

Consideraciones Adicionales

 Optimización: Puedes crear una interfaz web sencilla en el ESP8266 para controlar
el riego manualmente y ver los datos.
 Calibración: Ajusta los límites de humedad según las necesidades de tus plantas.

 Visualización del Diagrama


 Para visualizar esto, puedes usar un software de diagramas de circuitos como
Fritzing, Tinkercad o simplemente dibujarlo a mano. Aquí tienes una referencia
para la disposición:
 Arduino Uno

 +--------------------+
 | |
 5V ------------------| VCC Sensor Humedad
 GND ------------------| GND
 A0 --------------------| Signal

 5V ------------------| VCC Relé
 GND ------------------| GND
 D7 --------------------| IN

 5V ------------------| VDD LCD
 GND ------------------| VSS
 D2 --------------------| RS
 D3 --------------------| E
 D4 --------------------| D4
 D5 --------------------| D5
 D6 --------------------| D6
 D7 --------------------| D7

 3.3V ------------------| VCC ESP8266
 GND ------------------| GND
 RX ---------------------| TX Arduino
 TX ---------------------| RX Arduino
 Recuerda que los pines en el ESP8266 son diferentes, así que
asegúrate de seguir las conexiones de acuerdo a tu modelo
específico.

Aquí tienes un enlace a un diagrama gráfico del proyecto completo:

Diagrama del Sistema de Riego con Arduino

En este sitio, puedes encontrar ejemplos y crear tu propio diagrama utilizando Fritzing. Te
guiaré sobre cómo estructurarlo:

1. Crea un nuevo proyecto en Fritzing.


2. Arrastra los componentes:
o Arduino Uno
o Sensor de Humedad
o Módulo de Relé
o Pantalla LCD 16x2
o Módulo ESP8266
o Potenciómetro (opcional)
3. Conecta los componentes según las descripciones anteriores.

Componentes a incluir en el diagrama

 Arduino Uno en el centro.


 Sensor de Humedad a un lado.
 Módulo de Relé cerca del Arduino.
 Pantalla LCD conectada al Arduino.
 Módulo ESP8266 conectado al Arduino.

Conexiones Clave
 Sensor de Humedad: VCC a 5V, GND a GND, Signal a A0.
 Relé: VCC a 5V, GND a GND, IN a D7.
 LCD: VDD a 5V, GND a GND, RS a D2, RW a GND, E a D3, D4 a D4, D5 a D5,
D6 a D6, D7 a D7.
 ESP8266: VCC a 3.3V, GND a GND, TX a RX, RX a TX.

Visualización

Si prefieres un diagrama visual y no estás familiarizado con Fritzing, también puedes usar
herramientas como Tinkercad, que permite arrastrar y soltar componentes fácilmente y
simular circuitos.

Creación del Diagrama

1. Abre Fritzing o Tinkercad.


2. Arrastra los componentes a la ventana de trabajo.
3. Conecta los componentes siguiendo las conexiones mencionadas.

También podría gustarte