Você está na página 1de 13

Trabajando con mdulos Bluetooth RN41 y RN42 en Android

Publicado el Diciembre 3, 2011 por administrator

Desde la invencin del bluetooth se han desarrollado infinidad de aplicativos electrnicos, pero en la
actualidad estos dispositivos se han tornado ms asequible para cualquier persona, la microelectrnica,
los PCB de diferentes capas han hecho que hoy por hoy tengamos el mismo bluetooth de hace ms de 15
aos pero en tamao tan reducido, y tan fcil de conectar que hace que cada vez se puedan crear
aplicativos enlazados con microcontroladores, computadores, celulares o cualquier dispositivo que cumpla
con los protocolos de comunicacin blueooth.
En este tutorial hablaremos de mdulos bluetooth como el RN42 y RN41 de la casa Roving Networks ,
que gracias a sus caractersticas y facilidad de configuracin podemos crear aplicativos de control o
censado de datos.
Las Caractersticas ms importantes son:
- Voltaje de operacin de 3V a 3.6 V.
- Consumo: 26 uA en modo inactivo, 3mA en conexin establecida y 30mA hasta 50ma transmitiendo.
- Mxima distancia de transmisin: 20m el RN42 y 100m el RN41
- Puerto UART local y USB.
En la hoja de datos podremos encontrar muchos datos de conexin, tecnologa, frecuencias y comandos,
aqu resumiremos y solo comentaremos las que se requieren para conectar nuestro bluetooth con un
microcontrolador y con el fin de hacer un aplicativo donde se pueda mirar su funcionamiento.
El bluetooth RN41 es de similares caractersticas, su diferencia principal es que es de clase1 de mayor
alcance, con un poco ms de consumo de corriente, pero su conexin es igual.
Pines de configuracin del Bluetooth RN41 y RN42
Los pines que utilizaremos para conectar el bluetooth son el de TX (pin 14), RX (pin 13), GND (pin 12),
VDD (pin 11), PI08 (pin 31 donde se conecta un led de estado que indica sin conexin o baja conexin),
PIO2 (pin de estado conectado, aqu se conecta un led)
Como primera instancia miraremos como alimentar y conectar nuestro modulo bluetooth, esta prctica me
permitir saber sus caractersticas de funcionamiento y asi poder ingresar a modo de configuracin y
cambiar todos sus parmetros de fbrica, como la velocidad, nombre, identificador, cdigo de seguridad,
encriptamiento etc.

Circuito recomendado para conectarlo por primera vez


Recordemos que nuestro bluetooth solo trabaja a 3.3v, para su alimentacin debemos usar un regulador
para este propsito, podemos conectar un LD33, un LD1117V33 o un sencillo Lm317 calibrado a 3.3v.
Para este propsito usaremos el LM317. Para hacerlo funcionar a 3.3v debemos encontrar la R1 que ira
en ajuste. Hemos usado la ecuacin caracterstica del lm317 que proporciona el fabricante.
vout = 1.25 (1+R2/R1)+Iadj(R2)
De la cual despejamos R2y obtenemos: 393,6 ohm. Colocamos una resistencia aproximada con todo el
circuito de proteccion y hacemos un puente entre TX y RX.
Circuito para montar el RN42 y RN41

En el circuito podemos ver una R3 y R4


que son necesarias solo cuando se conecta circuitos TTL (5v) porque si conectan directamente al mdulo
lo pueden quemar, para esto se debe colocar un divisor de voltaje que garantiza una entrada de 5v y en
su salida sale 3.3v, voltaje requerido para su funcionamiento, cabe aclarar que un microcontrolador por lo
comn se lo puede trabajar a 3.3v entonces no es necesario las dos resistencias de proteccin, pero si
conecta una LCD 216 esta no funcionara y aqu es cuando debemos tener dos fuentes, una de 5v y otra
de 3.3v como sugiere la grafica. Estos modulos vienen de fbrica con un nombre preestablecido y a una
velocidad de 115200bps, 8bits, Sin Paridad, 1bit de Stop.

Pasos para configurar el mdulo RN42 y RN41


1.

Alimente a los modulos, active el bluetooth del celular o


computador, luego realice el enlace o emparejamiento de
estos digitando el PIN que de fbrica es 1234.

2.

Desconeste y vuelva a conetar el blueooth y tendr 60


seundos para ingresar a su configuracin.

3.

El modulo se lo puede conectar por RS232 con los acoples


respectivos como MAX232 y el divisor de voltaje a un puerto
serie por medio de un DB9, se debe abrir el hiperterminal o
cualquier programa que permita leer y enviar comandos AT.
La segunda opcin es prender el bluetooth de un computador
o laptop y por medio de algn programa que controle
bluetooth crear un COM virtual que le permita al hiperterminal
enviar y recibir datos de forma inalmbrica (de esta manera
se conecta TX y RX)

4.

Para entrar en el modo de configuracin del mdulo se debe


enviar 3 signos pesos $$$ dentro de los primeros 60
segundos tras haber alimentado a 3.3v el dispositivo, ya que
si no, entra en modo datos (Data mode) y los comandos son
ignorados, si los datos fueron leidos, el modulo responder
con CMD y despus del envo de instrucciones nos regresa
un AOK. La forma de ver si el modulo est bien, es mirar el
led de status, siempre debe estar parpadeando, despus de
entrar en Command mode la oscilacin del led es mas rpida
y cuando esta enlazado con algn dispositivo el led deja de
parpadear y tambin se enciende el led de estado conectado

5.

Para mirar la ayuda y mirar que comandos necesito digite en


modo Command mode la letra hde ayuda, para mirar la
configuracin de fbrica digite d.

6.

Comandos bsicos

Para cambiar el nombre de nuestro dispositivo bluetooth digitamos en hiperterminal o en el celular los
siguientes comandos:
SN
SN,Micro

; Ahora nuestro dispositivo se llama Micro

Para cambiar el Baud Rate:


SU
SU,96

; Solo se necesitan los primeros dos nmeros.

Se lo puede configurar en cualquiera de las siguientes velocidades

1200, 2400, 4800, 9600, 19.2, 28.8, 38.4, 57.6, 115K, 230K, 460K, 921K
Para cambiar el cdigo de seguridad: de fbrica viene el cdigo PIN 1234
SP
SP,0000

;ahora el cdigo de enlace es 0000

Un aspecto bastante curioso y til de estos modulos es la facilidad para cambiarle el identificador al
bluetooth SC (Service Class) Y SD (Device Class) sirven para decirle al bluetooth si es una computadora,
un modem, una laptop, un telfono etc, para ello debemos buscar en internet pginas que nos generen el
cdigo CoD y mediante los comandos le cambiamos la forma de como lo reconocen los dems
dispositivos.
En Microelectronicos hemos disenado un modulo adaptador PCB para el RN42 y RN41 para evitar daos
en sus pines, y asi facilitar su uso en una protoboard.
En las imgenes puede observar detalles del aplicativo hecho con RN42 en prototoard y un enlace de
control mediante java con un mvil android, El aplicativo controla encendido y apagado y un la intensidad
de luz mediante un dimer electrnico. Si desea mas informacion referente a como comprar a estos
modulos inalambricos por favor de clic aca o contactenos.

More Sharing ServicesShare on facebookShare on twitterShare on emailShare on print

Esta entrada fue publicada en Componentes electrnicos, Diseo Anlogo y etiquetada en Android,
Barranquilla, bluetooth, Bogota, Cali, Colombia, comunicaciones, dimmer, electronico, inalambricas,
Medellin, Microelectronicos, modulo, Networks, Pasto, RN41, RN42, Rovin, wireless. Agregue este enlace
permanente a sus marcadores.
Conociendo a ASIMO, el robot humanoide ms avanzado del mundo
Colombia particip en Mundial de Robtica VEX 2012 en USA

4 respuestas para Trabajando con mdulos Bluetooth


RN41 y RN42 en Android
1.

paris dice:

Abril 15, 2012 a las 6:58 pm

Hola me interesa mucho esta publicacion.. y tengo algunas dudas al respecto.


lo que yo pretendo es enviar datos desde mi cell a mi PC via bluetooth estas son algunas preguntas
aver si me hechan una mano(tengo un RN-42):

- se pueden enviar datos desde mi cell a la PC? me refieron a que el el RN-42 se conecte a la PC de
forma serial (usando un max232), enlazar mi cell con el RN-42 y desde mi cell enviarle datos a la PC
usando el hyperterminal.
si fuese posible lo anterior como hago pa elazar mi cell con el RN-42, tengo entendido que hacer esto
es como si intercambiara imagenes, o musica entre dos celulares via bluetooth que es cuando yo doy un
codigo de enlace y el otro celullar tambien debe poner el mismo codigo (en este caso dicho codigo seria el
del RN-42 1234?)
en si mi duda es :
- yo con mi ceel doy el codigo .. y acepto al modulo (RN-42) pero como hago para qu este modulo acepte
el enlace Si estoy eprdido diganemlo muchas gracias la publicacion esta pal libro
Respuesta

Carlos dice:

Mayo 30, 2012 a las 10:38 am


es sencillo, primero debes conseguirte un pc con bluetooth y conectarlo via bluetooth con el modulo rn-42,
el por defecto cuando se conecta por primera vez no posee clave ni nada, asi que podras asignarle a
traves de hyperterminal mediante comando AT un nombre al dispositivo y un codigo, una vez hagas eso,
podes conectarlo con un max 232 al PC y usarlo alamabricamente con el PC mediante puerto serial, ya
desde el celular lo buscas nuevamente por bluetooth y escribes el codigo que le hayas asignadio y ya
esta, aki te anexo una pagina donde esta la informacion mas detallada. http://www.neoteo.com/bluetoothcon-modulo-rn41-y-18f25k20
Respuesta
2.

Alejandro Lavarello dice:

Mayo 17, 2012 a las 12:19 pm

El mdulo RN-42 funciona, pero tiene muy baja potencia. En nuestras pruebas, en ambiente despejado
la conexin no se puede establecer si el RN-42 est a ms de 5m del telfono o PC. Una vez establecida
la
comunicacin, el intercambio de datos por el puerto serie sobrevive hasta los 12m, en ambiente
despejado.
Pero ya a los 10m se aprecian retrasos en la transmisin.
No recomiendo el RN42 para distancias mayores a 5m, a pesar que la hoja de datos sugiere 20m.
Respuesta

administrator dice:

Mayo 17, 2012 a las 12:51 pm


Hola Alejandro, muchas gracias por tus comentarios. Con el fin de ser mas objetivos al evaluar el
desempeno del RN-42 debes tener en cuenta la sensibilidad y potencia de transmision en el lado que
complementa la comunicacion del RN42. Tambien muchas de las aplicaciones requiren el uso de una
antena adicional, que reemplace a la que el modulo trae embebida con el fin de lograr mejores alcances.

Bluetooth con mdulo RN41 y 18F25K20

Mario Sacco . Vista 34471 veces

28

32 Votos

21 Comentarios

21>> comenta

Cuando pensamos en el estndar Bluetooth para comunicar


dispositivos entre s, pensamos en objetos como nuestro ordenador,
nuestro telfono mvil o algn dispositivo costoso. Sin embargo, gracias
a las facilidades que nos brinda el mdulo RN41, podemos, por ejemplo,
trasformar una simple conexin RS232 en inalmbrica con un alcance
de hasta 100 metros! En este artculo veremos la primera parte de
todas las cosas que podremos realizar con el mdulo Bluetooth de
Microingenia S.L. La magia de la radio y la conexin inalmbrica te
permiten explorar este til sistema. En una aplicacin simple y con un
software gratuito, realizaremos una sencilla medicin de temperatura
que servir de ejemplo para iniciarnos en la comprensin y en el
aprovechamiento integral de este mdulo RN41. Bienvenido al
mundo Bluetooth!

Anuncios Google

o Fuentes de Poder AC/DC


www.canadienco.com.mx - Fuentes eficientes de todo rango
para todas las aplicaciones

o S5/S7 PLC Programming


www.ibhsoftec.com - with integrated Oscilloscope and
Step5/Step7 PLC simulation !

Tutorial seleccionado en ABCdatos.com

El mdulo de desarrollo Bluetooth de Microingenia S.L. que


utilizaremos en este artculo, basado en el RN41 de Roving
Networks, es un perfecto aliado para eliminar los cables en tus
proyectos o para conectarse a ordenadores y/o telfonos mviles.
Con un alcance de hasta 100 metros (Clase I), posee antena
integrada, es compatible con el estndar Bluetooth 2.1, permite
velocidades de transferencia de hasta 921Kbps, y lo puedes
conectar de forma sencilla mediante la UART (RX/TX) de cualquier
microcontrolador, desde donde puedes controlarlo haciendo uso
de sencillos comandos AT. El mdulo, adems, puede ser
alimentado tanto a 5Volts como a 3,3Volts, y para ello dispone de
un puente (jumper) de seleccin de la tensin de alimentacin. El
RN41 funciona a 3,3Volts y sus lneas NO son 5Volts
compatibles, por lo que las lneas de uso normal (Rx/Tx) estn
provistas de adaptacin de niveles para su utilizacin con las
placas de desarrollo que operan a 5Volts. De todos modos, posee
entradas auxiliares que te permitirn trabajar en forma directa con
el RN41 y un bus Rx/Tx de 3,3Volts, tal como utilizaremos
nosotros. Aqu lo tienes: nuestro mdulo Bluetooth.

La posibilidad que nos brinda utilizar un mdulo completo (ya


ensamblado) tiene la ventaja de disponer en forma rpida de una
conectividad eficiente para ensayos. Es decir, es muy
sencillo insertar el mdulo en un protoboard, alimentarlo con
3,3Volts, conectarle los canales de transmisin y recepcin
provenientes de la USART de un PIC y agregarle un diodo LED
indicador de estado de conexin. Ms sencillo, imposible! El
diagrama en bloques del RN41 nos muestra las posibilidades de
trabajo que este mdulo ofrece y, como podemos apreciar, posee
conexin Serie, USB, PCM (audio). Adems, dispone de terminales
de salida para activar dispositivos diversos como rels, motores,
luces y otros circuitos de salida acoplados a este maravilloso
enlace inalmbrico que es el mdulo RN41. Por supuesto, al final
del artculo encontrars el enlace para descargar la hoja de datos

de este mdulo (entre otras cosas) y descubrir all todas las


posibilidades. Dems est decir que, si te atreves, con l podrs
utilizar comandos AT desde tu telfono mvil para indicarle
instrucciones. Fascinante, verdad?

Diagrama en bloques del mdulo Bluetooth RN41


El circuito utilizado para iniciarnos en el mundo Bluetooth es
sencillo por donde se lo mire. Es el clsico circuito que emplea los
componentes ms usuales dentro de nuestro grupo selecto de
dispositivos. Un PIC 18F25K20 con un cristal de 16Mhz. para que
puedas utilizar el software libre AMICUS y lograr de este modo un
sistema que corra a 64Mhz de velocidad de reloj. Esta velocidad
ser vital para lograr una conectividad a 115.200bps. Si utilizas
otros microcontroladores con menor velocidad de reloj, debes
observar la conexin de PIO7 en el mdulo para forzar la
velocidad a 9600bps. Es decir, debers colocar una resistencia
pull-up (1K) en el mencionado pin respecto a la tensin de
alimentacin para lograr este objetivo. Qu ms necesitas para
iniciar el trabajo? Muy poco! Observa este video y te dars cuenta
que ya posees todos los elementos necesarios.

Algunos LEDs, un par de pulsadores, un LCD, el mdulo de


temperatura con el STCN75, o cualquiera que tengas disponible,
pueden ser tiles como para construir este termmetro remoto e
inalmbrico. Es decir, si dispones de un LM35 (o ests
acostumbrado a su uso) puedes utilizar cualquiera de las
entradas analgicas que te brinda el PIC 18F25K20. Y si en
lugar de utilizar un termmetro deseas instalar otro tipo de
dispositivo capaz de enviarte informacin hacia el ordenador,
bienvenido sea. Aqu, el propsito es lograr el enlace Bluetooth e
intercambiar datos entre el ordenador y el PIC, del mismo modo

que si estuvieras conectado mediante el puerto serie. Aqu tienes


el circuito que utilizamos en el protoboard:

Circuito propuesto para el mdulo Bluetooth con 18F25K20


El Software del PIC
Todos saben que, para aplicaciones de ensayo y en los casos en
que no son crticos los tiempos de accin del programa, prefiero el
lenguaje BASIC de programacin. A partir de la aparicin de
AMICUS, la facilidad de uso de este programa se ha potenciado
debido a que es un software gratuito y totalmente funcional,
sin restricciones de ninguna especie. Por lo tanto, la
simplicidad del BASIC, sumada a la potencia de un lenguaje de
alto nivel como Proton, facilita mucho la tarea de prcticas y
experimentos poco exigentes. De todos modos, como s que hay
muchos entusiastas de otros programas, explicar el cdigo puede
servir para facilitar la comprensin del funcionamiento de este
proyecto. Por lo tanto, lo primero que haremos es definir (como en
todos los lenguajes de programacin) los parmetros que
determinarn el funcionamiento del PIC: velocidad de datos por
puerto serie, utilizacin del mismo, utilizacin de display y todas
aquellas libreras que sean necesarias.

Luego vienen las variables que utilizaremos en el programa,


algunos valores constantes que debemos cargar, un mensaje de
bienvenida y, por fin, iniciar el lazo principal de programa. En
BASIC es comn el uso de lazos de cuenta conocidos como FORNEXT. Dentro de ellos podemos incrustar muchas acciones o
muchas interrogaciones (adquisicin de datos) entre el PIC y su
entorno fsico. En nuestro caso, siempre estaremos atentos a que
se pulse un botn conectado al pin 0 del puerto B o a que nos
llegue algn dato proveniente desde el mdulo Bluetooth. En
BASIC utilizamos la instruccin HSERIN para leer en forma directa
la USART del PIC. Con esta sencilla instruccin, sabremos si el
mdulo Bluetooth est recibiendo datos desde el ordenador. De
ser as, estos datos se vuelcan en una variable y el programa
acta en consecuencia. Si es un tipo esperado de dato, realizar
una determinada accin, u otra, hasta agotar las posibilidades de
opcin. Si ningn dato coincide con los esperados, es probable que
el ordenador le est hablando a otro mdulo Bluetooth en las
cercanas. Si los datos no corresponden a lo que estamos
esperando, el ciclo se reinicia en forma indefinida y mantiene el
sistema siempre en espera y a la escucha.

Entre las acciones que pueden esperarse est la de encender el


LED verde, detectar que se ha pulsado el botn predeterminado
para el envo de datos (el mensaje de saludo que vemos en el
video), hasta recibir comandos AT desde el ordenador para
cambiar la configuracin de algunos parmetros de
funcionamiento del mdulo. Es decir, no vamos a enumerar aqu
todas las cosas que pueden realizarse en un enlace serie entre un
ordenador y un PIC, pero al menos queramos explicarte con
palabras la estructura del programa (que en definitiva termina
siendo igual a una comunicacin serie tradicional). Por ltimo,
puedes observar en el listado del programa (lo puedes abrir con un
editor de texto) que ante cualquier evento que suceda dentro de
estos lazos FOR-NEXT, el programa saltar a subrutinas para
realizar tal o cual accin. Estas son: leer el termmetro y enviar los
datos al ordenador o transmitir (HSEROUT) el mensaje de saludo
almacenado.
Para qu utilizamos los lazos FOR-NEXT? Para encender el LED
rojo en forma intermitente. S, ya sabemos que es una aplicacin
trivial, sin sentido y que podramos haber utilizado el desborde
del TMR0 para ello, pero no olvides que estamos practicando,
experimentado, aprendiendo y que este tipo de rutinas puede ser
til en cualquier momento para resolver eventos que no puedan

dejar de atenderse u observarse en la forma cclica en que


activamos el LED rojo. Tambin puede ser til cuando ya has
agotado el uso de todos los timers del PIC.

El mdulo RN41 de Roving Networks


Entre los enlaces que te ofrecemos al final del artculo,
encontrars el listado completo de comandos AT que te
permitirn configurar muchas caractersticas del mdulo RN41.
Por supuesto, una de las ms importantes es darle al mdulo
nuestro nombre. Que al aparecer en escena, no lo haga como una
sucesin de letras y nmeros codificados, sino que tenga un
nombre representativo a nuestra aplicacin. Para lograrlo, bastar
con abrir el software de comunicacin serie de nuestra preferencia
(por ejemplo, el Hyperterminal) y escribir: $$$, es decir, el smbolo
de pesos, tres veces seguidas. Si el mdulo lo recibe en forma
correcta, devolver las letras CMD seguido por un signo de
pregunta, de igual modo que si estuviera esperando nuevas
instrucciones. Luego de esto, escribimos SN, . Nosotros
escribimos: SN,NeoTeo y result lo que ves en el video. El mdulo
te devolver un AOK, indicndote que recibi la instruccin, y
luego otro signo de interrogacin. Este proceso se repite hasta que
termines de enviar comandos AT al mdulo. Al finalizar, quitas la
alimentacin, la reestableces y listo! El mdulo actuar segn los
comandos enviados.

Atencin aqu! Existen dos tipos diferentes de comandos: unos


determinan el funcionamiento del mdulo (como los que te
indicamos recin) y otros le indican acciones en tiempo real.
Es decir, para los primeros debes reiniciar la alimentacin,
mientras que para los segundos la accin se realizar en tiempo
real, o sea, cuando t enves el comando AT. En el caso de utilizar
un ordenador como enlace a un dispositivo remoto que posea el
mdulo Bluetooth RN41, ser muy sencillo enviarle los

comandos AT de accin. Desde un telfono mvil debers


encontrar o elaborar algn tipo de aplicacin capaz de realizar
este trabajo. Aqu tienes una muestra para ver cmo un telfono
mvil detecta el flamante Mdulo Bluetooth NeoTeo.

Nuestro trabajo ahora estar centrado en seguir investigando


acerca de las prestaciones que este mdulo puede ofrecernos.
Qu es lo primero que intentaras hacer funcionar en tu
ordenador mvil? El punto es: aplicacin remota que enva
datos al ordenador de manera inalmbrica. Por supuesto, te
invitamos a charlar sobre el tema, posibles mejoras, aplicaciones
tiles y todo lo que quieras decirnos en el foro de NeoTeo. All
tenemos mucho para charlar y comentar acerca de esta maravilla
del mundo de las telecomunicaciones: el Bluetooth. Te
esperamos!

Você também pode gostar