You are on page 1of 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.

B. Conectate con tu cuenta de google, si no cuentas


con una cuenta de google puedes registrarte gratuitamente,
tellevara unos minutos.

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".

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 :

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.

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.

J.
click.

Cdigo para el botn CONECTAR con evento

G. Abrimos el editor de bloques "Open the Blocks


Editor".

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.

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

al

boton

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.
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:

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:

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.

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;

B. Realizamos todo lo necesario para tener un


proyecto nuevo, y un codigo fuente que se le anexara el
siguiente codigo:

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);
}
}
}
}
}

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

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

4MHZ
XTAL

22pF

22pF

2
3
4
5
6
7
8
9
10
1

OSC1/CLKIN
OSC2/CLKOUT

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

R1
10k

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

33
34
35
36
37
38
39
40

HC-06
1
2
3
4

15
16
17
18
23
24
25
26
19
20
21
22
27
28
29
30

Vcc
Rx
Tx
Gnd
Bluetooth

R2

R3

R4

R5

10k

10k

10k

10k

PIC16F877A

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.

[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

[2]

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

[3]

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)