Вы находитесь на странице: 1из 6

200905072 1

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

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
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 B. Conectate con tu cuenta de google, si no cuentas
plataforma que esta en linea de google, con un con una cuenta de google puedes registrarte gratuitamente,
microcontriolador de Microchip Pic 16F877A. tellevara unos minutos.

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 C. Se observa una ventana de inicio, seguidamente se
enfocado para estudiantes en electrónica y en fin. da click en "NEW".

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".
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
I. Esperamos a que inicie el editor de bloques e
completo utilizado para el desarrollo de lacomunicación.
iniciaremos por construir todo el código mínimo necesario
Plataforma Intuitiva del App-Inventor :
para la comunicación bluetooth y la transferencia de
caracteres.

F. Una vez realizada la vista procedemos a realizar el


código. Para más información sobre cómo se utiliza el App- J. Código para el botón CONECTAR con evento
inventor en linea accede al siguiente link click.
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 La estructura del bloque CONECTAR.CLICK se compone
.jnlp que tendrás que abrir manualmente. principalmente de la solicitud de conexión con un modulo
externo bluetooth utilizando un servidor del modulo interno
200905072 4

del celular. Para ello se requiere un una dirección MAC L. El código correspondiente al boton
única e repetible para cada modulo, es algo así como una ENVIAR.CLICK es el siguiente.
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.

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:

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
N. El código para desconectar es el mismo botón que
código.
es empleado para conectar pero con excepción de que son
K. Si la sincronización fue correcta procedemos a para casos diferentes, CONECTAR.LONGCLICK:
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.

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


MICROCONTROLADOR PIC 16F877A
A. Abrimos el "PIC C Copiler"
200905072 5

#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);
B. Realizamos todo lo necesario para tener un Output_low(PIN_D3);
proyecto nuevo, y un codigo fuente que se le anexara el delay_ms(1000);
Output_low(PIN_D3);
siguiente codigo: }
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 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:
200905072 6

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:
E. El diagrama mínimo necesario es el mostrado a http://www.neoteo.com/bluetooth-android-pic-led-hola-mundo
continuación, solo recuerde considerar las conexiones
[2] Mario Sacco (2013, Febrero, 15) Neoteo Hola Mundo en Android (II)
(entradas y salidas) que usted desee controlar. Para probar [Online] Dispolible en: http://www.neoteo.com/app-inventor-hola-
la comunicación se recomienda emplear simplemente mundo-android-ii
led's, encendido y apagado. [3] Mario Sacco (2013, Febrero, 16) Neoteo HC-06 [Online] Dispolible
U1 en: http://www.neoteo.com/modulo-bluetooth-hc-06-android
13 33
OSC1/CLKIN RB0/INT
14 34
OSC2/CLKOUT RB1
35
4MHZ 2
RA0/AN0
RB2
RB3/PGM
36 First A. José Ángel Pérez Martínez (Masculino,Altura 168 cm, Edad
3 37 HC-06
XTAL
4
RA1/AN1 RB4
38 1 21años) Actualmente estudiante en Lic. En Ing. Mecatrónica en la
5
RA2/AN2/VREF-/CVREF RB5
39 2
Vcc
6
RA3/AN3/VREF+ RB6/PGC
40 3
Rx Benemerita Universidad Autonoma de Puebla, Facultad de Ciencias de la
RA4/T0CKI/C1OUT RB7/PGD Tx
7
RA5/AN4/SS/C2OUT
15
4
Gnd Electrónica, Octavo Semestre (2013)
RC0/T1OSO/T1CKI
22pF 22pF 8 16 Bluetooth
RE0/AN5/RD RC1/T1OSI/CCP2
9 17
RE1/AN6/WR RC2/CCP1
10 18
RE2/AN7/CS RC3/SCK/SCL
23
RC4/SDI/SDA
1 24
MCLR/Vpp/THV RC5/SDO
25
RC6/TX/CK
26
RC7/RX/DT
19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
RD6/PSP6
29 R2 R3 R4 R5
R1 RD7/PSP7
30 10k 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, 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.

Вам также может понравиться