Crear coche controlado por Bluetooth con arduino

of 12 /12
CONTROL DE UN CARRO RC CON BLUETOOTH Alejandra Onofre Mazon.-1 Carlos Adrian Avilez Garcia.-1 Mirna Monserrat Sotelo Garcia.-1 Eddie Omar Arias Carteño.-1 1 Ingeniera en Telemática, Universidad Politécnica del Estado de Guerrero RESUMEN El proyecto tiene como objetivo realizar el control de un carro de control remoto mediante la comunicacion bluetooth, esto para poder vislumbrar la flexibilidad de los dispositivos bluetooth, que aunque no son seguros, (la comunicacion bluetooth puede ser interferida facilmente), son de gran ayuda en aplicaciones sencillas como lo son transferencias de archivos ligeros como canciones y fotos, tambien en accesorios para los smartphones siendo uno de los mas llamativos el nuevo GEAR de samsung que funciona con bluetooth 4.0, utilizando una aplicacion en android ubicada en un celular para poder controlarlo mostrando la flexibilidad de andriod contra otros sistemas como el IOS, la aplicacion estara creada en APP ANDRIOD INVENTOR, tambien utilizaremos arduino UNO como “cerebro” para controlar todos los circuitos y este tendra añadido el modulo bluetooth HC-06 para realizar la comunicacion bluetooth con el telefono, se implementara una camara ip para poder ver los que el carro RC tiene enfrente y poder manejarlo aunque se pierda contacto visual. Palabras Claves: Bluetooth, aplicacion android,comunicacion, arduino,camara ip. INTRODUCCIÓN El estándar Bluetooth se basa en el modo de operación maestro/esclavo. El término "piconet" se utiliza para hacer referencia a la red formada por un dispositivo y todos los dispositivos que se encuentran dentro de su rango. Pueden coexistir hasta 10 piconets dentro de una sola área de cobertura. Un dispositivo maestro se puede conectar simultáneamente con hasta 7 dispositivos esclavos activos

Embed Size (px)

description

se describe como crear un carro rc con un arduino y una aplicacion en andriod

Transcript of Crear coche controlado por Bluetooth con arduino

  • 1. CONTROL DE UN CARRO RC CON BLUETOOTH Alejandra Onofre Mazon.-1 Carlos Adrian Avilez Garcia.-1 Mirna Monserrat Sotelo Garcia.-1 Eddie Omar Arias Carteo.-1 1 Ingeniera en Telemtica, Universidad Politcnica del Estado de Guerrero RESUMEN El proyecto tiene como objetivo realizar el control de un carro de control remoto mediante la comunicacion bluetooth, esto para poder vislumbrar la flexibilidad de los dispositivos bluetooth, que aunque no son seguros, (la comunicacion bluetooth puede ser interferida facilmente), son de gran ayuda en aplicaciones sencillas como lo son transferencias de archivos ligeros como canciones y fotos, tambien en accesorios para los smartphones siendo uno de los mas llamativos el nuevo GEAR de samsung que funciona con bluetooth 4.0, utilizando una aplicacion en android ubicada en un celular para poder controlarlo mostrando la flexibilidad de andriod contra otros sistemas como el IOS, la aplicacion estara creada en APP ANDRIOD INVENTOR, tambien utilizaremos arduino UNO como cerebro para controlar todos los circuitos y este tendra aadido el modulo bluetooth HC-06 para realizar la comunicacion bluetooth con el telefono, se implementara una camara ip para poder ver los que el carro RC tiene enfrente y poder manejarlo aunque se pierda contacto visual. Palabras Claves: Bluetooth, aplicacion android,comunicacion, arduino,camara ip. INTRODUCCIN El estndar Bluetooth se basa en el modo de operacin maestro/esclavo. El trmino "piconet" se utiliza para hacer referencia a la red formada por un dispositivo y todos los dispositivos que se encuentran dentro de su rango. Pueden coexistir hasta 10 piconets dentro de una sola rea de cobertura. Un dispositivo maestro se puede conectar simultneamente con hasta 7 dispositivos esclavos activos
  • 2. (255 cuando se encuentran en modo en espera). Los dispositivos en una piconet poseen una direccin lgica de 3 bits, para un mximo de 8 dispositivos. Los dispositivos que se encuentran en el modo en espera se sincronizan, pero no tienen su propia direccin fsica en la piconet. [1] En el resumen a grandes rasgos hablamos sobre el modulo que estaremos utilizando para este proyecto, el modulo utilizado es el HC-06, una de las ventajas principales ventajas del mdulo HC- 06, adems de su pequeo tamao y sus buenas caractersticas de transmisin y recepcin que le brindan un alcance muy amplio (por tratarse de un sistema local Bluetooth), es el bajo consumo de corriente que posee tanto en funcionamiento, como en modo de espera, es decir, alimentado con energa, pero sin conexin o enlace a otro dispositivo, por ejemplo, un mvil con SO Android. Otra caracterstica interesante de este mdulo es que una vez que ha realizado un enlace con otro dispositivo es capaz de recordarlo en su memoria y no solicita validacin alguna (1234 por defecto) Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo diseada para facilitar el uso de la electrnica en proyectos multidisciplinares. Arduino puede tomar informacin del entorno a travs de sus entradas y controlar luces, motores y otros actuadores. El microcontrolador en la placa Arduino se programa mediante el lenguaje de programacin Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectar a un computador. [2] El sistema operativo andriod es un SO creado por google con el fin de unificar los SO de los telefonos celulares, es de codigo abierto (google lo libero bajo la licencia Apache) esto quiere decir que cualquiera puede desarrollar aplicaciones para andriod, tambien es un sistema multi task (multi tarea) que te permite tener varias aplicaciones ejecutandose al mismo tiempo he interactuar en ellas; la aplicacion en andriod para este proyecto la realizaremos en el app inventor que es una pagina web que corre un scrip de java que te permite crear aplicaciones andriod diseando por un lado la interfaz de una forma sencilla y que no requiere preparacion alguna, esta manera de disear interfaz es similar a la usada por Microsoft en su Visual Studio, por el lado de codigo o programar acciones de los botones o los componentes que se agregaron a la interfaz es de una forma muy intuitiva, cualquier persona con un poco de entrenamiento puede crear acciones, esto se logra mediante la union de bloques, es bastante similar a los
  • 3. entornos de aprendizaje como el raptor. La aplicacin se puso a disposicin del pblico el 12 de julio de 2010 y est dirigida a personas que no estn familiarizadas con la programacin informtica. En la creacin de App Inventor, Google se bas en investigaciones previas significativas en informtica educativa. Fue creada a mediados del 2009 el profesor Harold Abelson del MIT . Antes de salir al mercado se ha probado en diferentes centros educativos como en el centro educativo CEtis y la han utilizado desde nios de 12 aos hasta licenciados universitarios sin nociones de programacin. Las cmaras IP permiten ver en tiempo real qu est pasando en un lugar, aunque est a miles de kilmetros de distancia. Son cmaras de vdeo de gran calidad que tienen incluido un ordenador a travs del que se conectan directamente a Internet. El acceso a estas imgenes est totalmente(en el caso que este cifrado) restringido: slo las personas autorizadas pueden verlas. Tambin se puede ofrecer acceso libre y abierto si el vdeo en directo se desea incorporar al web site de una compaa para que todos los internautas tengan acceso. Para este proyecto se utilizara la camara de un celular Sony Ericcsion c 1504 de 3.2 mp, para poder usar este telefono como camara ip se descargo la aplicacion ip webcam del la andriod store fue crada por Pavel Khlebovich en abril de 2013 y su ultima revicion fue el 14 de abril de 2014, esta apicacion te permite convertir tu celular en un pequeo servidor, para obtener el video se debe ingresar desde el navegador web de tu pc o celular a la direccion que le es otorgada al celular por el enrutador en el desarrollo dejaremos la forma de conectarse a la camara ip. DESARROLLO Armado del Circuito El diagrama del circuito esta compuesto por un modulo bluetooth que actuara como enlace serialpara resivir los datos que se estan resiviendo via inalambrica, un arduino UNO que es el que controla el trafico de datos y controla las salidas correspondientes, tambien esta sealado un circuito L 293b que es un controlador para crear un Puente H para poder asi controlar la direccion del giro de los motores es decir para que avance o retorseda el carrito. Comenzaremos a explicar de iz a derecha comenzemos por el como se debe conectar el modulo bluetooth, el HC 06 cuanta con 4 pines que son un pin para corriente, uno para tierra, un RX y un RY estos ultimos son los encargados de transmitir los datos
  • 4. Bien los pines de corriente deben ser conectados de la siguiente manera: Vcc-------->5v Gnd-------->gnd Rx-------->Tx arduino(pin1) Tx -------->Rx arduino(pin 0) Para conectar el puente h que es l parte mas importante del circuito ya que de este depende la direccion del coche se utilizaran los pines 2,3,4,5 de el arduno 1, el L293 cuanta con 16 pines la forma de conectarlos es la siguiente PIN DEL L293 CONEXION 1 A una resitencia de 1k y conectada a corriente del arduino 2 A pin 3 de arduin 3 A tierra del motor 1 4 A tierra de arduino y de fuente externa 5 A tierra de arduino y de fuente externa 6 A corriente de motor1 7 Pin 2
  • 5. 8 Corriente de fuente externa 9 A una resitencia de 1k y conectada a corriente del arduino 10 Pin 5 11 A corriente de motor2 12 A tierra de arduino y de fuente externa 13 A tierra de arduino y de fuente externa 14 A tierra de motor 2 15 Pin 4 16 Corriente arduino Con este circuito se garantiza que tendra los movimientos necesarios ya que el motor 1 se encarga de la traccion y el motor dos de la direccion Programacion de arduino UNO el programa de arduino se encarga de leer un dato que llega por el serial y inicia un switch que comparara el dato de entrada con los cases si coincide con alguno ejecutara el codigo que este en este, en nuestra aplicacion el codigo de los cases son instrucciones para dar voltaje a alguno de los 4 pines del arduino que se estan utilizando, esto activara al L293 y dara la direccion correcta al coche, no hicimos uso de ninguna libreria especifica ya que el bluetooth no es mas que una medio serial solo usamos la declaracion y las funciones de SERIAL a continucacion el codigo comentado. //Se crea una variable donde se almacenaran los valores que reciba arduino int unChar; //Se crearan las funcionas que se van a ocupar void adelante(); void reversa(); void parado(); void parado2(); void derecha(); void izquierda(); //Se inicializa el puerto void setup() { Serial.begin(9600); } //Se realiza una serie de casos para llamar a mandar atraer la funcion a realizar dependendiendo del caracter que el arduino reciba
  • 6. void loop(){ char unChar = Serial.read();//se lee dato entrante //se inicia el switch, cabe mencionar que en los case solo se esta mandando llamar las funciones switch (unChar) { case 'w': adelante(); digitalWrite(led, HIGH);//indicador de que recibe el dato Serial.write("Avanzar"); break; case 's': reversa(); digitalWrite(led, LOW); Serial.write("retroceder"); break; case '': derecha(); digitalWrite(led, LOW); Serial.write("derecha"); break; case 'c': parado(); digitalWrite(led, LOW); Serial.write("parado control"); break; case 'd': parado2(); digitalWrite(led, LOW); Serial.write("parado direccion"); break; } } //Declaracion de funciones void adelante(){ digitalWrite(motorA,LOW); digitalWrite(motorB,HIGH); //digitalWrite(led,HIGH); } void reversa(){ digitalWrite(motorA,HIGH); digitalWrite(motorB,LOW); // digitalWrite(led,HIGH); } void izquierda(){ digitalWrite(dirA,LOW); digitalWrite(dirB,HIGH);
  • 7. // digitalWrite(led,HIGH); } void derecha(){ digitalWrite(dirA,HIGH); digitalWrite(dirB,LOW); // digitalWrite(led,HIGH); } void parado(){ digitalWrite(motorA,LOW); digitalWrite(motorB,LOW); //digitalWrite(led,HIGH); } void parado2(){ digitalWrite(dirA,LOW); digitalWrite(dirB,LOW); // digitalWrite(led,HIGH); } Aplicacion andrio usando App Inventor Como mencionamos en la introduccion usaremos el andriod app inventor para crear la aplicacion andriod ya que es un entorno intuitivo ya que puedes programar solo uniendo bloques, la aplicacion cuenta en su interfaz con los botones necesarios para el movimiento del coche, ademas de un explorador web para poder visualizar la camara ip , el espacio en blanco que sigue se deja adrede para que podamos ver la imagen de los bloques de la aplicacion de forma comoda y explicar que es lo que hacen. La interfaz quedaria :
  • 8. A pesar de que a primera vista los bloques lucen aparatosos o inclusive enredadors y de dificil comprension es algo muy sencillo comenzemos por los de la izquierda, el primero que explicaremos es el bloque que esta en la esquina superior izq que dice global mac, este bloque contiene la direccion mac del dispositivo con el que se desaea establecer la conexion inalambrica el button 5 es el boton que comienza a hacer la conexion en el evento click de este boton se colocan las condiciones que verifican si los botones estan habilitados o no, si no estan habilitados reliza la funcion de conexion y los habilita y si estan habilitados envia un mensaje de error, esto es lo que basicamente hace todo el bloque izquierdo del programa, en resumen solo verifica si existe una conexion, si no existe la realiza y habilita los botones, si existe envia un mensaje de error. La parte derecha del bloque realiza una funcion aun mas sencilla que la del bloque de la derecha, solo controla los eventos click de los botones e indica el dato que se debe enviar a travez de la conexion bluetooth(los bloques morados
  • 9. indican el nombre del boton, y los violetas son el dato que se enviara. Como ven el la programacion andrioid en app inventopr resulta ser muy sencilla. Camara ip la camara ip como se meciono antes fue lograda gracias a la aplicacion ip webcam que te permite iniciar un servido en la direccion ip que te da el enrutador La imagen superior muestra la pantalla en el celular usado, en la parte inferior justo arriba de la publicidad se aprecia la direccion ip y el numero de puerto por el cual fluye la informacion la forma de conectarse es la siguiente desde el navegador de tu telefono celular(en la interfaz del control del carro esta incluido un navegador) colocaras la direccion y el numero de puerto que te indica la pantalla del celular en el casa de la imagen de arriba es la Http://192.168.1.64:8080 al colocar la direccion anterios en el navegador se abrira una interfaz dependiendo si es en la pc o el telefono, si es en pc se abrira una interfaz como la de arriba y si es un
  • 10. celular la interfaz sera como la siguiente en esta interfaz se debera seleccionar si la forma de visualizar el video usara algun driver o script especifico, si estas en un celular se debera seleccionar el modo javascript si es una pc el modo realmente no importa. Coche terminado.
  • 11. CONCLUSIONES Carlos: En la actualidad la comunicacion mediante bluetooth resulta muy flexible ya que puede implementarse en varios proyectos como lo fue en este caso del carro controlado mediante la comunicacion bluetooth. Aunque sigue siendo insegura para transferir algunos otros datos como informacion personal o contactos. En lo personal me sorpredio la interfaz de app inventor ya que resulta increiblemente sencillo crear una aplicacion de celular, ademas de que me di cuanta de la flexibilidad del entorno android en este caso el arduino fue lo que nos causo problema ya que tiene poca flexibilidad al mometo de tratar de independizar al arduino de la pc. El proyecto me parecio de los mas completo ya que usamos conocimeintos de diversas areas de nuestra carrera por lo que no tengo mas que concluir que es de los proyectos que mas han contriubuido a mi formacion profesional. Monserrat: En este proyecto se consiguio el objetivo de controlar un coche que anteriormente era controlado con infrarrojo y que se habia daado, es decir esta tecnologia nos permitio reciclar y de cierta forma renovar un articulo viejo esto da entrada a que si es posible reciclar. Con respecto al el desarrollo del proyecto a mi parecer el bluetooth es bastante util pero me parecio complicado realizar la conexion a otros dispositivos que no fueran celulares, por ejemplo a una pc mediante visual estudio por que genera dos puertos COM de mas. Alejandra: el bluetooth a mi entender y mi opinion personal fue uno de los proyectos mas ambiciosos que he tenido ya que se implementaron conocimientos de diversas areas de nuestra carrera desde las lecciones de electronica analogica pasando por programcion hasta llegar a los sitemas de comunicacion que es la materia para la cual se desarrollo este proyecto, porque me refiero al bluetooth y no al coche en si? Sencillo porque la parte del coche no implicaba mayor desafio pero el configurar los circuitos necesarios para usar el bluetooth y la programacion para leerlo fueron lo complicado, tambien me ayudo a darme cuenta de que no es tan flexible como creia debido a que apesar de su bajo consumo de energia resulta bastante incomodo acomodarlo en una placa. Omar: Mi conclucion es basada en que se llego al objetivo del proyecto que era controlar el carro a control remoto utilizando una comunicacion bluetooth con aplicacion android con ayuda de un arduino uno y puente h
  • 12. que es el encargado de que el carro se mueva. De forma personal me parecio que el modulo bluetooth causo problema debido a que fue un poco complicado establcer el numero de puerto que se crea al vincular el arduino con la pc y enviar datos mediante el monitor serial de arduino, esto es referente a la fase de prueba. BIBLIOGRAFIA [1]http://es.kioskea.net/contents/69- como-funciona-bluetooth [2] http://es.wikipedia.org/wiki/Arduino