Professional Documents
Culture Documents
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.
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.
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