Cybertruck Controlada Por Bluetooth

by Lesu_06 in Circuits > Arduino

36 Views, 0 Favorites, 0 Comments

Cybertruck Controlada Por Bluetooth

Imagen de WhatsApp 2024-11-29 a las 02.28.03_173d3c76.jpg

Este proyecto está basado en el uso de un Arduino UNO como controlador principal para un vehículo robótico que opera mediante un módulo Bluetooth y un puente H modelo L298. A través de comandos enviados desde una aplicación móvil, se controla el movimiento del carro, permitiéndole avanzar, retroceder y realizar giros. Para la alimentación de los motores, se emplearon baterías externas que proporcionan la energía necesaria para su funcionamiento.

Supplies

  1. A4 Motores reductor de doble eje tipo.
  2. 4 Llantas complementaria al motor de doble eje.
  3. Cables.
  4. 1 Arduino uno.
  5. 2 Pilas de Li-Ion 3.7 VDC/9800mAh.
  6. Arduino Bluetooth V5
  7. Impresión PLA (Carcasa)
  8. Corte laser (Base)

Diseño Y Armado

Imagen de WhatsApp 2024-11-29 a las 08.34.16_1ef05042.jpg
Imagen de WhatsApp 2024-11-29 a las 08.34.16_55061cb5.jpg
Imagen de WhatsApp 2024-11-21 a las 21.46.30_33956ff4.jpg
Imagen de WhatsApp 2024-11-29 a las 08.34.16_f784378c.jpg
Imagen de WhatsApp 2024-11-19 a las 22.27.58_1e2bd1e8.jpg
IMG-20241202-WA0008.jpg
IMG-20241202-WA0010.jpg
IMG-20241202-WA0011.jpg
IMG-20241202-WA0012.jpg
IMG-20241202-WA0013.jpg
Imagen de WhatsApp 2024-12-02 a las 21.33.27_0337ac1d.jpg

El diseño del coche se llevó a cabo íntegramente en SolidWorks, siguiendo una serie de pasos simples y ordenados. El proceso comenzó con la creación de un croquis en el plano Alzado, seleccionado de los planos preestablecidos que ofrece el software. Para desarrollar el croquis, se emplearon herramientas específicas de croquizado, como la opción de dibujar líneas, añadir acotaciones y utilizar figuras geométricas diversas. Estas herramientas permitieron dar forma al diseño sin restricciones más allá de la creatividad.

Posteriormente, se utilizó la sección de operaciones para realizar la extrusión del modelo, definiendo cuidadosamente las dimensiones necesarias para esta etapa. Este diseño fue desarrollado con el propósito de ser fabricado mediante impresión 3D, por lo que tanto la base como la carcasa fueron diseñadas como piezas independientes, preparadas para ser ensambladas con precisión después de su fabricación.

Programacion

El código que se utilizo para controlar el bluetooth es el siguiente


#include <SoftwareSerial.h> //Libreria bluethoot

SoftwareSerial BT(8,9);

char leer = 0;

void setup() {

BT.begin(9600);

pinMode(2, OUTPUT);

pinMode(3, OUTPUT);

pinMode(4, OUTPUT);

pinMode(5, OUTPUT);

}

void loop() {

if(BT.available()>0){

leer=BT.read();

switch(leer){

case '1':

Adelante();

break;

case '2':

Atras();

break;

case '3':

Derecha();

break;

case '4':

Izquierda();

break;

case '5':

Detener();

break;

}

}

}

void Adelante(){

digitalWrite(2, HIGH);

digitalWrite(3, LOW);

digitalWrite(4, HIGH);

digitalWrite(5, LOW);

}

void Atras(){

digitalWrite(2, LOW);

digitalWrite(3, HIGH);

digitalWrite(4, LOW);

digitalWrite(5, HIGH);

}

void Derecha(){

digitalWrite(2, LOW);

digitalWrite(3, HIGH);

digitalWrite(4, HIGH);

digitalWrite(5, LOW);

}

void Izquierda(){

digitalWrite(2, HIGH);

digitalWrite(3, LOW);

digitalWrite(4, LOW);

digitalWrite(5, HIGH);

}

void Detener(){

digitalWrite(2, LOW);

digitalWrite(3, LOW);

digitalWrite(4, LOW);

digitalWrite(5, LOW);

}


Expl


Explicación Código Arduino

Este código de Arduino está diseñado para controlar un carro con cuatro motores usando un módulo Bluetooth HC-05. A continuación, te doy un resumen detallado de cómo funciona:


Conexión del Hardware:

Se usa un módulo Bluetooth HC-05 para la comunicación inalámbrica entre el Arduino y una aplicación móvil (como la creada con App Inventor).

El módulo Bluetooth se conecta a los pines 8 (RXD) y 9 (TXD) de la placa Arduino, utilizando la librería SoftwareSerial para crear una comunicación serial con el Bluetooth a una velocidad de 9600 baudios.

El Arduino controla cuatro pines de salida (2, 3, 4, 5) que están conectados a los motores del carro. Estos pines se utilizan para controlar la dirección de los motores.

Funcionamiento del Código:

Configuración Inicial (setup):


Se inicializa la comunicación serial a través del Bluetooth con BT.begin(9600);.

Se configuran los pines 2, 3, 4 y 5 como salidas (pinMode(2, OUTPUT);, etc.) para controlar los motores del carro.

Bucle Principal (loop):


El Arduino espera a que haya datos disponibles desde el módulo Bluetooth (if(BT.available()>0)).

Si se recibe un comando, se lee con BT.read() y se guarda en la variable leer.

Según el valor de leer, el Arduino ejecuta una de las siguientes funciones:

'1': Hace que el carro avance (Adelante()).

'2': Hace que el carro retroceda (Atras()).

'3': Hace que el carro gire a la derecha (Derecha()).

'4': Hace que el carro gire a la izquierda (Izquierda()).

'5': Detiene el carro (Detener()).

Funciones de Movimiento:


Adelante(): Los pines 2 y 4 se ponen en HIGH (encender los motores que hacen que las ruedas avancen), mientras que los pines 3 y 5 están en LOW.

Atras(): Los pines 2 y 4 se ponen en LOW, y los pines 3 y 5 en HIGH, haciendo que el carro retroceda.

Derecha(): Activa los pines 3 y 4 para que los motores giren en la dirección correcta para girar a la derecha.

Izquierda(): Activa los pines 2 y 5 para girar a la izquierda.

Detener(): Apaga todos los motores poniendo todos los pines 2, 3, 4 y 5 en LOW, deteniendo el movimiento del carro.

Control a través de Bluetooth:

Este código permite controlar el carro de manera remota a través de la aplicación móvil.

La aplicación móvil, creada en App Inventor, envía los comandos al módulo Bluetooth HC-05, y el Arduino recibe esos comandos y mueve el carro de acuerdo con la instrucción enviada.

En resumen, este código conecta el Arduino con un módulo Bluetooth HC-05 para controlar un carro a través de una aplicación móvil. El carro puede moverse hacia adelante, atrás, girar a la derecha, girar a la izquierda y detenerse, todo gracias a los comandos enviados a través del Bluetooth.

Programación En MIT App Inventor

bluetooth_3.jpg
bluetooth_2.jpg
bluetooth_1.jpg

Para realizar el proyecto de un vehículo controlado mediante Bluetooth utilizando MIT App Inventor, se siguió un proceso estructurado que abarcó tanto el diseño de la aplicación como la programación del vehículo en Arduino. A continuación, se detallan los pasos realizados durante su desarrollo:

Diseño de la Aplicación

  1. En primer lugar, se diseñó la interfaz de usuario en App Inventor. En esta etapa, se insertaron botones en la pantalla que representarían las funciones del vehículo: avanzar, retroceder, girar a la derecha y girar a la izquierda. Se utilizó una distribución intuitiva para que el usuario pudiera manejar el vehículo de forma sencilla.
  2. Además, se integró el componente Bluetooth Client desde la paleta de herramientas de connectivity, lo cual permitió establecer la conexión entre el móvil y el módulo Bluetooth del vehículo. Para gestionar esta conexión, se añadió un componente ListPicker, que se configuró para mostrar una lista de dispositivos Bluetooth disponibles. Se programaron sus eventos BeforePicking y AfterPicking para verificar si la conexión era exitosa y para notificar al usuario en caso de error.

Programación de la Lógica

  1. Posteriormente, en el editor de bloques, se programaron las funciones de cada botón. Cada vez que un botón era presionado, se enviaba un carácter específico a través del comando BluetoothClient.SendText. Por ejemplo, se configuró que el carácter '1' indicara avanzar, mientras que otros caracteres como '2' o '3' correspondían a las funciones de retroceder y girar, respectivamente.

Configuración del Arduino

  1. Finalmente, en la placa Arduino, se cargó un código que permitía interpretar los caracteres enviados desde la aplicación. Este código estaba basado en la librería SoftwareSerial, que se utilizó para gestionar la comunicación Bluetooth. Los comandos recibidos desde la app activaban los pines correspondientes para controlar los motores y ejecutar las acciones deseadas, como avanzar o girar.

Este enfoque permitió implementar una solución eficiente y funcional para controlar el vehículo de manera remota.

Conclusion

En conclusión, se logró el desarrollo exitoso de un vehículo robótico controlado mediante Bluetooth, cumpliendo con los objetivos establecidos. El proyecto combinó habilidades de diseño, programación y ensamblaje de componentes electrónicos.

El diseño del vehículo se realizó íntegramente en SolidWorks, utilizando herramientas como croquizados y operaciones de extrusión para crear una estructura optimizada para impresión 3D. Las piezas, diseñadas específicamente para ser ensambladas, aseguraron un montaje funcional y eficiente.

En cuanto al control del vehículo, se empleó un Arduino UNO como unidad principal, acompañado de un módulo Bluetooth y un puente H modelo L298 para gestionar los motores. Mediante comandos enviados desde una aplicación móvil, creada en MIT App Inventor, se controlaron las funciones de avance, retroceso y giro. La comunicación entre el dispositivo móvil y el módulo Bluetooth se configuró con precisión, logrando una interacción fluida y confiable.

Finalmente, el proyecto integró todos los elementos mencionados con éxito, alimentando los motores mediante baterías externas, y alcanzó el objetivo de diseñar y construir un vehículo funcional capaz de responder a comandos remotos, demostrando la integración efectiva de hardware y software.