martes, 27 de diciembre de 2011

Control de un Carro por Bluetooth+ Android con PIC18F4550

AGV Real Size
Pues los últimos meses después del aniversario del blog deje de escribir demasiado solo escribí la entrada del PIC C 4.410 y unos recuerdos del año 2011, de ahí en adelante las practicas de Sosa y este proyecto que ahora les traigo me tuvieron bastante ocupado (claro no lo niego una que otra chevecita también xD).
Picture 382
A principio del semestre leí un articulo en el blog Neoteo que me llamo bastante la atención donde mostraban como utilizar el modulo bluetooth RN41 y una interfaz con Android creada con appinventor (dejo la nota al final del post como fuente), al mismo tiempo me llego una invitación de parte de los compañeros de Mecánica de 9° semestre para colaborar con ellos en el diseño de la parte electrónica de un vehículo.
Así que acepte y me puse a trabajar en ello, la idea que me surgió fue poder controlar el vehículo por medio del celular con Android y un 18F4550, usando el modulo RN41 como interface entre los dos dispositivos.

2011-11-23 23.08.49
Modulo RN41 en tarjeta

El sistema lo que hace es estar esperando un carácter ya sea a,b,c,d,e,f,g,h,i,j,k,l cada uno de ellos le indica una subrutina a seguir adelante, atras, izquierda, derecha, abrir, cerrar brazo… el PIC en su función principal esta siempre preguntando y cuando encuentra un carácter que proviene de la interrupción efectúa el submenu (comando)
2011-12-11 19.56.11
Haciendo Pruebas en el auto
El modulo RN41 como podrán ver en los links que dejo al final del post se comporta como un puerto serial y se comunica al PIC por medio de su terminales eso si tener en cuenta que el RN41 trabaja a 3.3v (si le aplican 5v lo queman)
2011-12-13 17.52.41
Auto Armado
En la aplicación de android lo único que haremos es mandar los caracteres que se necesitan, según sea el caso  y el botón asignado el smarphone enviara la información indicada al modulo RN41 y esta a su vez al microcontrolador que efectuara las actividades por medio de los UL293D.
2011-12-13 17.54.00
Pruebas de funciones de la pinza
Toda la información es a grandes rasgos ya que en los links encontraran toda la información mas detallada así como tutoriales en los que me base y que explican a detalle cada paso para la realización de una aplicación en appinventor y unirlo con el RN41
2011-12-13 17.53.46
Pruebas del auto
Es muy similar a trabajar con un puerto serie, si no es que igual, el modulo bluetooth también se puede comunicar con una PC (con bluetooth claro) si tienen posibilidades de cómpralo háganlo yo compre la versión SMD ya que es la mas barata, pero hay unas versiones que ya trabajan a 5 volts en alimentación y en transmisión serial (RX y TX) que aumenta un poco el costo pero vale la pena.
bloques
Diagrama en bloques Appinventor
SC20111212-000334
Instalado Aplicación
¿Mejoras a realizar?
  • Comunicación bidireccional que el auto envié información de temperatura, velocidad, obstáculos, localización, errores al smarphone.
  • Mejora de la aplicación mejor imagen, opciones y tal vez realizarlo con un verdadero software de programación como Eclipse.
  • Un Protocolo de comunicación eso de mandar un carácter no es nada seguro y diría Piña “Nada de una bonita programación”
SC20111212-011203
Aplicación en funcionamiento
Dejo todos los códigos, ensayos y demás al final del post para que puedan replicar el proyecto, modificar y demás, cualquier duda háganmela llegar y como este semestre vi el Reconocimiento de Colores mejorado espero el siguiente ver unos cuantos RN41 o módulos bluetooth funcionando
SC20111212-011211
Icono de la Aplicación
A algunos les parecerá sencillo y si señores es sencillo, es el objetivo de este post mostrarles que es sencillo manejar un modulo bluetooth y hacer aplicaciones en Android. Claro hay cosas un poco mas complicadas pero nada es imposible y claro es el objetivo.
Primeras pruebas con el modulo usando el programa de NeoTeo
Prendiendo y apagando un led, con el mismo programa de NeoTeo
Apertura y cierre de brazo

Así que si me ven con este móvil en el ITA el próximo semestre salúdenlo porque espero estar trabajando en el. Le falta mas explicación al post pero quiero que alcancen a probar appinventor los interesadosRisa

Feliz Año nuevo y  a probar el Appinventor
[actualización 3/01/2012]
Agradecimientos
A mis compañeros de Mecánica
JOSUE ISAI LUEVANO MASIAS
GUSTAVO MUÑOZ LOPEZ
IVAN ALEJANDRO ORTEGA MONTAÑEZ
un excelente trabajo en el diseño y creación de las piezas
Al Dr. Francisco Villalobos Piña por sus consejos
y a mi familia que siempre esta al tanto de mi en mis desveladas frente a la computadora leyendo, programando y armando circuitos, los amo.

Programa en Appinventor, Programas PIC, Circuito, Documentación, APK y Extras

NOTA: AppInventor como se conoce será cerrada por Google el 31 de diciembre y pasara a ser Open Source a cargo de MIT, así que se espera vuelva a salir en el primer cuatrimestre del 2012 ya con MIT.

Fuentes:
NeoTeo RN41
Sparkfun
RN41
http://blog.basicmicro.com

App Inventor: Hola Mundo en Android Neoteo

AppInventor

23 comentarios:

Unknown dijo...

que tal, no había visto este espacio, se ve bueno.me gustaría hacer algo igual,aunque sea solo prender y apagar un led. tengo una duda, haber si me puedes ayudar .¿ puedo usar otro modulo bluetooth? ( el HC-06 ) y otra cosa, que es el numero que pones al principio?(00:06:66.. etc)es necesario?
espero me puedas contestar, gracias

Sabas dijo...

Si, si puedes usar otro modulo cualquier modulo puedes usar y el numero que mencionas es la dirección MAC del dispostivo o modulo ese es unico e irrepetible de cada modulo ahi debes colocar la MAC de tu modulo en particular

Unknown dijo...

aaa muchas gracias por contestar, entonces pondré en practica lo mas pronto posible este proyecto y si salen dudas, por aquí estaré molestando jej, haber si me puedes ayudar. gracias otra vez

kike dijo...

que tal, otra vez yo, lo que pasa es queya tengo mi modulo bluetooth pero a la hora de compilar el prigrama del pic me saje 4 errores, tres son or falta de punto y coma y poniendoselo se quitan los errores pero me sale otro error que dice.... error unknown keyword in #FUSES "ICSP" y dandole doble clik me manda a esta linea del codigo .. #FUSES ICSP2 //ICD uses PGC2/PGD2 pins

espero me puedas ayudar, muchas gracias

Sabas dijo...

Esos errores te los marca el programa que esta en este post?

Unknown dijo...

de la carpeta agv para descargar , en donde dice programas en picc

Sabas dijo...

Que versión de PICC estas usando? acabo de compilar en la versión 4.128. Solo me marco lo errores de los puntos y coma, perno el de ese fuse, checalo. Saludos

Unknown dijo...

ok, gracias, tendré que ver bien eso de mi versión por que ya son varias veces que me pasa con otros programas.

pero ya logre comunicarlo usando tu programa, como no supe que hacer con ese error simplemente elimine la linea y ya me funciona :)
de nuevo, muchas gracias!!

Jorge dijo...

Hola estoy llevando una materia de microcontroladores y nos interesa realizar este proyecto ya que esta muy interesante, me podrías decir que lenguaje de programación utilizaste te lo agradecería mucho

Sabas dijo...

Es en lenguaje C, el programa donde compilo es CSS o mas bien conocido como PICC

Unknown dijo...

y se podría realizar con otro aparte del pic 18f4550?

Sabas dijo...

Si, casi con cualquier microcontrolador

XARE dijo...

HOlaaaa ayudameeee como me conecto ami modulo bluetooth si tiene una contraseña predeterminada "1234" como la puedo ingresar desde app inventor

Sabas dijo...

Ese 1234 se coloca al hacer la primera sincronizacion (emparejamiento) con el dispositivo, en eso no tiene nada que ver appinventor

Unknown dijo...

hola sabas tengo una duda en cuanto al micro voy a utilizar el 18f4550 con crystal de 4 mhz es posible esto a cuanto lo debo de grabar en picc??

Anónimo dijo...

hola, que buen proyecto :) Felicidades les quedo muy padre.
Quisiera saber cual es la distancia máxima que existe entre el carro y el celular, sin que el celular pierda el control del carro?
Saludos

Sabas dijo...

El alcance de el es de 100 mts segun las especificaciones del RN41, si fuera un RN42 solo serian 10 metros, depende de tu modulo bluetooth, saludos

Unknown dijo...

HOLA QUE TAL PODRIAS AYUDARME CON ESE PROYECTO? MI CORREO ES: jallr0890@hotmail.com

Anónimo dijo...

hola señores neo teo los felicito de ante mano por ese trabajo tan arduo, paso a contarles, soy estudiante de electrónica y tengo muchos deseos hacer algo parecida de lo que ustedes hacen, pero he tenido problemas con el código del pic, programa en C ustedes me pueden ayudar con eso, les agradezco enormemente por esta ayuda

Unknown dijo...

Podrias volver a subir los archivos ??

Unknown dijo...

Hola, intente revisar los archivos pero ya no están... podrías subirlos nuevamente o compartirlos? carlosmauriciot@gmail.com te lo agradecería infinitamente.

Unknown dijo...
Este comentario ha sido eliminado por el autor.
Carlos dijo...

Que tal amigo, disculpa podrias de favor actualizar la app, es que ya no funciona, muchas gracias. Todo lo demas perfecto