Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Control vehiculo
1. Control de vehículo arduino
con aplicación móvil
Tecnología 4ºESO
Antonio Vives
2. Vamos a crear una aplicación con
App Inventor para el control de un
vehículo vía bluetooth a través de
arduino.
Control de un vehículo con arduino y una aplicación
creada con app inventor.
3. Descripción.
Para la gestión del vehículo vamos a emplear un arduino nano
y, con la ayuda del móvil y vía bluetooth, vamos a darle las
instrucciones necesarias para su movimiento y control.
4. Descripción
● El vehículo tiene 2 ruedas
controladas por 2 servos
continuos.
● Una pinza controlada por
un servo.
● Una cabeza donde lleva
un sensor de ultrasonidos
y que se mueve con un
servo.
● Una luz en la pinza con
un LED.
● Control con bluetooth.
5. Descripción
Vamos a emplear los siguiente pines del arduino nano:
– 0 RX Bluetoth
– 1 TX BLuetooth
– 2 ECHO Ultrasonidos
– 3 Triger
– 4 Rueda_A1
– 5 Rueda_A2
– 6 Rueda_B1
– 7 Rueda_B2
– 10 Pin Luces
– 11 Servo cabeza con sensor de ultrasonidos
– 12 Servo pinza
Nota: En el presente programa falta programar el sensor de ultrasonidos.
6. Programa de arduino
● En primer lugar, incluimos la
librería de los servos, que es la
que vamos a utilizar.
● Después, declaramos todas las
variables que emplearemos en
el programa.
● Los pines de comunicación 0 y
1 no hace falta declararlos ya
que son los que utiliza
habitualmente arduino.
7. Programa de arduino
● En el setup iniciamos la
comunicación serie con la
velocidad de 9600.
● Declaramos los servo de la
pinza y la cabeza.
● Los servo de las ruedas los
hemos convertido en motores
de CC y serán “rueda A” y
“rueda B”.
● Declaramos el pin donde van
las luces.
8. Programa de arduino
● La comunicación con el arduino
es vía serie a través de bluetooth.
● Le pasaremos la información de
lo que queremos que haga a
través de unos valores numéricos
separados por comas y al final de
la orden llegará siempre un n.
– 1º valor = estadoadelante
– 2º valor = estadoatras
– 3º valor = estadoluces
– 4º valor = pinza
– 5º valor = cabeza
– Último dato recibido n
9. Programa de arduino
Cuando leemos n procedemos a
decirle al arduino lo que queremos
que haga:
– “estadoadelante = 1” hacemos que los dos
motores giren en sentido hacia adelante.
– “estadoatras = 1” hacemos que los dos motores
giren en sentido hacia atrás.
– “estadoadelante = 0” y “estadoatras = 0”
hacemos que los dos motores se paren.
– “estadoluces = 1” encendemos, si no,
apagamos el LED.
– Asignamos a “myservo1” el valor de pinza.
– Asignamos a “myservo2” el valor de
Posición_cabeza
– Hacemos un pequeño delay para que se
procese toda la información
10. Aplicación móvil.
La aplicación la vamos a crear con App
Inventor, quedando el diseño como el
de la imagen.
– CONECTAR BLUETOOTH es un
desplegable que nos dará todas las Macs
de bluetooth vinculadas con el móvil.
– ADELANTE, ATRÁS, PARO, GIRO_I,
GIRO_D y luces son botones.
– En PINZA y CABEZA se ha colocado un
deslizador para mover los servos de
cabeza y pinza.
Nota: falta programar los giros
11. Programa App inventor
Al iniciar la aplicación damos
valores iniciales a las
variables y tenemos
desactivados todos los
botones
12. Programa App inventor
● Cuando tocamos el
desplegable, nos sale
una lista de todos las
MACs vinculadas con el
dispositivo y, cuando
elegimos y conectamos,
cambiamos el color del
desplegable, enviamos
el primer dato que será
el estado de reposo del
vehículo y habilitamos
todos los botones.
● Dato enviado
0,0,0,90,55n
– 1º dato estadoadelante
– 2º dato estadoatras
– 3º dato luces
– 4º dato posición servo pinza
– 5º dato posición cabeza
13. Programa App inventor
Cada vez que tocamos un botón o el deslizador enviamos toda la
información, aquí tenemos el ejemplo del botón adelante.
En este caso,
ponemos la
variable
Estado_Adelante a
1 y Estado_Atras a
0 y ponemos el
texto de lo que
está ocurriendo.
Con el resto de
botones se hará lo
correspondiente.
15. ● Con todo esto ya podemos programar el resto de botones.
● Para programar los botones de GIRO hará falta incluir algún
dato más en los que se envían. Por ejemplo:
- Enviar un 2 en Estado_Adelante y que eso haga que cada
motor gire en un sentido.
- Enviar un 2 en Estado_Atras y que eso haga que cada motor
gire en un sentido pero al revés que antes.
(Lógicamente habrá que programarlo adecuadamente en
Arduino).
Resto de botones y mejoras
16. Enlaces descarga piezas 3D
● Pinza
● https://www.thingiverse.com/thing:2381041
● Ardubot
● https://www.thingiverse.com/thing:603907
● Video
– https://youtu.be/ZW7M60L-NQk