Robot móvil controlado por bluetooth

En este tutorial, aprenderás a construir un robot móvil y controlarlo desde un dispositivo móvil mediante bluetooth. A lo largo del tutorial, te guiaremos paso a paso en la conexión de los componentes y la programación necesaria para hacer que tu robot funcione de manera efectiva controlado por bluetooth.

Materiales Necesarios:

01 Arduino UNO

Este microcontrolador será el cerebro del robot. Controlará los motores para los movimientos del robot:

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 Arduino para determinar la dirección y velocidad de los motores.

02 Baterías 18650 y 01 caja de baterías

Las baterías proporcionarán la alimentación necesaria para todos los componetnes del robot. Se utilizarán dos en serie para obtener un rango de voltaje entre 7.4V y 8.4V.

01 Módulo bluetooth HC-05, HC-06, HM-10 o AT-09

Este módulo nos servirá para conectar nuestro robot de forma inalámbrica a un dispositivo móvil. Podemos usar los módulo de bluetooth clásico (HC-05 o HC-06), o también los de bluetooth de bajo consumo BLE (HM-10 o AT-09). Recomendamos estos últimos ya que al ser BLE consumen muy poca energía, pero si prefieres usar los otros modelos el código y conexiones es el mismo.

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. Nosotros usaremos el kit de robot móvil 2WD

Paso 1: Ensamblaje de la Estructura y Montaje 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 los motores y ruedas en el chasis del robot.

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

• Coloca los demás componentes sorbe el chasis y luego conéctalos según el diagrama de conexiones.

Paso 2: Diagrama de conexiones:

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 robot:

• 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 el encendido y apagado del robot.

3. Control del Driver L298N desde el Arduino:

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

4. Módulo bluetooth:

  • Rx (PIN 1) -> Tx del módulo bluetooth
  • Tx (PIN 0) -> Rx del módulo bluetooth

IMPORTANTE: Como estamos usando los pines 0 y 1, deberás desconectar el módulo bluetooth cada vez que subas un código al Arduino.

NOTA: El módulo bluetooth debe estar configurado para comunicarse a una velocidad de 9600bps

Paso 3: Programación del Robot

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.

// Pines del driver L298N
const int ENA = 6;
const int IN1 = 7;
const int IN2 = 8;
const int IN3 = 9;
const int IN4 = 10;
const int ENB = 11;

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

  // Inicializar comunicación Serial a 9600 bps
  Serial.begin(9600);
}

void loop() {
  if (Serial.available()) {
    char comando = Serial.read();
    
    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;
      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);
}

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.

Configuraremos la app de la siguiente manera, en Ajustes elegimos el modelo del módulo bluetooth, en este caso HM-10. Si estás usando un HC-05 o HC-06 sólo debes elegirlo, el código no varía:

En la pantalla de Comandos, configuraremos los siguientes comandos:

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.

Si necesitas más detalles sobre como conectar la aplicación al módulo bluetooth, puedes revisar este tutorial.

Si tienes alguna duda, puedes dejar tu comentario y te ayudaremos.

Deja un comentario

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

Carrito de compra