You are on page 1of 14

Arduino UNO

Modulo bluetooth HC-05


Driver L293D
2 baterías de 9V
Broches para baterías de 9V
Jumpers y alambres para protoboard.
Protoboard.
Cautín y estaño.

Desarrollo de Aplicación Android

Para desarrollar la aplicación Android utilizaremos la plataforma MIT App Inventor 2,


para utilizar la plataforma necesitamos contar con nuestra cuenta de Google. (También
puedes descargar nuestra aplicación ya hecha y utilizarla si no quieres desarrollarla, el
Winrar contiene dos archivos uno es con extensión .apk una Aplicación para instalar en
tu móvil o Tablet Android y el otro es .aia archivo para editar en MIT app Inventor.
Descárgalos Aquí.)

1.-Lo primero que debemos de hacer para nuestra aplicación es crear un nuevo proyecto
y escribimos el nombre del proyecto.
2.- Cambiamos la orientación de nuestra pantalla en ScreenOrientation > Landscape y
en AlignHorizontal > Center.

3.- Del menú User Interface seleccionamos dos etiquetas (Label) las arrastramos a la
pantalla cambiamos sus propiedades Text Color > None como se muestra en la imagen,
esto solo es para dejar un espacio superior en blanco.
4.- En el menú Layout seleccionamos HorizontalArrangement y lo arrastramos a la
pantalla y adentro del recuadro colocamos un ListPicker y un Botón, en propiedades
cambiamos las letras que vienen por defecto, al ListPicker le ponemos CONECTAR y
al botón le ponemos SALIR, también le podemos cambiar los colores si deseamos.

5.- Colocamos otras dos etiquetas (Label) debajo de los botones con la misma
configuración que las anteriores, para crear otro espacio en blanco.

6.- Colocamos otros dos botones dentro de un HorizontalArrangement, a uno le


ponemos START y a otro STOP. A todos los botones les cambiamos los nombres en
Rename y el tamaño para que se vean más grandes, FontSize>18, Height > 40 pixeles,
Widht 150 pixeles.
7.- En el menú Sensors arrastramos el AccelerometerSensor y lo colocamos a la
pantalla, lo mismo hacemos con el BluetoothClient en el menú Connectivity, estos se
mostrarán en la parte inferior de nuestra pantalla, como se muestra en la imagen.

8.- Ahora nos cambiamos a la parte de programación en bloques en el menú Blocks que
se encuentra en la parte superior derecha.

10.- Lo primero que haremos es iniciar nuestra pantalla para eso hacemos esta función.
Para seleccionar los bloques, sólo pulsamos sobre los objetos de la izquierda y
buscamos el bloque, los botones True o False se encuentran en Logic. La función
desactiva el sensor, así como los botones. ACTIVAR, SALIR y DESACTIVAR.

11.- Este bloque es para agregar todas la dirección del bluetooth a la ListPicker.
12.- El siguiente bloque es para llamar a la dirección del módulo bluetooth y conectarse
a él, también se activan las botones ACTIVAR y SALIR.

13.- Este bloque es para activar el sensor al momento que hagamos click sobre el botón
ACTIVAR que previamente creamos.

14.- Esta función desactiva el sensor y los botones así mismo envía el dato numero 5 al
bluetooth. Este dato lo utilizamos más adelante para activar nuestros motores.

15.- Esta función es la que se encarga de enviar los datos a nuestro modulo bluetooth y
estos son interpretados por la tarjeta Arduino, por cada condición enviamos un dato que
son los números del 1 al 5. Como vemos en la figura se hace una comparación y a razón
de eso se envía un dato. Cabe recordar que el acelerómetro tiene tres ejes X, Y y Z
nosotros utilizaremos solo dos. Cada eje nos da un valor de -9 a 9 eso quiere decir que
cuando está estabilizado el sensor es 0 y depende de qué lado lo movemos variará a
positivo o a negativo.

16.- Por ultimo esta función es para que cuando hagamos click en el botón SALIR se
cierre la aplicación.

17.- Para descargar la aplicación e instalarla nos vamos al menú Built y le damos en
Save .apk to my computer. Se descarga un archivo .apk a nuestra computadora,
enviamos el archivo a nuestro celular, lo instalamos y Listo! Ahora solo nos falta
ensamblar nuestro carrito y escribir el código en Arduino.

Ensamble del carrito


Para ensamblar el kit de carrito mk-ca y finalizar con nuestro proyecto “Controlar un
robot con celular Android en App Inventor” lo primero que debemos de hacer es soldar
dos alambres de protoboard en los motorreductores de preferencia que sean sean del
color blanco y rojo para que tengamos una mayor facilidad a la hora de polarizarlos.
Después colocamos los motor reductores al acrílico y los atornillamos lo mismo
hacemos con la rueda loca.
Por último colocamos las llantas y listo! Ahora solo nos falta hacer la conexión del
circuito electrónico.
Circuito electrónico (cableado)
El circuito electrónico que utilizaremos para nuestro proyecto: ¨Controlar un robot con
celular Android en App Inventor¨, es muy simple solo tenemos que conectar
algunos componentes.

1.- Una de las baterías de 9V la conectamos al Arduino a los pines Vin y GND (el cable
rojo va al pin Vin y el negro a GND), después sacamos los 5V del Arduino para
alimentar los componentes del protoboard. Conectamos el Arduino y el driver L293D
como se muestra en el diagrama:

2.- Conectamos el módulo Bluetooth HC- 05 los pines VCC a 5V y GND a GND y
estos dos pines que son de comunicación van entrelazados RXD del Bluetooth a TX del
arduino y TXD del bluetooth a RX del Arduino. Conectamos como se muestra en el
diagrama:

3.- Conectamos las lineas de los motores así como la otra batería de 9V cabe destacar
que esta batería es la que va a alimentar nuestros motores por eso es importante
conectarla en el pin correspondiente del driver L293D(puente H).
4.- Conectamos los pines digitales del Arduino a nuestro Driver L293D estos pines son
los que van a controlar los giros de los motores, como hacer que el carro valla adelante,
atrás, derecha e izquierda.
1 int dato;
2
3 void setup() {
4
pinMode(8,OUTPUT); //Declaramos nuestros pines como salidas
5
6 pinMode(9,OUTPUT);
7
8 pinMode(10,OUTPUT);
9
10pinMode(11,OUTPUT);
11
12Serial.begin(9600); //Velocidad de comunicacion serial
13
14}
15
void loop() {
16
17if(Serial.available());{ //si la comunicacion esta habilitada
18
19dato = Serial.read(); //asignar el valor recibido a la variable
20dato
21
22// ADELANTE
23
24if(dato == 1){ // Este valor es el que estamos enviando desde
nuestra aplicacion
25
26digitalWrite(8,0);
27
28digitalWrite(9,1);
29
30digitalWrite(10,0);
31
32digitalWrite(11,1);
33
}
34
35//ATRAS
36
37if(dato == 2){
38
39digitalWrite(8,1);
40
41digitalWrite(9,0);
42
43digitalWrite(10,1);
44digitalWrite(11,0);
45
46}
47
48//DERECHA
49
50if(dato == 3){
51
52digitalWrite(8,1);
53
digitalWrite(9,0);
54
55digitalWrite(10,0);
56
57digitalWrite(11,1);
58
59}
60
61//IZQUIERDA
62
63if(dato == 4){
64
digitalWrite(8,0);
65
66digitalWrite(9,1);
67
68digitalWrite(10,1);
69
70digitalWrite(11,0);
71
72}
73
74//PARO
75if(dato == 5){
76
77digitalWrite(8,0);
78
79digitalWrite(9,0);
80
81digitalWrite(10,0);
82
83digitalWrite(11,0);
84
}
85
86}
87
88}
89
90
91
92
93
94
95

You might also like