Este proyecto consiste en manejar un coche mediante bluetooth y una APP instalada en nuestro Smartphone que permite enviar la información al bluetooth que está conectado a la placa picaxe. Al mover el móvil enviamos un dato a la placa y esto se traduce en una orden nueva para realizar los diferente movimientos.
Los materiales empleados son:
- 2 Motorreductores.
- Placa picaxe con chip 18M2+
- Driver L293D para control de motores.
- Módulo Bluetooth HC-05.
- Smartphone.
- APP gratuita "Blucontrol" o "MulticontrolBT" o similar.
- Batería Lipo 7,4v
En otras prácticas similares explico cómo conectar el módulo bluetooth a la placa y comunicarlo.
En otras prácticas similares explico cómo conectar el módulo bluetooth a la placa y comunicarlo.
Código del programa
setfreq m8 'Cambiamos la frecuencia a 8MHz
inicio:
serin C.0, T9600_8, b1 'recibimos en C.0 el dato y lo almacenamos en b1
inicio:
serin C.0, T9600_8, b1 'recibimos en C.0 el dato y lo almacenamos en b1
pause 50
debug b1
if b1=0 then goto quieto
if b1=16 then goto avance
if b1=32 then goto retroceso
if b1=4 then goto giro_izquierda
if b1=8 then goto giro_derecha
if b1=20 then goto avance_izquierda
if b1=24 then goto avance_derecha
if b1=36 then goto atras_izquierda
if b1=40 then goto atras_derecha
quieto:
high B.4
high B.5
high B.6
high B.7
goto inicio
avance:
high B.4
low B.5
high B.6
low B.7
pause 100
goto inicio
retroceso:
low B.4
high B.5
low B.6
high B.7
pause 100
goto inicio
giro_izquierda:
low B.4
low B.5
high B.6
low B.7
pause 100
goto inicio
giro_derecha:
high B.4
low B.5
low B.6
low B.7
pause 100
goto inicio
avance_izquierda:
high B.4
low B.5
high B.6
low B.7
pause 50
low B.4
low B.5
pause 100
high B.4
low B.5
high B.6
low B.7
pause 40
goto inicio
avance_derecha:
high B.4
low B.5
high B.6
low B.7
pause 50
low B.6
low B.7
pause 100
high B.4
low B.5
high B.6
low B.7
pause 40
goto inicio
atras_izquierda:
low B.4
high B.5
low B.6
high B.7
pause 50
low B.4
low B.5
pause 100
low B.4
high B.5
low B.6
high B.7
pause 40
goto inicio
atras_derecha:
low B.4
high B.5
low B.6
high B.7
pause 50
low B.6
low B.7
pause 100
low B.4
high B.5
low B.6
high B.7
pause 40
goto inicio
Modificación al programa para mejorar giro:
setfreq m8 ' Cambiamos la frecuencia para comunicarnos con el bluetooth.
inicio:
serin C.0, T9600_8, b1 ' capturamos el valor de la variable enviada por el móvil y lo almacenamos en b1
pause 50
debug b1
if b1=2 then goto adelante 'si b1=1 el programa va a la subrutina "adelante"
if b1=8 then goto atras
if b1=5 then goto parado
if b1=6 then goto giroD
if b1=4 then goto giroI
goto inicio
atras:
high B.4 'Motor 1 conectado a las salidas B.4 y B.5 hacia delante
low B.5
high B.6 'Motor 2 conectado a las salidas B.6 y B.7 hacia delante
low B.7
pause 100
goto inicio 'volvemos a inicio para comprobar que valor tiene la variable b1 y realizar una nueva acción
adelante:
low B.4
high B.5
low B.6
high B.7
pause 100
goto inicio
parado:
high B.4
high B.5
high B.6
high B.7
pause 100
goto inicio
giroD:
high B.6
low B.7
low B.4
high B.5
pause 250
low B.4
high B.5
low B.6
high B.7
pause 50
high B.4
high B.5
high B.6
high B.7
pause 50
low B.4
high B.5
low B.6
high B.7
pause 50
goto inicio
giroI:
high B.4
low B.5
low B.6
high B.7
pause 250
low B.4
high B.5
low B.6
high B.7
pause 50
high B.4
high B.5
high B.6
high B.7
pause 50
low B.4
high B.5
low B.6
high B.7
pause 50
goto inicio
debug b1
if b1=0 then goto quieto
if b1=16 then goto avance
if b1=32 then goto retroceso
if b1=4 then goto giro_izquierda
if b1=8 then goto giro_derecha
if b1=20 then goto avance_izquierda
if b1=24 then goto avance_derecha
if b1=36 then goto atras_izquierda
if b1=40 then goto atras_derecha
quieto:
high B.4
high B.5
high B.6
high B.7
goto inicio
avance:
high B.4
low B.5
high B.6
low B.7
pause 100
goto inicio
retroceso:
low B.4
high B.5
low B.6
high B.7
pause 100
goto inicio
giro_izquierda:
low B.4
low B.5
high B.6
low B.7
pause 100
goto inicio
giro_derecha:
high B.4
low B.5
low B.6
low B.7
pause 100
goto inicio
avance_izquierda:
high B.4
low B.5
high B.6
low B.7
pause 50
low B.4
low B.5
pause 100
high B.4
low B.5
high B.6
low B.7
pause 40
goto inicio
avance_derecha:
high B.4
low B.5
high B.6
low B.7
pause 50
low B.6
low B.7
pause 100
high B.4
low B.5
high B.6
low B.7
pause 40
goto inicio
atras_izquierda:
low B.4
high B.5
low B.6
high B.7
pause 50
low B.4
low B.5
pause 100
low B.4
high B.5
low B.6
high B.7
pause 40
goto inicio
atras_derecha:
low B.4
high B.5
low B.6
high B.7
pause 50
low B.6
low B.7
pause 100
low B.4
high B.5
low B.6
high B.7
pause 40
goto inicio
Modificación al programa para mejorar giro:
setfreq m8 ' Cambiamos la frecuencia para comunicarnos con el bluetooth.
inicio:
serin C.0, T9600_8, b1 ' capturamos el valor de la variable enviada por el móvil y lo almacenamos en b1
pause 50
debug b1
if b1=2 then goto adelante 'si b1=1 el programa va a la subrutina "adelante"
if b1=8 then goto atras
if b1=5 then goto parado
if b1=6 then goto giroD
if b1=4 then goto giroI
goto inicio
atras:
high B.4 'Motor 1 conectado a las salidas B.4 y B.5 hacia delante
low B.5
high B.6 'Motor 2 conectado a las salidas B.6 y B.7 hacia delante
low B.7
pause 100
goto inicio 'volvemos a inicio para comprobar que valor tiene la variable b1 y realizar una nueva acción
adelante:
low B.4
high B.5
low B.6
high B.7
pause 100
goto inicio
parado:
high B.4
high B.5
high B.6
high B.7
pause 100
goto inicio
giroD:
high B.6
low B.7
low B.4
high B.5
pause 250
low B.4
high B.5
low B.6
high B.7
pause 50
high B.4
high B.5
high B.6
high B.7
pause 50
low B.4
high B.5
low B.6
high B.7
pause 50
goto inicio
giroI:
high B.4
low B.5
low B.6
high B.7
pause 250
low B.4
high B.5
low B.6
high B.7
pause 50
high B.4
high B.5
high B.6
high B.7
pause 50
low B.4
high B.5
low B.6
high B.7
pause 50
goto inicio
Vídeo de las carreras realizadas
Trabajo realizado por: Francisco Montiel, Luis, Carlos, Alberto, David, Jaime, Francisco Díaz y Ángel.
No hay comentarios:
Publicar un comentario
En este espacio puedes comentar la entrada publicada o hacer preguntas o sugerencias