Robot fumigador controlado por bluetooth

En este tutorial, aprenderás a construir un robot fumigador utilizando un ESP32 , que te permitirá automatizar la aplicación de líquidos en diversas superficies. A lo largo del tutorial, te guiaremos paso a paso en el ensamblaje de la estructura, el montaje de los componentes y la programación necesaria para hacer que tu robot funcione de manera efectiva controlado por bluetooth.

Materiales Necesarios:

01 ESP32 (Wemos D1 R32)

Este microcontrolador será el cerebro del robot. Controlará los motores para los movimientos del robot y los relés que activan el sistema de fumigación. También puedes usar un Arduino UNO R3 pero necesitarás adicionar un módulo bluetooth HC-05 o HC-06.

01 Sensor Shield v5

El Shield de sensores facilitará las conexiones de los componentes.

02 Motores DC

Estos motores permitirán que el robot se desplace. Serán controlados por el driver L298N para moverse hacia adelante, hacia atrás y girar.

01 Driver L298N

El driver se encargará de controlar los dos motores DC, recibiendo señales del ESP32 para determinar la dirección y velocidad de los motores.

04 Baterías 18650 y 02 cajas de baterías

Las baterías proporcionarán la alimentación necesaria para los motores DC y la bomba de agua. Se utilizarán dos en serie para obtener un rango de voltaje entre 7.4V y 8.4V.

01 Módulo reductor de voltaje (Step Down)

Este módulo reducirá el voltaje de 7.4V-8.4V a 5V, necesario para alimentar la bomba de agua y el atomizador, asegurando que estos dispositivos reciban el voltaje adecuado.

01 Bomba de agua de 5V

Esta pequeña bomba será responsable de mover el líquido para el proceso de fumigación. Será activada mediante uno de los relés controlados por el ESP32.

01 Atomizador de 5V

El atomizador convertirá el líquido en una fina niebla para una aplicación eficiente en la fumigación. También será controlado mediante un relé.

02 Relés de 5V de alto nivel

Los relés se utilizarán para encender o apagar la bomba de agua y el atomizador. Estos serán controlados por el ESP32, permitiendo que se active el sistema de fumigación solo cuando sea necesario. Al ser de alto nivel, los relés se activarán cuando reciban una señal HIGH. 

Cables de conexión

Los cables se utilizarán para conectar todos los componentes eléctricos y electrónicos entre sí.

01 Interruptor ON/OFF

Este interruptor permitirá controlar la alimentación de todo el sistema, encendiendo y apagando el robot fácilmente.

Chasis y ruedas para el robot (opcional, según tu diseño)

El chasis es la estructura donde se montarán todos los componentes. Las ruedas permitirán que el robot se desplace al ser impulsado por los motores DC.

Paso 1: Ensamblaje de la Estructura y Montaje Final del Robot

Antes de iniciar con los componentes electrónicos, es esencial ensamblar la estructura del robot. Existen varios diseños y chasis disponibles, pero en este tutorial utilizaremos un robot diferencial que utiliza 2 motores con sus respectivas llantas y una rueda loca de soporte para mantener el equilibrio.

1. Coloca todos los componentes en el chasis:

• Monta el sistema de locomoción (motores y ruedas) en el chasis del robot.

• Fija la bomba de agua y el atomizador en la parte superior del robot, asegurándote de que estén bien conectados al sistema de relés y Step Down.

• Coloca las baterías y asegúrate de que todo esté bien asegurado.

Paso 2: Conexiones eléctricas:

Sistema de locomoción:

1. Conexión de los motores:

• Conecta los dos motores DC al driver L298N. El motor derecho se conecta a la salida OUT1 y OUT2, mientras que el motor izquierdo va a OUT3 y OUT4 del driver.

2. Alimentación del sistema de locomoción:

• Alimenta el driver L298N con las 02 baterías 18650.

• Asegúrate de conectar un interruptor ON/OFF entre la fuente de alimentación y el driver para poder controlar la alimentación.

3. Control del Driver L298N desde el ESP32:

• Conecta los pines de control del driver a los pines correspondientes en el Shield del ESP32. Estos controlarán el giro y la velocidad de los motores.

Sistema de Fumigación:

1. Conexión del Step Down a 5V:

• Conecta el módulo Step Down a la salida de la segunda caja de baterías, y ajusta el voltaje de salida a 5V para alimentar la bomba de agua y el atomizador.

2. Control de la Bomba de Agua y el Atomizador:

• Conecta la bomba de agua y el atomizador a los relés de 5V.

• Los relés se conectarán al ESP32, que los activará o desactivará cuando se necesite realizar la fumigación.

Paso 3: Programación del ESP32

Carga el código en el ESP32 para controlar la locomoción del robot y el sistema de fumigación. Este código deberá manejar los motores mediante comandos, además de activar la bomba y el atomizador a través de los relés.

#include <BluetoothSerial.h>
#include <ESP32Servo.h>

// Pines del driver L298N
const int ENA = 27; // D6
const int IN1 = 14; // D7
const int IN2 = 12; // D8
const int IN3 = 13; // D9
const int IN4 = 5;  // D10
const int ENB = 23; // D11

// Pin del relé de la bomba
const int BOMBA = 19; // D12

// Pin del relé del atomizador
const int ATOMIZADOR = 26; // D2

// Bluetooth
BluetoothSerial SerialBT;

// Variables para almacenar el estado del relé de la bomba y del atomizador
bool bombaEncendida = false;
bool atomizadorEncendido = false;

Servo servo;

void setup() {
  // Inicialización de pines
  pinMode(ENA, OUTPUT);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
  pinMode(ENB, OUTPUT);
  pinMode(BOMBA, OUTPUT);
  pinMode(ATOMIZADOR, OUTPUT);

  // Bomba apagada
  digitalWrite(BOMBA, LOW);

  // Atomizador apagado
  digitalWrite(ATOMIZADOR, LOW);

  // Inicializar Bluetooth
  SerialBT.begin("Robot Fumigador");  // Nombre del dispositivo
  Serial.begin(9600);
  Serial.println("Esperando conexión Bluetooth...");

}

void loop() {
  if (SerialBT.available()) {
    char comando = SerialBT.read();
    Serial.println(comando);
    
    switch (comando) {
      case 'A':  // Avanzar
        adelante();
        break;
      case 'R':  // Retroceder
        atras();
        break;
      case 'I':  // Girar a la izquierda
        izquierda();
        break;
      case 'D':  // Girar a la derecha
        derecha();
        break;
      case 'T':  // Detenerse
        detener();
        break;
      case 'B':  // Activar/desactivar relé de la bomba
        toggleBomba();
        delay(100);
        toggleBomba();
        break;
      case 'M':  // Activar/desactivar relé del atomizador
        toggleAtomizador();
        break;
      default:
        detener();
        break;
    }
  }
}

void adelante() {
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
  analogWrite(ENA, 110);  // Velocidad
  analogWrite(ENB, 110);  // Velocidad
}

void atras() {
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  analogWrite(ENA, 110);  // Velocidad
  analogWrite(ENB, 110);  // Velocidad
}

void izquierda() {
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  analogWrite(ENA, 110);  // Velocidad
  analogWrite(ENB, 110);  // Velocidad
}

void derecha() {
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
  analogWrite(ENA, 110);  // Velocidad
  analogWrite(ENB, 110);  // Velocidad
}

void detener() {
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
  analogWrite(ENA, 0);
  analogWrite(ENB, 0);
}

void toggleBomba() {
  bombaEncendida = !bombaEncendida;
  digitalWrite(BOMBA, bombaEncendida ? HIGH : LOW);
  Serial.print("Relé bomba ");
  Serial.println(bombaEncendida ? "Apagado" : "Encendido");
}

void toggleAtomizador() {
  atomizadorEncendido = !atomizadorEncendido;
  digitalWrite(ATOMIZADOR, atomizadorEncendido ? HIGH : LOW);
  Serial.print("Relé atomizador ");
  Serial.println(atomizadorEncendido ? "Apagado" : "Encendido");
}

 

Paso 4: Control Bluetooth

Para controlar el robot de manera remota por bluetooth, utilizaremos la aplicación móvil EduConnect, disponible en Google Play Store.

Descárgala aquí: EduConnect – Arduino Bluetooth.

La aplicación permitirá manejar tanto el sistema de locomoción como la fumigación de manera sencilla desde tu dispositivo móvil.

Configuraremos los siguientes comandos en la app:

Una vez que hayas terminado, solo necesitarás abrir la aplicación EduConnect en tu dispositivo móvil, conectarte al módulo Bluetooth del robot, y podrás comenzar a moverlo utilizando los botones de la app.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *