Sei sulla pagina 1di 7

AUTO CONTROLADO POR BLUETOOTH.

Resumen—

Con la finalidad de implementar un automóvil controlado por bluetooth. Se incorpora un sistema de control con
ARDUINO 1, para la realización de un prototipo funcional; por lo que se procede con la selección adecuada de los
dispositivos electrónicos que garanticen el correcto funcionamiento de vehículo.

Para generar el control se realizó una programación en ARDUINO, emitiéndose señales digitales tipo impulso unitario
al circuito incorporado en el vehículo. Con un lenguaje de programación C, comandando cada acción a ejecutarse en
el prototipo, información receptada por un bluetooth HC05 y emitida hacie el prototipo, mismo que se acciona con
una fuente de poder de 5V.

Palabras claves—

ADUINO, señal digital, bluetooth, circuito, control.

AUTO CONTROLLED BY BLUETOOTH.


.
Abstract-

In order to implement a car controlled by bluetooth. It incorporates a control system with ARDUINO 1, for the
realization of a functional prototype; so we proceed with the proper selection of electronic devices that ensure the
correct operation of the vehicle. To generate the control, a programming was made in ARDUINO, issuing digital
signals type unit impulse to the circuit incorporated in the vehicle. With a programming language C, commanding
each action to be executed in the prototype, information received by a bluetooth HC05 and issued to the prototype,
which is operated with a 5V power source.

Keywords-

ADUINO, digital signal, bluetooth, circuit, control.


I. OBJETIVOS contener, es decir el ARDUINO 1, puente H y bluetooth
HC05.
a. General: Realizar el prototipo de un automóvil comandado
por bluetooth y Arduino como sistema de control.
b. Específicos 2.1.1 Arduino UNO
 Seleccionar adecuadamente los dispositivos Utiliza un microcontrolador Atmega en formato
electrónicos para la ejecución del circuito de control. DIP. La función de Arduino será recibir y procesar
 Ejecutar un código de programación para cada acción a las órdenes que el usuario envíe desde el teléfono
móvil para controlar el vehículo.
ejecutarse en el prototipo, simulando el
comportamiento real de un automóvil. La siguiente tabla muestra las especificaciones
 Generar el circuito de control que garantice el correcto técnicas más relevantes de la placa
funcionamiento del prototipo.
Tabla 1. Características técnicas Arduino UNO

I. INTRODUCCIÓN

En la actualidad la tecnología móvil se encuentra en constante


evolución; cada vez son mayores las utilidades que puede ofrecer
un dispositivo móvil.

El proyecto se fundamenta en la utilización de este tipo de


tecnologías como la de radio control a la tecnología móvil. Los
coches teledirigidos fueron una gran revolución tecnológica; el
poder manejar un coche con un mando de forma inalámbrica
despertó gran interés.

El poder unir el concepto de radio control con la tecnología


móvil, es el principal objetivo de este proyecto, que consistirá en
un prototipo de coche que podrá ser dirigido a través de un
teléfono inteligente o “smartphone”.

1.1 Aplicaciones industriales:

 Aviones
 Helicópteros
 Drones

1.2 Consideraciones

o La aplicación de control debe ser sencilla e


intuitiva, de modo que pueda ser utilizada por
cualquier usuario sin ningún problema ni dificultad,
capaz de crear una conexión inalámbrica entre el
vehículo y el dispositivo móvil con el que se Figura 1 Arduino UNO
maneje.
o El hardware del vehículo deberá contar con una
fuente de alimentación externa que permita la
2.1.2 Receptor Bluetooth
máxima movilidad posible.
o El software del controlador como el de la
El módulo de bluetooth HC-05 es un módulo Maestro-Esclavo,
aplicación móvil deben coordinarse correctamente
quiere decir que además de recibir conexiones desde una PC o
para que el vehículo procese las órdenes sin
tablet, también es capaz de generar conexiones hacia otros
errores
dispositivos bluetooth. Esto nos permite por ejemplo, conectar
dos módulos de bluetooth
II. MARCO TEÓRICO
Especificaciones:
Este proyecto describe el diseño y la implementación de un
vehículo controlado de manera remota a través de un
- Voltaje de alimentación: 3.6 V - 6 V
dispositivo móvil. Estará formado por dos grandes bloques:
- Distancia de alcance: 10m
hardware y software.
- Cuenta con un LED rojo de status que parpadea cuando es
prendido y es visible, queda prendido fijo cuando el
2.1 Hardware Del Sistema:
emparejamiento y la conexión serial se encuentra abierta.
Incluye todas las componentes que forman la estructura del
- Baud rate por defecto: 9600
vehículo y todos los controladores y chips que pueda
- Corriente de operación: < 40 mA
- Corriente modo sleep: < 1 mA
- Conector de 6 pines para Protoboard 2.2 Software Del Sistema: estará formado por la
- Dimensiones: 4.4 cm X 1.6 cm X 0.7 cm aplicación de manejo para el dispositivo móvil y
por el programa cargado en el controlador.

2.2.1 Arduino IDE


Es el entorno de programación usado para el
desarrollo del código que ejecutará el Arduino. Se
puede descargar de manera gratuita desde la página
oficial de Arduino. El lenguaje Arduino está
basado en C. Todas las librerías que utiliza Arduino
pueden consultarse en la página web o en el manual
que se ofrece de forma libre y gratuita. En la
Figura 2 Bluetooth HC-05

Los pines de la board correspondientes son:


o EN: poner a nivel alto, para configuración del módulo.
o VCC: Alimentación del módulo
o GND: masa del módulo
o TX: trasmisión de datos
o RX: recepción de datos a un voltaje
o STATE: para visualizar cuando se coloquen datos.

Figura 3 Esquema de conexión del bluetooth HC-05 con arduino UNO

2.1.3 Puente H Figura 5 interfaz de arduino IDE

Este chip servirá para generar movimiento en los dos siguiente imagen se puede ver la estructura básica
motores de corriente continua que posee un vehículo; para con la que se encuentra el usuario al empezar a
cada motor se realizará un puente H a través de este chip, y programar una aplicación.
así se podrán controlar los posibles giros del motor: girar
hacia adelante y girar hacia atrás. 2.2.2 ArduDroid.

Tabla 2 Características técnicas del Puente H Es una aplicación sencilla de Android que ayuda a controlar los
pines de un Arduino Uno desde el teléfono móvil. Android de
forma inalámbrica. Es tanto una aplicación de Android como un
programa Arduino. ArduDroid emplea una sencilla interfaz de
usuario de Android para:

1. Controlar los pines digitales de Arduino Uno


2. Enviar comandos de texto a Arduino
3. Recibir datos de Arduino a través de la serie Bluetooth
HC- 05.

Figura 4 Puente H
5. Finalmente se empareja el bluetooth del teléfono móvil
con el dispositivo HC-05, y mediante la aplicación
ArduDroid, se procede a emitir los comandos deseados
al vehículo.

Figura 7 App ArduDroid

I. METODOLOGÍA
Figura 5 Interfaz de la App ArduDroid
1. Luces led: para simular la direccional izquierda,
derecha, frenos y luces de parqueo. Se procede a
conectar las luces a las señales digitales del Arduino Donde:
uno, antecedidas por tres resistencias de 220Ω cuyo
código de colores es: rojo, rojo, café, dorado. Con la 02: corresponde al comando de direccional derecha.
finalidad de reducir el efecto directo del alto amperaje a
las luces, evitando que se quemen. 03: corresponde al comando de direccional izquierda.

Las luces amarillas que simulan direccional izquierda, 04: comando de luces de freno
derecha y luces de parqueo, se conectan en serie.
05: movimiento hacia delante del vehículo
Las luces led rojas que simulan las luces de los frenos
06: movimiento hacia atrás o retro del vehículo.
se conectan en paralelo.
07: luces de parqueo
2. Para accionar los giros del motor se procede a conectar
los puertos de las señales digitales del Arduino UNO al
II. CIRCUITO DE CONTROL
lado izquierdo del puente H, ya que solo se incorpora un
motor.
En la figura 6. Se puede apreciar un esquema del circuito de
control del vehículo donde se presenta la conexión de cada
El accionamiento del motor se da con una fuente de 5V
pin tanto del dispositivo receptor Bluetooth HC-05 como del
y una corriente de 0,4A. El puente H permite accionar
puente H, con cada puerto de Arduino UNO. De la misma
el giro del motor. Al girarlo hacia delante implica el
manera se presenta la conexión de las luces LED.
movimiento de traslación hacia delante del vehículo;
mientras que al accionar el giro hacia atrás se activa el
Las señales que emite el Arduino uno son tipo impulso
retro del mismo y el vehículo retrocede.
unitario ya que son señales digitales que trabajan con 0-1

3. Se conecta el receptor HC-05 al Arduino UNO de modo


que recepte las órdenes del dispositivo móvil y las
trasmita al circuito de control del vehículo de modo que
acate las disposiciones emitidas.

4. Tras realizar el código con lenguaje C, se procede a


cargar la información en el microprocesador del
Arduino.
Figura 6 Esquema del circuito de control

IV. REFERENCIAS

III. CONCLUSIONES Y RECOMENDACIONES [1] Arduino UNO.


https://www.arduino.cc/en/Main/ArduinoBoardUno
CONCLUSIONES: [2] Puente H Arduino. http://panamahitek.com/el-puente-
h-invirtiendo-el-sentido-de-giro-de-un-motor-conarduino/
o Se puede concluir que un correcto código de [3] Configuración chip L293D.
programación permite acatar de forma adecuada y http://www.instructables.com/id/Control-your-motors-with-
L293D-and-Arduino/ Página 142 de 144
secuencial los comandos deseados sin interrupción
[4] Configuración Módulo Bluetooth HC-05.
y con una correcta lectura, es decir el vehículo http://www.prometec.net/bt-hc05/
reacciona correctamente a la disposición que se le [5] Tutorial uso App ArduDroid.
envíe. http://appinventor.mit.edu/explore/tutorial-version/app-
inventor-2.html
o Los usos de los dispositivos electrónicos adecuados [6] Entornos gráficos para desarrollo de Arduino.
permiten un correcto funcionamiento del circuito http://robologs.net/2013/11/05/5-entornos-graficos-para-
de control, sin distorsiones en el tipo de señal arduino/
[7] Entornos gráficos para desarrollo de aplicaciones
enviada y sin dañar o circuito los elementos Android. http://www.pcactual.com/noticias/trucos/atrevete-
electrónicos. crear-propias-aplicaciones-paraandroid-2_11544
[8] Configuración módulos Bluetooth HC-05 y HC-06
RECOMENDACIONES: http://www.geekfactory.mx/tutoriales/bluetooth-hc-05-y-hc-
06-tutorial-deconfiguracion/
o Es recomendable incorporar la utilización de [9] Hardware libre (open hardware).
sensores ultrasónicos para equipar al vehículo con https://es.wikipedia.org/wiki/Hardware_libre
un mayor alcance tecnológico. [10] Enlazar dispositivos Bluetooth.
https://support.google.com/nexus/answer/2819579?hl=es
[11] Arduino IDE. http://playground.arduino.cc/Es/OSW06
o Se recomienda adecuar al vehículo con una mayor
potencia tanto en el motor y con mayor
alimentación para un mayor alcance de trasmisión.
V. ANEXOS return; // regrese al inicio de loop()
}
CODIGO DE PROGRAMACIÓN
}
/* CODE_JOB_1
* AREA: CONTROL AUTOMATICO // 2a) seleccionar el pin # solicitado para la acción digitalWrite
* INTEGRANTES: IDALMIS SINCHIGUANO - void set_digitalwrite(int pin_num, int pin_value)
* GABY RODRIGUEZ {
* CONTROL AUTOMATICO DEL AUTO switch (pin_num) {
*/
/* BLUETOOH */ CASO 7
#define CARACTER_INICIO_CMD '*' case 7: /* CUANDO SE PRESIONE EL PIN 7 SE
#define CARACTER_FINAL_CMD '#' ACTIVARA O DESACTIVARA EL LED SEGUN
#define CARACTER_DIV_CMD '|' CORRESPONDA*/
#define ESCRITURA_DIGITAL_CMD 10 pinMode(7, OUTPUT);
#define ESCRITURA_ANALOGA_CMD 11 digitalWrite(3, pin_value);
#define TEXTO_CMD 12 digitalWrite(4, pin_value);
#define LECTURA_ARDUDROID_CMD 13 delay(400);
#define MAX_COMMAND 20 digitalWrite(3, LOW);
#define MIN_COMMAND 10 digitalWrite(4, LOW);
#define LONGITUD_ENTRADA_STRING 40 delay(400);
#define ESCRITURA_ANALOGICA_MAX 255 digitalWrite(3, HIGH);
#define PIN_ALTO 3 digitalWrite(4, HIGH);
#define PIN_BAJO 2 delay(400);
digitalWrite(3, LOW);
String inText; digitalWrite(4, LOW);
void setup() { delay(400);
Serial.begin(9600); digitalWrite(3, HIGH);
Serial.println("PROYECTO CONTROL "); /* IMPRIMIR digitalWrite(4, HIGH);
COMO ENCABEZADO */ delay(400);
Serial.flush(); digitalWrite(3, LOW);
} digitalWrite(4, LOW);
delay(400);
void loop() digitalWrite(3, HIGH);
{ digitalWrite(4, HIGH);
delay(400);
/* BLUETOOOH */ digitalWrite(3, LOW);
digitalWrite(4, LOW);
Serial.flush(); delay(400);
int ard_command = 0; digitalWrite(3, HIGH);
int pin_num = 0; digitalWrite(4, HIGH);
int pin_value = 0; delay(400);
digitalWrite(3, LOW);
char get_char = ' '; //lee serial digitalWrite(4, LOW);
delay(400);
// esperar a que los datos entren digitalWrite(3, HIGH);
if (Serial.available() < 1) return; // si no hay datos en el serial digitalWrite(4, HIGH);
retornar al Loop(). delay(400);
digitalWrite(3, LOW);
// analizar entrada de indicador de inicio de comando digitalWrite(4, LOW);
get_char = Serial.read();
if (get_char != CARACTER_INICIO_CMD) return; // si no // adicione su código aquí, para este número de pin del
hay indicación de inicio del sistema, volver loop (). Arduino
// parse incoming command type break;
ard_command = Serial.parseInt(); // read the command CASO 6
case 6: /* CUANDO SE PRESIONE EL PIN 6 SE
// analizar el tipo de comando entrante ACTIVARA O DESACTIVARA EL LED SEGUN
pin_num = Serial.parseInt(); // leer el pin CORRESPONDA*/
pin_value = Serial.parseInt(); // leer el valor pinMode(6, OUTPUT);
digitalWrite(6, pin_value);
// OBTENER DATOS DE digitalWrite ARDUDROID // adicione su código aquí, para este número de pin del
if (ard_command == ESCRITURA_DIGITAL_CMD){ Arduino
if (pin_value == PIN_BAJO) pin_value = LOW; break;
else if (pin_value == PIN_ALTO) pin_value = HIGH;
else return; // error en el valor de PIN. regresar. CASO 5
set_digitalwrite( pin_num, pin_value); // Eliminar el
comentario de esta función para utilizarla
case 5: /* CUANDO SE PRESIONE EL PIN 5 SE ACTIVARA delay(400);
O DESACTIVARA EL LED SEGUN CORRESPONDA*/ digitalWrite(3, HIGH);
pinMode(5, OUTPUT); delay(400);
digitalWrite(5, pin_value); digitalWrite(3, LOW);
// adicione su código aquí, para este número de pin del
Arduino // adicione su código aquí, para este número de pin del
break; Arduino
break;
CASO 4
/* LUCES DE AUTO ------ LUCES DE AUTO */ CASO 2
case 4: /* CUANDO SE PRESIONE EL PIN 4 SE case 2: /* CUANDO SE PRESIONE EL PIN 2 SE
ACTIVARA O DESACTIVARA EL LED SEGUN ACTIVARA O DESACTIVARA EL LED SEGUN
CORRESPONDA*/ CORRESPONDA*/
pinMode(4, OUTPUT); pinMode(2, OUTPUT);
digitalWrite(4, pin_value); digitalWrite(2, pin_value);
delay(400);
digitalWrite(4, LOW); // adicione su código aquí, para este número de pin del
delay(400); Arduino
digitalWrite(4, HIGH); break;
delay(400); // por defecto
digitalWrite(4, LOW); // si nada más fue seleccionado, hacer el defecto (default)
delay(400); // default es opcional
digitalWrite(4, HIGH); }
delay(400);
digitalWrite(4, LOW); }
delay(400);
digitalWrite(4, HIGH);
delay(400);
digitalWrite(4, LOW);
delay(400);
digitalWrite(4, HIGH);
delay(400);
digitalWrite(4, HIGH);
delay(400);
digitalWrite(4, LOW);
delay(400);
digitalWrite(4, HIGH);
delay(400);
digitalWrite(4, LOW);
// adicione su código aquí, para este número de pin del
Arduino Figura 7 Conecciones de arduino
break;
CASO 3
case 3: /* CUANDO SE PRESIONE EL PIN 3 SE
ACTIVARA O DESACTIVARA EL LED SEGUN
CORRESPONDA*/
pinMode(3, OUTPUT);
digitalWrite(3, pin_value);
delay(400);
digitalWrite(3, LOW);
delay(400);
digitalWrite(3, HIGH);
delay(400);
digitalWrite(3, LOW);
delay(400);
digitalWrite(3, HIGH);
delay(400);
digitalWrite(3, LOW);
delay(400);
digitalWrite(3, HIGH);
delay(400); Figura 8 Montaje del cicuito vehículo
digitalWrite(3, LOW);
delay(400);
digitalWrite(3, HIGH);
delay(400);
digitalWrite(3, LOW);

Potrebbero piacerti anche