Comunicación Bluetooth entre un dispositivo Mobil y un microcontrolador.

6
200905072 1 A continuación se presenta una pequeña descripción paso a paso de la interface entre un microcontrolador y un celular con sistema operativo android, para ello se desarrolla una aplicación en App-Inventor que nos permite realizar la comunicación 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 programación de microcontroladores (Copilador recomendado PIC-C) así como comprender la teoria del funcionamiento de un módulo bluetooth y electrónica básica así tambien el estandar de transmición de datos serial RS232. Sin olvidar lo indispensable del manejo del App-Inventor. INDICE DE TERMINOS. App-Inventor. Es una plataforma de código libre en línea, pueden encontrar la plataforma en el siguiente enlace: http://appinventor.mit.edu/ donde además encontraras un amplio número de manuales, podrás 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, diseñado principalmente para móviles con pantalla táctil como teléfonos inteligentes o tabletas inicialmente desarrollados por Android, Inc., que Google respaldó económicamente y más tarde compró en 2005, Android fue presentado en 2007 junto la fundación del Open Handset Alliance: un consorcio de compañías de hardware, software y telecomunicaciones para avanzar en los estándares abiertos de los dispositivos móviles. El primer móvil con el sistema operativo Android se vendió en octubre de 2008. Modulo Bluetooth RN41. El futuro es inalámbrico y la tecnología Bluetooth es una de las favoritas en el mundo de los aficionados a la electrónica, donde el enlace de datos “sin vínculo físico” debe ser robusto, confiable y seguro. Distribuido en todo el mundo por Wavesen, el módulo Bluetooth HC-06 es un dispositivo muy fácil de obtener, económico y sencillo de utilizar. Bluetooth. Es una especificación industrial para Redes Inalámbricas de Área Personal (WPAN) que posibilita la transmisión 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 específica. Un MANUAL PARA REALIZAR COMUNICACIÓN BLUETOOTH DESDE UN CELULAR CON ANDROID Y APLICACIÓN DE APP-INVENTOR CON UN MICROCONTROLADOR 16F877A Lic. Ing. Mecatrónica, José Ángel Pérez Martínez, Lic. Ing. Mecatrónica, Emmanuel Flores Vazquez, Miembros estudiantiles de la facultad ciencias de la electrónica, BUAP

description

Hola Mundo, Comunicación serial entre un dispositivo mobile con Sistema Android y una aplicación desarrollada en APP-INVENTOR con un microcontrolador PIC 16F877A.

Transcript of Comunicación Bluetooth entre un dispositivo Mobil y un microcontrolador.

Page 1: Comunicación Bluetooth entre un dispositivo Mobil y un microcontrolador.

200905072

1

A continuación se presenta una pequeña descripción paso a paso de la interface entre un microcontrolador y un celular con sistema operativo android, para ello se desarrolla una aplicación en App-Inventor que nos permite realizar la comunicación 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 programación de microcontroladores (Copilador recomendado PIC-C) así como comprender la teoria del funcionamiento de un módulo bluetooth y electrónica básica así tambien el estandar de transmición de datos serial RS232. Sin olvidar lo indispensable del manejo del App-Inventor.

INDICE DE TERMINOS. App-Inventor. Es una plataforma de código libre en línea, pueden encontrar la plataforma en el siguiente enlace: http://appinventor.mit.edu/ donde además encontraras un amplio número de manuales, podrás 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, diseñado principalmente para móviles con pantalla táctil como teléfonos inteligentes o tabletas inicialmente desarrollados por Android, Inc., que Google respaldó económicamente y más tarde compró en 2005, Android fue presentado en 2007 junto la fundación del Open Handset Alliance: un consorcio de compañías de hardware, software y telecomunicaciones para avanzar en los estándares abiertos de los dispositivos móviles. El primer móvil con el sistema operativo Android se vendió en octubre de 2008.

Modulo Bluetooth RN41. El futuro es inalámbrico y la tecnología Bluetooth es una de las favoritas en el mundo de los aficionados a la electrónica, donde el enlace de datos “sin vínculo físico” debe ser robusto, confiable y seguro. Distribuido en todo el mundo por Wavesen, el módulo Bluetooth HC-06 es un dispositivo muy fácil de obtener, económico y sencillo de utilizar.

Bluetooth. Es una especificación industrial para Redes Inalámbricas de Área Personal (WPAN) que posibilita la transmisión 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 específica. Un

MANUAL PARA REALIZAR COMUNICACIÓN BLUETOOTH DESDE UN CELULAR CON ANDROID Y APLICACIÓN

DE APP-INVENTOR CON UN MICROCONTROLADOR 16F877A

Lic. Ing. Mecatrónica, José Ángel Pérez Martínez, Lic. Ing. Mecatrónica, Emmanuel Flores Vazquez, Miembros estudiantiles de la facultad ciencias de la electrónica, BUAP

Page 2: Comunicación Bluetooth entre un dispositivo Mobil y un microcontrolador.

200905072

2

microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y periféricos de entrada/salida.

Comunicación 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 Comunicación de datos), aunque existen otras en las que también se utiliza la interfaz RS-232.

I. INTRODUCCIÓN En la actualidad los celulares son de uso común 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 común y utilizarlo es tan intuitivo que cada día se desarrollan aplicaciones de uso diario y común. Desde finales del 2008 hasta hoy en día algunos celulares cuentan con sistema operativo android.

II. OBJETIVOS DEL PROCEDIMIENTO Realizar comunicación entre un celular con sistema operatico android desde una plicación desarrollada en la plataforma que esta en linea de google, con un microcontriolador de Microchip Pic 16F877A.

Con la comunicación 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 omitirán, pues se conprende que este manual esta enfocado para estudiantes en electrónica y en fin.

IV. DESARROLLO DE LA APLICACIÓN 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 opción "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".

Page 3: Comunicación Bluetooth entre un dispositivo Mobil y un microcontrolador.

200905072

3

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 lacomunicación. Plataforma Intuitiva del App-Inventor :

F. Una vez realizada la vista procedemos a realizar el

código. Para más información sobre cómo se utiliza el App-inventor en linea accede al siguiente link http://appinventor.mit.edu/explore/teach.html donde encontraras manuales paso a paso de cómo funciona.

G. Abrimos el editor de bloques "Open the Blocks

Editor".

H. En seguida se iniciara una descarga con el formato

.jnlp que tendrás que abrir manualmente.

I. Esperamos a que inicie el editor de bloques e iniciaremos por construir todo el código mínimo necesario para la comunicación bluetooth y la transferencia de caracteres.

J. Código para el botón CONECTAR con evento click.

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

Page 4: Comunicación Bluetooth entre un dispositivo Mobil y un microcontrolador.

200905072

4

del celular. Para ello se requiere un una dirección 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 dirección MAC donde la aplicación se sincronizara, en este caso la dirección MAC será escrita manualmente en el cuadro de texto.

Implícitamente se deben cumplir dos condiciones para que la conexión se lleve a cabo y con éxito, el modulo bluetooth externo debe estar dentro del rango de alcance y su dirección MAC debe coincidir con la solicitada, si esto se cumple, la conexión se dará con éxito.

Si la conexión se ha realizado correctamente, entonces Botón CONECTAR.COLOR pasara a ser color verde en caso contrario pasara a rojo tal y como se describe en el código.

K. Si la sincronización fue correcta procedemos a enviar el dato deseado:

Se escribe con el teclado del teléfono 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 números acompañado de un carácter al final del numero o bien un único carácter por comando.

L. El código correspondiente al boton ENVIAR.CLICK es el siguiente.

Observando detenidamente, veremos que es bastante simple el código, además de intuitivo para los programadores expertos

M. El código en bloques para el SALIR.CLICK es el siguiente:

N. El código para desconectar es el mismo botón que es empleado para conectar pero con excepción de que son para casos diferentes, CONECTAR.LONGCLICK:

V. DESARROLLO DE APLICACIÓN POR PIC-C PARA EL MICROCONTROLADOR PIC 16F877A

A. Abrimos el "PIC C Copiler"

Page 5: Comunicación Bluetooth entre un dispositivo Mobil y un microcontrolador.

200905072

5

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

C. Copilamos el código, lo grabamos en el microcontrolador y listo, tenemos lo necesario para realizar la comunicación, sin antes mencionar que el modulo debe conectarse a los pines de transmisión de datos seriales RS232.

VI. DIAGRAMA ELECTRICO

D. Generalmente todos los módulos bluetooth tiene una pequeña limitante, es decir que su comunicación se realiza bajo los voltajes de 3.3V pero el modulo HC-06 se alimenta y comunica de 5V-6V:

#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) //configuración 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); } } } } }

Page 6: Comunicación Bluetooth entre un dispositivo Mobil y un microcontrolador.

200905072

6

E. El diagrama mínimo necesario es el mostrado a continuación, solo recuerde considerar las conexiones (entradas y salidas) que usted desee controlar. Para probar la comunicación se recomienda emplear simplemente led's, encendido y apagado.

RA0/AN02

RA1/AN13

RA2/AN2/VREF-/CVREF4

RA4/T0CKI/C1OUT6

RA5/AN4/SS/C2OUT7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP2 16

RC2/CCP1 17

RC3/SCK/SCL 18

RD0/PSP0 19

RD1/PSP1 20

RB7/PGD 40RB6/PGC 39RB5 38RB4 37RB3/PGM 36RB2 35RB1 34RB0/INT 33

RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21

RC7/RX/DT 26RC6/TX/CK 25RC5/SDO 24RC4/SDI/SDA 23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI 15

MCLR/Vpp/THV1

U1

PIC16F877A

4MHZXTAL

22pF22pF

R110k

R210k

R310k

R410k

R510k

1234

HC-06

Bluetooth

VccRxTx

Gnd

Recuerde que en este circuito omitimos los Vcc y Gnd del microcontrolador por lo que cuando lo implemente no deberá omitirlos, véase 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.

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

VIII. REFERENCIAS [1] Mario Sacco (2013, Febrero 10) Neoteo bluetooth-android-pic-led-

hola-mundo [Online] Disponible en: http://www.neoteo.com/bluetooth-android-pic-led-hola-mundo

[2] Mario Sacco (2013, Febrero, 15) Neoteo Hola Mundo en Android (II) [Online] Dispolible en: http://www.neoteo.com/app-inventor-hola-mundo-android-ii

[3] Mario Sacco (2013, Febrero, 16) Neoteo HC-06 [Online] Dispolible en: http://www.neoteo.com/modulo-bluetooth-hc-06-android

First A. José Ángel Pérez Martínez (Masculino,Altura 168 cm, Edad 21años) Actualmente estudiante en Lic. En Ing. Mecatrónica en la Benemerita Universidad Autonoma de Puebla, Facultad de Ciencias de la Electrónica, Octavo Semestre (2013)