Controla Tu Carro Robótico Turbobot con Arduino y Bluetooth
Bienvenidos al curso de control del Turbobot, un carro robótico con mando a distancia basado en Arduino. Este curso está diseñado para que los estudiantes aprendan sobre robótica, programación y control remoto utilizando el kit Turbobot. Este kit es ideal para aprender los principios básicos de la robótica móvil y el uso de tecnologías STEM (Ciencia, Tecnología, Ingeniería y Matemáticas). Aquí exploraremos desde la estructura básica del kit hasta la programación y el control del carro mediante un módulo Bluetooth.
Materiales necesarios
Metodología STEM
La metodología STEM se centra en aplicar la teoría a proyectos prácticos, como la creación de un vehículo robótico controlado a distancia. Este enfoque permite a los estudiantes desarrollar habilidades en:
- Ciencia: Conocimiento de los componentes electrónicos.
- Tecnología: Uso de software como Arduino IDE para programar.
- Ingeniería: Diseño y montaje del carro.
- Matemáticas: Lógica y cálculo para control de motores.
Pasos a Seguir:
Conexión del Hardware
Conexión Sistema Tracción
Primero, conectaremos los motores del Turbobot a los pines de control del Arduino a través de un puente H (como el L298N). Esto nos permitirá controlar la dirección de los motores.
- Motor Derecho: Pines 2 y 4 del Arduino
- Motor Izquierdo: Pines 5 y 6 del Arduino
Conexión del Módulo Bluetooth
Ahora, conectaremos el módulo Bluetooth HC-05/HC-06 al Arduino a través de la librería SoftwareSerial para utilizar los pines 12 y 13:
- VCC: Pin de 5V del Arduino
- GND: GND del Arduino
- TX: Pin 12 del Arduino (configurado con SoftwareSerial)
- RX: Pin 13 del Arduino (configurado con SoftwareSerial)
Asegúrate de que las conexiones sean firmes y correctas, ya que esto permitirá la comunicación entre el Arduino y tu teléfono.
Librerías Necesarias:
Para este proyecto, utilizaremos la librería SoftwareSerial, que nos permitirá establecer comunicación con el módulo Bluetooth. Esta librería ya viene incluida en el entorno Arduino IDE, por lo que no es necesario descargar nada extra.
Cargar el Código al Arduino
A continuación deberás cargar el siguiente código a tu Arduino
/* Control Bluetooth Turbobot Desarrollado por RDC - Robotica de Colombia Visitanos: www.facebook.com/roboticadecolombia www.youtube.com/@RoboticadeColombia www.instagram.com/roboticadecolombia/ Mercadolibre: www.mercadolibre.com.co/perfil/ROBOTICADECOLOMBIA */ #include <SoftwareSerial.h> // Definición de pines del Bluetooth SoftwareSerial Bluetooth(12, 13); // RX, TX // Pines de los motores int motorDerecho1 = 5; int motorDerecho2 = 6; int motorIzquierdo1 = 9; int motorIzquierdo2 = 10; void setup() { // Inicializar los pines de los motores como salidas pinMode(motorDerecho1, OUTPUT); pinMode(motorDerecho2, OUTPUT); pinMode(motorIzquierdo1, OUTPUT); pinMode(motorIzquierdo2, OUTPUT); // Iniciar comunicación Bluetooth Bluetooth.begin(9600); Serial.begin(9600); // Mensaje de inicio del sistema Serial.println("Iniciando sistema..."); delay(2000); mostrarMenu(); } void loop() { if (Serial.available() > 0) { char opcion = Serial.read(); switch (opcion) { case '1': controlBluetooth(); break; case '2': controlManual(); break; case 'x': case 'X': mostrarMenu(); break; default: Serial.println("Opción no válida. Por favor, selecciona 1, 2 o x para volver al menú."); break; } } } void mostrarMenu() { Serial.println("\n--- MENÚ PRINCIPAL ---"); Serial.println("1: Control por Bluetooth"); Serial.println("2: Control Manual"); Serial.println("x: Volver al Menú Principal"); Serial.print("Selecciona una opción: "); } void controlBluetooth() { Serial.println("\n--- CONTROL BLUETOOTH ACTIVADO ---"); Serial.println("Usa la aplicación Bluetooth para controlar el Turbobot."); while (true) { if (Bluetooth.available() > 0) { char comando = Bluetooth.read(); if (comando == 'x' || comando == 'X') { mostrarMenu(); break; } ejecutarComando(comando); } } } void controlManual() { Serial.println("\n--- CONTROL MANUAL ACTIVADO ---"); Serial.println("F: Adelante, B: Atrás, L: Izquierda, R: Derecha, S: Detener, X: Volver al Menú"); while (true) { if (Serial.available() > 0) { char comando = Serial.read(); if (comando == 'x' || comando == 'X') { mostrarMenu(); break; } ejecutarComando(comando); } } } void ejecutarComando(char comando) { switch (comando) { case 'F': moverAdelante(); Serial.println("Moviendo adelante"); break; case 'B': moverAtras(); Serial.println("Moviendo atrás"); break; case 'L': moverIzquierda(); Serial.println("Moviendo a la izquierda"); break; case 'R': moverDerecha(); Serial.println("Moviendo a la derecha"); break; case 'S': detener(); Serial.println("Detenido"); break; default: Serial.println("Comando no válido"); detener(); break; } } // Funciones para controlar el movimiento void moverAdelante() { digitalWrite(motorDerecho1, HIGH); digitalWrite(motorDerecho2, LOW); digitalWrite(motorIzquierdo1, HIGH); digitalWrite(motorIzquierdo2, LOW); } void moverAtras() { digitalWrite(motorDerecho1, LOW); digitalWrite(motorDerecho2, HIGH); digitalWrite(motorIzquierdo1, LOW); digitalWrite(motorIzquierdo2, HIGH); } void moverIzquierda() { digitalWrite(motorDerecho1, HIGH); digitalWrite(motorDerecho2, LOW); digitalWrite(motorIzquierdo1, LOW); digitalWrite(motorIzquierdo2, HIGH); } void moverDerecha() { digitalWrite(motorDerecho1, LOW); digitalWrite(motorDerecho2, HIGH); digitalWrite(motorIzquierdo1, HIGH); digitalWrite(motorIzquierdo2, LOW); } void detener() { digitalWrite(motorDerecho1, LOW); digitalWrite(motorDerecho2, LOW); digitalWrite(motorIzquierdo1, LOW); digitalWrite(motorIzquierdo2, LOW); }
Comandos de Control Remoto Infrarrojo
Configuración de la App Bluetooth
Para controlar el Turbobot desde tu smartphone, utiliza una aplicación como Bluetooth Electronics o Arduino Bluetooth Controller. Configura botones con los siguientes comandos:
- X: Volver al Menú
- F: Adelante
- B: Atrás
- L: Izquierda
- R: Derecha
- S: Detener
Prueba y Ajuste
Una vez que todo esté conectado y el código cargado, enciende el Turbobot y empareja tu teléfono con el módulo Bluetooth. Utiliza la aplicación para controlar el movimiento y verifica que todo funcione correctamente. Si notas que el robot no responde como se espera, revisa las conexiones y asegúrate de que el código se haya cargado sin errores.
¡Felicitaciones! Ahora has aprendido a controlar tu Turbobot usando un módulo Bluetooth. Esto es solo el comienzo: puedes agregar sensores y mejorar el proyecto para que el Turbobot sea más autónomo y divertido.
Debe estar conectado para enviar un comentario.