Control Bluetooth
App Inventor
PARA DISPOSITIVOS ANDROID
Pasos para crear un control remoto
bluetooth para controlar el carro
Ingresar al sitio web
http://ai2.appinventor.mit.edu/
Iniciar sesión usando su cuenta de Google
Crear un nuevo proyecto y asignarle un nombre
Cambiar el idioma a español (opcional)
Agregar a la pantalla:
DisposicionTabular 3 x 3 (Disposición)
DisposicionHorizontal
7 Botones a la pantalla ( Interfaz de Usuario)
1 SelectorDeLista ( Interfaz de Usuario )
1 ClienteBluetooth ( Conectividad )
1 Notificador ( Interfaz de Usuario )
Los botones pueden ser distribuidos de la siguiente forma :
Se sugiere cambiar el nombre de los
elementos:
Boton 1 – Avanzar
Boton 2 – Parar
Boton 3 – Reversa
Boton 4 – Izquierda
Boton 5 – Derecha
Boton 6 – Desconectar
Boton 7 - Salir
SelectorDeLista – ListaBluetooth
ClienteBluetooth – Bluetooth
Notificador1 - Notificador
Cambiar a la vista a bloques para
hacer la programación
Crear los siguientes bloques
Cuando Screen1 inicia el botón DESCONECTAR esta deshabilitado
Cuando LISTABLUETOOTH antes de seleccionar un
dispositivo, carga la lista de dispositivos bluetooth
cercanos ( Nombres y Direcciones ).
Cuando se selecciona la lista de elementos bluetooth conecta con
el elemento SI este es seleccionado, el botón DESCONECTAR se
habilita, la lista de elementos bluetooth se deshabilita y envía el
mensaje de CONECTADO.
Cuando se presiona el botón DESCONECTAR se habilita la Lista de
Selección, se deshabilita el botón DESCONECTAR, se desconecta el
BLUETOOTH y envía el mensaje de DESCONECTADO.
Configurar los botones de
movimiento
Cuando se presiona el botón AVANZAR el bluetooh del teléfono
envía un texto, la letra “A”.
Configurar los demás botones para que envíen otras letras via
bluetooth.
Opcionalmente se puedes crear un botón SALIR para cerrar la
aplicación y agregar el siguiente bloque para su configuración.
Puedes mejorar el diseño de tu
aplicación para hacerla mas
atractiva
Agrega iconos a tus botones
Cambia colores
Cambia la orientación de tu pantalla
Etc.
Cuando hayas finalizado tu
aplicación…
Generar un archivo APK y descargarlo a la computadora, para
posteriormente pasarlo al dispositivo móvil ( smartphone o Tablet)
con Sistema Operativo Android e instalarlo.
Es importante configurar las opciones de seguridad del dispositivo
para permitir la instalación de aplicaciones desde fuentes externas.
Para comprobar si se envían correctamente los datos de
nuestro teléfono hacia el Arduino…
Cargamos a nuestra placa el siguiente código:
#include <SoftwareSerial.h> // Incluimos la librería
SoftwareSerial
SoftwareSerial BT(10,11); // Definimos los pines RX y TX
del Arduino conectados al Bluetooth
void setup()
{
BT.begin(9600); // Inicializamos el puerto serie BT que
hemos creado
}
void loop() {
if (BT.available()) // Si llega un dato por el
puerto BT se envía al monitor serial
{
Serial.println(BT.read());
}
}
Vincular el teléfono al modulo HC-06
La contraseña default es 1234 o 0000
Abrir la aplicación y seleccionar “CONECTAR”,
te mostrará la lista de dispositivos bluetooth
Seleccionar HC-06
Crear funciones de movimiento
void Adelante(){
//Direccion motor A
digitalWrite (IN1, HIGH);
digitalWrite (IN2, LOW);
analogWrite (ENA, vel); //Velocidad motor A
//Direccion motor B
digitalWrite (IN3, HIGH);
digitalWrite (IN4, LOW);
analogWrite (ENB, vel); //velocidad motor B
}
Ejemplo de la estructura del programa
void loop() {
if (BT.available()) {
char dato= BT.read();
switch (dato()){
case ‘A':
Adelante();
break;
}
}
}
Diagrama de conexión electrónica
La locomoción diferencial utiliza dos ruedas principales que dan la tracción y por
diferencia de velocidad en estas podremos realizar giros. Usaremos esta configuración
por ser fácil de implementar, a diferencia de la configuración Ackerman (la que usan los
vehículo motorizados) que es más complicado de implementar la parte mecánica.
La principal diferencia entre estas dos configuraciones es en el giro del auto, en la configuración
diferencial tenemos que invertir el giro en uno de los motores o simplemente disminuir la
velocidad, en cambio en la configuración Ackerman necesitamos de un servomotor para girar
las llantas delanteras.