Está en la página 1de 6

200905072

MANUAL PARA REALIZAR COMUNICACIN BLUETOOTH DESDE UN CELULAR CON ANDROID Y APLICACIN DE APP-INVENTOR CON UN MICROCONTROLADOR 16F877A
Lic. Ing. Mecatrnica, Jos ngel Prez Martnez, Lic. Ing. Mecatrnica, Emmanuel Flores Vazquez, Miembros estudiantiles de la facultad ciencias de la electrnica, BUAP

A continuacin se presenta una pequea descripcin paso a paso de la interface entre un microcontrolador y un celular con sistema operativo android, para ello se desarrolla una aplicacin en App-Inventor que nos permite realizar la comunicacin entre el celular y el microcontrolador, una vez linkiados podemos enviar y recibir datos entre ambos dispositivos, con ello logramos el control de sin fin de procesos y posible aplicaciones. Cabe mencionar que para llevar a cabo este desarrollo se requiere conocimientos en programacin de microcontroladores (Copilador recomendado PIC-C) as como comprender la teoria del funcionamiento de un mdulo bluetooth y electrnica bsica as tambien el estandar de transmicin de datos serial RS232. Sin olvidar lo indispensable del manejo del App-Inventor.
INDICE DE TERMINOS. App-Inventor. Es una plataforma de cdigo libre en lnea, pueden encontrar la plataforma en el siguiente enlace: http://appinventor.mit.edu/ donde adems encontraras un amplio nmero de manuales, podrs iniciar en la plataforma con tu cuenta google y aprender paso a paso todas las utilidades de la plataforma desde el mismo desarrollador: http://appinventor.mit.edu/explore/tutorials.html. Android. Es un sistema operativo basado en Linux, diseado principalmente para mviles con pantalla tctil como telfonos inteligentes o tabletas inicialmente desarrollados por Android, Inc., que Google respald econmicamente y ms tarde compr en 2005, Android fue presentado en 2007 junto la fundacin del Open Handset Alliance: un consorcio de compaas de hardware, software y telecomunicaciones para avanzar en los estndares abiertos de los dispositivos mviles. El primer mvil con el sistema operativo Android se vendi en octubre de 2008. Modulo Bluetooth RN41. El futuro es inalmbrico y la tecnologa Bluetooth es una de las favoritas en el mundo de los aficionados a la electrnica, donde el enlace de datos sin vnculo fsico debe ser robusto, confiable y seguro. Distribuido en todo el mundo por Wavesen, el mdulo Bluetooth HC-06 es un dispositivo muy fcil de obtener, econmico y sencillo de utilizar. Bluetooth. Es una especificacin industrial para Redes Inalmbricas de rea Personal (WPAN) que posibilita la transmisin de voz y datos entre diferentes dispositivos mediante un enlace por radiofrecuencia en la banda ISM de los 2,4 GHz. Microcontrolador. Un microcontrolador (abreviado C, UC o MCU) es un circuito integrado programable, capaz de ejecutar las rdenes grabadas en su memoria. Est compuesto de varios bloques funcionales, los cuales cumplen una tarea especfica. Un

200905072

microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y perifricos de entrada/salida. Comunicacin RS232. es una interfaz que designa una norma para el intercambio de una serie de datos binarios entre un DTE (Equipo terminal de datos) y un DCE (Data Communication Equipment, Equipo de Comunicacin de datos), aunque existen otras en las que tambin se utiliza la interfaz RS-232. I. INTRODUCCIN En la actualidad los celulares son de uso comn y estan presentes en la vida diaria de cualquier individuo promedio. Estos dispositivos modernos del siglo XXI abarcan gran parte de la vida cotidiana. Tener celular es tan comn y utilizarlo es tan intuitivo que cada da se desarrollan aplicaciones de uso diario y comn. Desde finales del 2008 hasta hoy en da algunos celulares cuentan con sistema operativo android. II. OBJETIVOS DEL PROCEDIMIENTO Realizar comunicacin entre un celular con sistema operatico android desde una plicacin desarrollada en la plataforma que esta en linea de google, con un microcontriolador de Microchip Pic 16F877A. Con la comunicacin ya realizada, se procedera a enviar datos desde el celular al microcntrolador y este realizara funciones ya establecidas. III. DESARROLLO En esta parte nos enfocamos a desarrollar paso a paso lo necesario para la interface, recordemos que hay secciones que se omitirn, pues se conprende que este manual esta enfocado para estudiantes en electrnica y en fin. IV. DESARROLLO DE LA APLICACIN PARA EL CELULAR POR APP-INVENTOR A. Ingresa desde tu navegador de internet, recomendado desde google crome, al siguiente link: http://appinventor.mit.edu/, accede a la opcin "INVENT". B. Conectate con tu cuenta de google, si no cuentas con una cuenta de google puedes registrarte gratuitamente, tellevara unos minutos.

C. Se observa una ventana de inicio, seguidamente se da click en "NEW".

200905072

D.

Procede a nombrar tu proyecto.

E. Este documento no dirigue paso a paso en la aplicacion de App-Inventor sin embargo se deja el codigo completo utilizado para el desarrollo de lacomunicacin. Plataforma Intuitiva del App-Inventor :

I. Esperamos a que inicie el editor de bloques e iniciaremos por construir todo el cdigo mnimo necesario para la comunicacin bluetooth y la transferencia de caracteres.

F. Una vez realizada la vista procedemos a realizar el cdigo. Para ms informacin sobre cmo se utiliza el Appinventor en linea accede al siguiente link http://appinventor.mit.edu/explore/teach.html donde encontraras manuales paso a paso de cmo funciona. G. Abrimos el editor de bloques "Open the Blocks Editor".

J. click.

Cdigo para el botn CONECTAR con evento

H. En seguida se iniciara una descarga con el formato .jnlp que tendrs que abrir manualmente.

La estructura del bloque CONECTAR.CLICK se compone principalmente de la solicitud de conexin con un modulo externo bluetooth utilizando un servidor del modulo interno

200905072

del celular. Para ello se requiere un una direccin MAC nica e repetible para cada modulo, es algo as como una huella digital del dispositivo. Frente al bloque de BluetoothCliente1.Connect, address es la direccin MAC donde la aplicacin se sincronizara, en este caso la direccin MAC ser escrita manualmente en el cuadro de texto. Implcitamente se deben cumplir dos condiciones para que la conexin se lleve a cabo y con xito, el modulo bluetooth externo debe estar dentro del rango de alcance y su direccin MAC debe coincidir con la solicitada, si esto se cumple, la conexin se dar con xito.

L. El cdigo correspondiente ENVIAR.CLICK es el siguiente.

al

boton

Observando detenidamente, veremos que es bastante simple el cdigo, adems de intuitivo para los programadores expertos M. El cdigo en bloques para el SALIR.CLICK es el siguiente:

Si la conexin se ha realizado correctamente, entonces Botn CONECTAR.COLOR pasara a ser color verde en caso contrario pasara a rojo tal y como se describe en el cdigo. K. Si la sincronizacin fue correcta procedemos a enviar el dato deseado: Se escribe con el teclado del telfono el dato a enviar, ahora bien recordando que el microcontrolador tiene una pila de registro para datos en serie, estamos limitados a enviar ya sea puramente nmeros acompaado de un carcter al final del numero o bien un nico carcter por comando.

N. El cdigo para desconectar es el mismo botn que es empleado para conectar pero con excepcin de que son para casos diferentes, CONECTAR.LONGCLICK:

V. DESARROLLO DE APLICACIN POR PIC-C PARA EL MICROCONTROLADOR PIC 16F877A A. Abrimos el "PIC C Copiler"

200905072

#include <16F877A.h> #fuseS XT,NOWDT //HS #use delay (clock=4000000) #use rs232(baud=9600,xmit=pin_c6,rcv=pin_c7,bits=8,parity=N) //configuracin RS232 char RXdato; void main() { SET_TRIS_D(0b00000000); // puerto como entrada/salida SET_TRIS_C(0b10111111);// Recuerde configurar entrada RX y //salida el puerto TX OUTPUT_D(0b00000000); //Puerto D = 0 while(true) //Bucle Infinito { if(kbhit()) //Pregunta si hay datos en la pila de //datos seriales { RXdato=getchar(); //Espera hasta que RXdato carge los //datos de la pila de datos serial if (RXdato=='a') //Compara el dato recibido con "a" { //Si el dato recibido es igual a "a" Output_high(PIN_D3); //ejecuta todas estas intrucciones delay_ms(18); Output_low(PIN_D3); delay_ms(1000); Output_low(PIN_D3); } if (RXdato=='A') //Compara el dato recibido con "A" { //Si el dato recibido es igual a "A" output_high(PIN_D2); //Ejecuta todas estas instrucciones delay_ms(1000); output_low(PIN_D2); } if (RXdato=="b") { output_high(PIN_D1); delay_ms(1000); output_low(PIN_D1); if (RXdato=='B') { output_high(PIN_D0); delay_ms(1000); output_low(PIN_D0); } } } } }

B. Realizamos todo lo necesario para tener un proyecto nuevo, y un codigo fuente que se le anexara el siguiente codigo:

C. Copilamos el cdigo, lo grabamos en el microcontrolador y listo, tenemos lo necesario para realizar la comunicacin, sin antes mencionar que el modulo debe conectarse a los pines de transmisin de datos seriales RS232. VI. DIAGRAMA ELECTRICO D. Generalmente todos los mdulos bluetooth tiene una pequea limitante, es decir que su comunicacin se realiza bajo los voltajes de 3.3V pero el modulo HC-06 se alimenta y comunica de 5V-6V:

200905072

B. El microcontrolador a emplear puede variar siempre y cuando cuente con puertos de transferencia de datos por serial. Vase diferentes datasheep de Microcontroladores.

VIII. REFERENCIAS
[1] Mario Sacco (2013, Febrero 10) Neoteo bluetooth-android-pic-ledhola-mundo [Online] Disponible en: http://www.neoteo.com/bluetooth-android-pic-led-hola-mundo Mario Sacco (2013, Febrero, 15) Neoteo Hola Mundo en Android (II) [Online] Dispolible en: http://www.neoteo.com/app-inventor-holamundo-android-ii Mario Sacco (2013, Febrero, 16) Neoteo HC-06 [Online] Dispolible en: http://www.neoteo.com/modulo-bluetooth-hc-06-android

E. El diagrama mnimo necesario es el mostrado a continuacin, solo recuerde considerar las conexiones (entradas y salidas) que usted desee controlar. Para probar la comunicacin se recomienda emplear simplemente led's, encendido y apagado.
U1
13 14 OSC1/CLKIN OSC2/CLKOUT

[2]

[3]

4MHZ
XTAL

2 3 4 5 6 7 8 9 10 1

22pF

22pF

RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877A

RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD

33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30

HC-06
1 2 3 4

Vcc Rx Tx Gnd
Bluetooth

First A. Jos ngel Prez Martnez (Masculino,Altura 168 cm, Edad 21aos) Actualmente estudiante en Lic. En Ing. Mecatrnica en la Benemerita Universidad Autonoma de Puebla, Facultad de Ciencias de la Electrnica, Octavo Semestre (2013)

R1
10k

R2
10k

R3
10k

R4
10k

R5
10k

Recuerde que en este circuito omitimos los Vcc y Gnd del microcontrolador por lo que cuando lo implemente no deber omitirlos, vase el datasheep del microntrolador a utilizar. VII. CONCLUSIONES A. Este proyecto puede ser utilizado por cualquier modelo de celular que cuente con sistema operativo Android y modulo bluetooth interno.

También podría gustarte