Carro controlado por bluetooth y Arduino. Introducción. El motivo por el cual se desea diseñar un auto controlado por el teléfono celular es para poner pon er en prác práctica tica los con conoci ocimien mientos tos obt obtenid enidos os dur durante ante el curs curso o y se con conside sidera ra lo bastante complejo como para poner a prueba cada lección aprendida en las clases. Se necesita diseñar, investiar el estado del arte y pensar la solución más eficiente para cada problema. !uestro proyecto, nos ayuda a la investiación, nos dará a conocer cómo manejar un auto au to a tr trav avés és de dell te telé léfo fono no ce celu lula larr co con n un una a pr pro ora rama maci ción ón.. Co Con n es este te pr proy oyec ecto to desarrollaremos nuestras mentes para crear este auto de juuete hará demostrar "ue si podremos hacer "ue un auto se maneje atreves del teléfono celular #a "ue as$ demostraremos la proramación de un control remoto y el sistema en el teléfono celular para pa ra con contro trola larr tod todos os los tip tipos os de mov movimi imien ento tos s de dell au auto to %C %C.. Ade demás más de da darle rle un mejoramiento mejoramien to al tema y al auto antes mencionado, mencionado, &Seuidor de l$nea', lo cual se hace un mejoramiento manual y proramable, alo más dif$cil "ue nos reta, obviamente a mejorar e innovar.
Objetivo general. (emostra (emostrarr la proram proramació ación n de un sistema sistema operati operativo vo android android móvil hacia hacia la placa placa arduino "ue está instalada en el auto %C )teléfono celular * auto %C+.ambién para demostrar la proramación en nuevas tecnolo$as como lo es android. El coche es un proyecto mejorado, al seudior de l$nea, "ue nos ha ayudado a familiari-arnos con la plataforma Arduino. El proyecto consiste en la creación de un coche de bajo costo, a la "ue ha conectado un Arduino !/ y un módulo 0luetooth para comunicarse con la tarjeta y poder controlar el coche. Además, se ha añadido un sistema de sensores, "ue ayudan a la protección del mismo auto, en caso de cho"ue, a una distancia no mayor de entre 12 y 2 cm.
Objetivos especificos. 3(emostrar la facilidad de la proramación para inventar nuevas cosas "ue funcionen con tecnolo$a de computación. 3(emost 3(emostrar rar a factibil factibilida idad d de contral contrallaci lación, ón, con disposi dispositiv tivos os móviles móviles como teléfon teléfonos os celulares. 3(emostrar lo aprendido en clases anterirores sobre los 4ic y materiales utili-ables, as$ como codificación y decodificación en este proyecto, as$ como la mejora del seuidor de l$nea.
Diagrama. Arduino. “Arduino es una fuente abierta de una sola placa electrónica, descendiente de la plataforma de cableado de código abierto, diseñado para hacer que el proceso de utilización de la electrónica en proyectos multidisciplinares más accesibles. El hardware consiste en un diseño de hardware simple y abierto para la placa Arduino con un procesador Atmel A! ya bordo de entrada " salida de apoyo. El software consiste en un compilador de lengua#e de programación estándar y el gestor de arranque que se e#ecuta en el tablero. $ardware Arduino se programa mediante un lengua#e basado en %iring &sinta'is y bibliotecas(, similar a ) * * con algunas simplificaciones y modificaciones le+es, y un ambiente de procesamiento basado en el desarrollo integral. i
Con esto procedemos a dar una e5plicación y materiales utili-ados en la construcción del auto controlado a 0luetooth, as$ como el diarama constructivo, "ue nos ayuda a ensamblar, parte por parte. Diagrama de ensamble.
Materiales.
4ic 6789(
:otores A y 0
0ateria de 8 voltios
; %uedas de tracción
4rotoboard
Arduino /ne.
Sensores< =C>S%?;
1 led@
Shield 0luetooth =C>?2.
Construcción.
4ara hacer funcionar el carro controlado por 0luetooth se hicieron 9 pruebas e5perimentales, las cuales pondremos a continuación. Prueba 1: Puente H.
El puente =, nos hace referencia, al movimiento de los motores, nicamente con el 4ic 6789(, los cuales son movimientos coordinados de lado derecho a i-"uierdo )Biceversa+ más un avance previamente proramado en Arduino, mediante el siuiente códio.
/* Prueba del Puente H (L293D) El motor 1 se conecta a los pines 3 y 6 del Puente H El motor 2 se conecta a los pines 11 y 14 del Puente H La fuente de alimentacion de los Motores se conecta a tierra y el positivo al pin 8 del puennte H */ int i!"# $ %& int i!"' $ 6& int der# $ (& int der' $ 1)& int vel $ 2%%& // elocidad de los motores +),2%%void setup+- . pinMode+der# 0P-& pinMode+der' 0P-& pinMode+i!"# 0P-& pinMode+i!"' 0P-& void loop+- . analo5rite+der' )-& // etiene los Motores analo5rite+i!"' )-& delay +%))-& analo5rite+der# vel-& // 7rente 2 seundos analo5rite+i!"# vel-& delay +2)))-&
analo5rite+der# vel-& analo5rite+i!"# )-& delay +%))-&
// ereca )% seundos
analo5rite+der# )-& analo5rite+i!"# vel-& delay +%))-&
// 9!"uierda )% seundos
analo5rite+der# analo5rite+i!"# delay +%))-& analo5rite+der' analo5rite+i!"' delay +2)))-&
)-& )-&
// etiene los Motores
vel-& vel-&
// :eversa 2 seundos
Prueba : Puente H m!s lector de "luetoot# HC$%&.
4ara este paso nicamente se instaló el lector 0luetooth =C>?2, más las cone5iones previamente ubicadas en el diarama. sando solamente ; pines del mismo lector =C> ?2, las cuales son< 4!
Cone5ión
BCC DDDDDDDDDDDDDDDDDDDDD....Al positivo del 4rotoboard !( DDDDDDDDDDDDDDDDDDDDDDierra del 4rotoboard F( DDDDDDDDDDDDDDDDDDDDDD A %F del Arduino )%ecepción+. %F( DDDDDDDDDDDDDDDDDDDDDD.A F del Arduino )ransmisión+.
/* Carro Inalambrico Bluetooth ;one> 1 +>:> % ;; ?= ?= */ int i!"# $ %& int i!"' $ 6& int der# $ (& int der' $ 1)& int vel $ 2%%& // elocidad de los motores +),2%%int estado $ @@& // inicia detenido void setup+- . AerialBein+(6))-& pinMode+der# 0P-& pinMode+der' 0P-& pinMode+i!"# 0P-& pinMode+i!"' 0P-& void loop+-
// comunicacion con el 'luetoot
.
if+AerialavailaBle+-C)-. // lee el Bluetoot y almacena en estado estado $ Aerialread+-& if+estado$$@a@-. // 'oton despla!ar al 7rente analo5rite+der' )-& analo5rite+i!"' )-& analo5rite+der# vel-& analo5rite+i!"# vel-& if+estado$$@B@-. // 'oton 9D analo5rite+der' )-& analo5rite+i!"' )-& analo5rite+der# )-& analo5rite+i!"# vel-&
if+estado$$@c@-. // 'oton Parar analo5rite+der' )-& analo5rite+i!"' )-& analo5rite+der# )-& analo5rite+i!"# )-& if+estado$$@d@-. // 'oton E: analo5rite+der' )-& analo5rite+i!"' )-& analo5rite+i!"# )-& analo5rite+der# vel-& if+estado$$@e@-. analo5rite+der# analo5rite+i!"# analo5rite+der' analo5rite+i!"' if +estado $$@f@-. if
+estado$$@@-.
// 'oton :eversa )-& )-& vel-& vel-& // 'oton 0= se mueve sensando distancia
// 'oton 077 detiene los motores no ace nada
Prueba ': Puente H( lector "luetoot# HC$%& ) *ensores de C#o+ue HC$*,%-.
eniendo en cuenta las cone5iones del diarama, y la construcción mecánica del carro, ubicamos los sensores en la parte trasera y delantera del auto, junto con los códios de Arduino, vistos previamente, y añadiendo unas l$neas más, estos lectores al iual "ue el 0luetooth =C>?2, cuenta con ; pines, los cuales son BCC,%,EC=/,!( y sus cone5iones van de la siuiente manera< Para sensores HC$*,%-
4!
Cone5ión
BCCDDDDDDDDDDDDDDDDDDD Al neativo del 4rotoboard riDDDDDDDDDDDDDDDDDDD.. Al sensor de Arduino, G7 EchoDDDDDDDDDDDDDDDDDDD Al sensor de Arduino, G9 !(DDDDDDDDDDDDDDDDDDD. A la tierra del 4rotoboard
/* Carro Inalambrico Bluetooth HC-05 | en!or HC-"0# | P$%&'% H L293D #:9=0 L2(3+Puente H% 1) 6 1% ( F 1) 2 % 1 ( 16 ?= 4 % 12 13 El motor 1 se conecta a los pines 3 y 6 del Puente H El motor 2 se conecta a los pines 11 y 14 del Puente H La fuente de alimentacion de los Motores se conecta a tierra y el positivo al pin 8 del puennte H ;one> 1 +>:> % ;; ?= ?= GG;uidadoGG Las cone y :> al modulo 'luetoot deBen estar desconectadas en el momento "ue se reali!a la cara del codio +Aetc- al #rduino ;one
analo5rite+i!"# vel-& if+estado$$@c@-. // 'oton Parar analo5rite+der' )-& analo5rite+i!"' )-& analo5rite+der# )-& analo5rite+i!"# )-& if+estado$$@d@-. // 'oton E: analo5rite+der' )-& analo5rite+i!"' )-& analo5rite+i!"# )-& analo5rite+der# vel-& if+estado$$@e@-. // 'oton :eversa analo5rite+der# )-& analo5rite+i!"# )-& analo5rite+der' vel-& analo5rite+i!"' vel-& if +estado $$@f@-. // 'oton 0= se mueve sensando distancia diital5rite+ptri H9?H-& // enera el pulso de trier por 1)us delay+))1-& diital5rite+ptri L05-& duracion $ pulse9n+peco H9?H-& // Lee el tiempo del Eco distancia $ +duracion/2- / 2(& // calcula la distancia en centimetros delay+1)-& if +distancia I$ 1% JJ distancia C$2-. // si la distancia es menor de 1%cm diital5rite+13H9?H-& // Enciende LE analo5rite+der' analo5rite+i!"' analo5rite+der# analo5rite+i!"# delay +2))-& analo5rite+der' analo5rite+i!"' delay+%))-&
)-& )-& )-& )-&
// Parar los motores por 2)) mili seundos
vel-& vel-&
// :eversa durante %)) mili seundos
analo5rite+der' )-& analo5rite+i!"' )-& analo5rite+der# )-& analo5rite+i!"# vel-& delay+11))-& diital5rite+13L05-&
// ?irar durante 11)) miliseundos
else. analo5rite+der' analo5rite+i!"' analo5rite+der# analo5rite+i!"# if+estado$$@@-. analo5rite+der' analo5rite+i!"' analo5rite+der# analo5rite+i!"#
// Ai no ay oBstaculos se despla!a al frente )-& )-& vel-& vel-&
// 'oton 077 detiene los motores no ace nada )-& )-& )-& )-&
Pruebas del funcionamiento ) programado del carro.
4ara probar el funcionamiento del auto, se proramó y emparejo, desde el modulo 0luetooth =C>?2, dando abastecimiento a las pruebas conruentes de cada rueda yHo motor, as$ como poniendo obstáculos, los cuales detectan los sensores, =C>S%?;, estas pruebas fueron ver$dicas, y cumplieron sus funciones de acuerdo a los códios previamente proramados en Arduino. ota: El emparejamiento del módulo =C>?2 0luetooth se abarco nicamente con un
celular u otro dispositivo "ue contena instalado el sistema operativo Android, sin importar su versión, antiua o preliminar, aun"ue modificando se puede hacer desde una computadora con cual"uier sistemas operativo. ota : 6a aplicación se proramó nicamente en java, con el sistema Android,
asimilando una pa"ueter$a A4I, e instalándola en el sistema antes mencionado, para este proceso de proramación seuimos un v$deo tutorial, "ue podemos recomendar. ii
Conclusiones. 6o más importante de este proyecto es "ue loramos los objetivos establecidos al principio, además de considerar todo lo visto en clases anteriores, as$ como la proramación, codificación y decodificación de sistemas, consideramos además "ue este proyecto nos dio la oportunidad de interar realmente la parte práctica y no teórica, lo cual a nuestro parecer es alo til, en cual"uier aspecto, ya sea escolar, y personal, para desenvolver nuestras habilidades, en cuanto al proyecto, le vimos varias ventajas "ue al seuidor de l$nea y "ue podemos implementar a proyecto de mayor escala, as$ como autos controlados a laras distancias y proramados, como se ve en la robótica actual, sin embaro, las mejoras "ue pusimos, no nos fue bastantes sencillas , lo cual fue un ran reto para nosotros, y mucho de ello, lo consultamos en videos y códios de proramación desarrollados en CJJ, vistos en otras materias. Ahora bien, en cuanto al aspecto del proyecto, nos sentimos conformes de lo "ue acabamos de hacer, y en dicho caso, como mencionamos anteriormente, este proyecto se podr$a implementar, en la vida diaria, si as$ se nos permite. 4or nuestra parte es todo, y estamos muy satisfechos de nuestro trabajo.
i http://arduino.cl/arduino-uno/
ii https://www.youtube.com/watch?v=MiWLzbpfr!