You are on page 1of 11

UsingAndroidto control Arduinovia

Bluetooth (HC-05/06 Module)

Recently, IvenoticedmanyprojectsincorporatingAndroid-Arduinocommunication. One of


theeasiest (and cheapest) ways of achievingthisisto use a HC-05/06 Bluetooth module. You
can pick one up from amazon.ca for ~$15.
Forthisproject, i used a Galaxy S3 toindependently control 4 LEDs.
Youwillneedtodownloadtheapp Arduino Bluetooth Terminal, whichisavailablefor free
onthe Play Store.
Tohookupthebluetooth module, connectthe 5v and GND
totheircorrespondingarduinoheaders of thesamename. Forthe TX/RX pins, use digital pins
10(TX) and 11(RX)

Youreindicatorledonthe HC-05/06 shouldnowstartblinking.


Topairyourandroidtothe module, use thepasscode 1234. Try 0000 ifthatdoesnotwork.
Once paired, theindicatorledshouldnow be constant ON.
To set-up the simple LED cct, pleaserefertothethepicturebelow. Note the GREEN, BLUE,
RED, and WHITE leds are poweredby digital pins 4, 5, 6, and 7, respectively.

Almostfinished!
Uploadthis sketch toyourboard:
1 #include<SoftwareSerial.h>;
2
3 SoftwareSerialbluetooth(10, 11); // RX, TX
= 4;
4 intledGRN
intledBLU = 5;
5 intledRED = 6;
6 intledWHI = 7;
7 intBluetoothData;
8
9 voidsetup()
{
10 bluetooth.begin(9600);
11 pinMode(ledGRN,OUTPUT);
12 pinMode(ledBLU,OUTPUT);
13 pinMode(ledRED,OUTPUT);
14}pinMode(ledWHI,OUTPUT);
15
16voidloop()
17{
18 if (bluetooth.available())

19 {
20 BluetoothData=bluetooth.read();
21
if(BluetoothData=='1')
22 {
23 digitalWrite(ledGRN,1);
24 bluetooth.println("GREEN ON");
25 }
26
27 if(BluetoothData=='2')
{
28 digitalWrite(ledBLU,1);
29 bluetooth.println("BLUE ON");
30 }
31
32 if(BluetoothData=='3')
33 {digitalWrite(ledRED,1);
34 bluetooth.println("RED ON");
35 }
36
37 if(BluetoothData=='4')
38 {
digitalWrite(ledWHI,1);
39 bluetooth.println("WHITE ON");
40 }
41
42 if (BluetoothData=='0')
43 {
44 digitalWrite(ledGRN,0);
digitalWrite(ledBLU,0);
45 digitalWrite(ledRED,0);
46 digitalWrite(ledWHI,0);
47 bluetooth.println("LED'S OFF");
48 }
49
50 }
delay(100);
51}
52
53
54
55
56
57
58
59
60
Nowyoushould be abletoturnonthe 4 LEDS byenteringthenumbers 1 2 3 4, and turnthem
off by pressing 0.

Think of allthepossibilitiesthat are now open toyou! Forexample, youcould control any
120V cct. bysimplyadding a relay, instead of powering a led. Remember,
creativityislimitless!

Configurando su Mdulo Bluetooth para


Comunicacin entre Scratch y Arduino
Para que la comunicacin entre Scratch y su Arduino funcione, usted va a precisar
configurar su mdulo Bluetooth para operar en la velocidade de comunicacin utilizada
tanto por el interpretador Firmata como por el servidor s2a_fm. Esto vale para ambas
versiones de Firmata que pueden ser usadas con Arduino: tanto para la versin
StandardFirmata de la distribucin padrn de la IDE del Arduino como para la variante
turbinada FirmataPlus distribuida por Alan Yorinks con sus paquetes s2a_fm y PyMata.
Mdulos Bluetooth vienen configurados de fbrica para operar a la
velocidad de 38400 bps
s2a_fm necesita que el mdulo opere a 57600 bps

Adems, si usted va a hacer oficinas de Scratch con Computacin Fsica/Robtica donde


usted tendr varios grupos de alumnos en la misma sala de aula, cada uno con su Arduino
y su mdulo Bluetooth. Los mdulos Bluetooth vienen de fbrica todos con el nombre
identificador padrn HC-05 pregrabado y solo son identificables como mdulos
diferentes por su direccin fsico, un nmero enorme que tambin viene pregrabado de
fbrica. Para que no haya confusin, es importante que cada mdulo posea un nombre
simblico que lo identifique claramente, para que los alumnos no confundan sus mdulos y
conecten el Arduino del vecino a su computador.
Mdulos Bluetooth vienen configurados de fbrica todos con el mismo
nombre.
Usted va a precisar dar un nombre diferente la cada uno para usarlos
todos juntos en sala de aula

En esta pgina usted va a ver:

como configurar su mdulo Bluetooth para operar en la velocidade de comunicacin


usada para la comunicacin Scratch/Arduino y grabar esta configuracin en el
como dar un nombre bueno y diferente para cada mdulo Bluetooth y grabar este nombre
en el mdulo para que los alumnos identifiquen fcilmente cual es el suyo.

Las instrucciones en esta pgina funcionan tanto para el mdulo ultra barato HC-05 como
para el mdulo mejorcito HC-06. Usted solo tiene que tener en mente lo siguiente: si usted
desea utilizar el mdulo HC-06 en su montaje, usted tendr obligatoriamente que instalar
FirmataPlus en su Arduino. El HC-05 funciona perfectamente con StandardFirmata y solo
necesita de las funcionalidades extras del FirmataPlus si usted va a usar SONAR en sus
montajes.
Para entender como funciona la comunicacin entre Scratch y Arduino, vaya primero para
nuestra pgina Como Instalar la Comunicacin entre Scratch y Arduino e instale todo lo
que se sugiere al. Despus retorne aqu y siga las instrucciones a continuacin.

Montando su Grabador de Mdulos Bluetooth


Nosotros creamos una aplicacin que es un grabador de mdulos Bluetooth usando un
Arduino. con ella usted puede, en pocas horas, configurar y grabar los 30 o 50 mdulos
Bluetooth que usted vaya a usar en su escuela para las clases de Computacin Fsica o
Robtica. Usted solo va a hacer esto una nica vez, despus puede pasar varios aos
utilizando solamente mdulos sin tener que rehacer la grabacin, entonces es una inversin
de tiempo que vale la pena.
Observe que en el circuito del dibujo utilizanos un mdulo HC-05. si usted va a utilizar un
HC-06, antes de conectar, verifique los nombres de los pinos, puede ser que ellos estn en
otra secuencia.
Para esto usted va a precisar:

construir el circuito usando uno de sus Arduinos;


grabar en el Arduino el cdigo de nuestro Configurador de Mdulos Bluetooth;

Circuito del Grabador de Mdulos Bluetooth


Monte el circuito del dibujo a continuacin. Intente usar cables en los colores das del
dibujo, vamos referenciar los cables indicando tambin sus colores ms tarde. Sugerimos
montar el mdulo Bluetooth en un protoboard para que quede fcil de cambiar mdulos y
grabarlos uno atrs del otro: as basta conectar un nuevo mdulo y grabarlo.

Cdigo Arduino del Grabador de Mdulos Bluetooth


Copie el cdigo a continuacin en un nuevo proyecto en su IDE Arduino y grbelo en un
Arduino. en seguida desconecte el Arduino (desconecte de la puerta USB). la ltima
versin de este cdigo va a estar siempre aqu:
https://github.com/ComputacaoNaEscola/s2a_fm/blob/master/ConfiguraModuloBluetooth.i
no

/*=======================================================================
===================
C O M P U T A O
N A
E S C O L A
--- Software de Apoyo al Profesor --Sketch de configuracin para operacin wireless con Scratch a travs
s2a_fm de Mdulos Bluetooth
HC-05 y otros que utilizan comandos Hayes terminados con CR+LF.
Comandos Hayes o Comandos-AT es un lenguaje de configuracin de modems
originalmente
desarrollada en 1981 para el Hayes Smartmodem de 300 bps de la hoy
extinta Hayes Microcomputer
Products. Todo comando Hayes es formado por "AT" (significando
"attention!") un conector "+" e
una palabra-llave seguida o no de parmetros.
Masinfos aqu: http://en.wikipedia.org/wiki/Hayes_command_set
Comandos Hayes utilizados para configurar el mdulo Bluetooth:
AT+NAME=ARDUINO**
AT+UART=57600,0,0
donde ** es el nmero del mdulo que usted va a determinar.
INSTRUCCIONES DE USO:
Para grabar este programa en un Arduino:
1. Grave el sketch en el Arduino antes de hacer las conexiones del
diagrama.
2. Desconecte el Arduino (desconecte de la puerta USB).
Para comenzar a usar:
1. Conecte Arduino al protoboard o al HC-05 conforme diagrama.
2. Conecte el Arduino a la puerta USB de su computador.
3. Abra el Monitor Serial, configurando su velocidade para 9600 baud y
el fin de lnea para NL y CR.
4. Siga las instrucciones que vayan apareciendo en el monitor serial,
entrando los parmetros en la cajita de entrada, arriba.
Para programar otro HC-05:
0. no hay necesidad de desconectar o desconectar el Arduino.
1. Desconecte el cabo de energa (rojo) del HC-05 del pino +5V del
Arduino.
2. Desconecte-o del protoboard.
3. Conecte un nuevo HC-05.
4. Conecte el cabo de energa de vuelta al pino +5V del Arduino.
5. IMPORTANTE -> Apriete el botn de reset del Arduino.
6. Siga las instrucciones que vayan apareciendo en el monitor serial,
entrando los parmetros en la cajita de entrada, arriba.
====================================
CONEXIONES del MODULO BLUETOOTH
KEY
: PINO 9
(fio LARANJA)
VCC
: PINO +5v (fio VERMELHO)
GND
: PINO GND (fio PRETO)
TXD
: PINO 10
(fio VERDE)
RXD
: PINO 11
(fio AMARELO)

AUTORES:
- Aldo von Wangenheim - INCoD/UFSC
- NestorRoqueiro - DAS/UFSC
DATA: 20/06/2014
Basado parcialmente en el cdigo "HC-05-Modify The HC-05 Bluetooth
Module Defaults Using AT Commands" de:
AUTHOR: Hazim Bitar (techbitar)
DATE: Aug 29, 2013
LICENSE: Publicdomain (use at yourownrisk)
CONTACT: techbitar at gmaildotcom (techbitar.com)
disponvelem: http://www.instructables.com/id/Modify-The-HC-05-BluetoothModule-Defaults-Using-A/?ALLSTEPS
=========================================================================
=================*/
#include<SoftwareSerial.h>
SoftwareSerialBTSerial(10, 11); // RX | TX
voidsetup()
{
pinMode(13, OUTPUT);
// Vamos usar LED onboard como sinalizador de
comunicacin
pinMode(9, OUTPUT);
// Pino para acionar el modo de configuracao
(pino KEY del mdulo)
digitalWrite(9, HIGH); // Ativar modo de configuracao para aceitar
comandos Hayes
Serial.begin(38400);
BTSerial.begin(38400); // HC-05 default speed in AT command more
delay(1000);
Serial.println("Entre con Comandos Hayes:");
}
voidloop()
{
// Leia la salida del HC-05 and envie al Monitor Serial del Arduino
if (BTSerial.available()){
digitalWrite(13, HIGH);
Serial.write(BTSerial.read());
digitalWrite(13, LOW);
}
// Leia el que fue digitado en el Monitor Serial del Arduino y envie
al HC-05
if (Serial.available()){
digitalWrite(13, HIGH);
BTSerial.write(Serial.read());
digitalWrite(13, LOW);
}
}

Usando el Grabador de Mdulos Bluetooth


Prepar el grabador?
1. Grab el sketch arriba en el Arduino?
2. Desconect el Arduino? (desconecte de la puerta USB)

Para comenzar a usar


1. Conecte Arduino al protoboard o al HC-05 conforme diagrama.
2. Conecte el Arduino a la puerta USB de su computador.
3. Abra el Monitor Serial, configurando la su velocidade para 9600 baud y el fin de lnea para
NL y CR en las dos cajitas en la parte de abajo del Monitor.
4. Siga las instrucciones que vayan apareciendo en el monitor serial, entrando los comandos
Hayes en la cajita de entrada en la parte de arriba del Monitor Serial.

Os comandos Hayes que usted va a utilizar para configurar el mdulo Bluetooth Son los
siguientes:

Para configurar la velocidade del mdulo Bluetooth:

AT+UART=57600,0,0

Para configurar el nombre del mdulo Bluetooth:

AT+NAME=ARDUINO**

donde** es el nmero del mdulo que usted va a determinar. As usted puede tener sus
mdulos Bluetooth chamados ARDUINO01, ARDUINO02, y as por delante.
Entre cada comando y de [ENTER].
Si la configuracin/grabacin fue correcta, despus que usted digite cada comando y de
ENTER, el mdulo tiene que responder con OK en el terminal serial.
A configuracin va a quedar grabada y usted no tiene que hacer mas nada.
Para programar otro mdulo Bluetooth
1.
2.
3.
4.
5.
6.
7.

No hay necesidad de desconectar o desconectar el Arduino.


Desconecte el cabo de energa (rojo) del HC-05 del pino +5V del Arduino.
Desconecte el mdulo Bluetooth del protoboard.
Conecte un nuevo mdulo Bluetooth HC-05.
Conecte el cabo de energa del mdulo Bluetooth de vuelta al pino +5V del Arduino.
IMPORTANTE -> Apriete el botn de reset del Arduino.
Siga las instrucciones que vayan apareciendo en el monitor serial, entrando los
parmetros en la cajita de entrada, arriba.

CONEXIONES del MODULO BLUETOOTH


KEY
: PINO 9
(fio LARANJA)
VCC
: PINO +5v (fio VERMELHO)
GND
: PINO GND (fio PRETO)
TXD
: PINO 10
(fio VERDE)
RXD
: PINO 11
(fio AMARELO)

You might also like