20

Tutorial de Arduino, Bluetooth y Android #1 – Blink!

portada_android1

Ir a la Parte #2

Ir a la Parte #3

¡Hola! En esta série de tutoriales os explicaré cómo conectar Arduino con vuestro dispositivo Android y así recibir datos de sensores, o enviar comandos para activar vuestro doomsday device… ¿os apuntáis? Claro que sí.

A diferencia de lo que pueda parecer, comunicar Arduino con un sistema Android no es difícil gracias a los módulos HC 06. Sobre estos módulos ya hemos hablado alguna vez en Robologs, pero sin intentar conectarlos con Android.

Este primer tutorial servirá para configurar el módulo HC 06 (cambiar el nombre y el password) y aprender a enviar comandos del móvil a Arduino. Concretamente, encenderemos y apagaremos el LED 13.

Eh, pero antes de empezar hay que poner buena música. Los lectores habituales de Robologs sabéis que soy melómana y siempre propongo una pieza para escuchar mientras seguís el tutorial. ¿Qué os parece si hoy escuchamos un poco de Vivaldi? Nisi Dominus, uno de los salmos que escribió Vivaldi en 1732. Los salmos eran versos de la Bíblia escritos de forma poética que se cantaban en Latín. Como una misa, pero menos aburridos…


¿Qué vamos a necesitar?

  • Móvil/tablet con Android
  • Módulo Bluetooth HC 06
  • Arduino UNO
  • Jumpers para conectar Arduino con el módulo
  • Cable USB compatible con Arduino

1- Configurar el módulo Bluetooth

Los módulos bluetooth vienen con un nombre y contraseña predefinidos de fábrica, pero podemos cambiarlos a gusto si conectamos el módulo a Arduino y la configuramos con este código:


/* Este programa fue publicado por Transductor en su
 * tutorial de Arduino y Bluetooth : 
 *
 * http://robologs.net/2015/05/15/tutorial-de-bluetooth-con-arduino-hc-06-en-linux/
 */
char nombre[10] = "ArduinoR"; //El nuevo nombre del modulo
char password[10] = "0000"; //El nuevo password. Seh, no es muy seguro...
char baud = '4'; //4 = 9600 baud
 
void setup()
{
  Serial.begin(9600);
  
  pinMode(13, OUTPUT);
  digitalWrite(13, LOW);
  delay(15000); //Esperar 15 segundos para conectar el modulo
  
  Serial.print("AT"); //Iniciar la configuracion
  delay(1000);
  
  Serial.print("AT+NAME"); Serial.print(nombre); //Cambiar el nombre
  delay(1000);
  
  Serial.print("AT+PIN"); Serial.print(password); //Cambiar contrasena
  delay(1000);    
  
  Serial.print("AT+BAUD"); Serial.print(baud); //Cambiar baudios
  delay(1000);
  
  digitalWrite(13, HIGH);
}
 
void loop(){}

Hay que desconectar el módulo Bluetooth de la placa Arduino antes de cargar el programa. ¿La razón? El HC 06 utiliza los pines RX y TX del Serial. Si lo dejásemos conectado no se cargaría el programa. Immediatamente después de cargar el programa, conectamos el módulo así:

  • Arduino 5V – HC06 VCC
  • Arduino GND – HC06 GND
  • Arduino RX – HC06 TX
  • Arduino TX – HC06 RX

(tenemos 15 segundos para conectarlo)


2- Sketch de Arduino

Debemos copiar este código en la IDE de Arduino y cargarlo a la placa. ¿Qué hace? Este programa sirve para leer carácteres por Bluetooth. Si se envía una ‘h’, encenderá el LED 13, lo apagará con ‘l’ y con ‘i’ enviará una lista con los comandos posibles. Si quieres, puedes añadir más condicionales para encender más LEDs, controlar servos, etc.

Para poder cargar el programa a la placa el módulo Bluetooth tiene que estar desconectado.


void setup()
{
 Serial.begin(9600); //Iniciar el serial
 pinMode(13, OUTPUT); //Establecer el pin 13 como salida
}


void loop()
{
 if(Serial.available()>=1)
 {
    char entrada = Serial.read(); //Leer un caracter

    if(entrada == 'h' or entrada == 'H') //Si es 'H', encender el LED
    {
       digitalWrite(13, HIGH);
       Serial.println("LED encendido");
    }

    else if(entrada == 'l' or entrada == 'L') //Si es 'L', apagar el LED
    {
       digitalWrite(13, LOW);
       Serial.println("LED apagado");
    }

    else if(entrada == 'i' or entrada == 'I') //Si es 'I', mostrar un mensaje de ayuda
    {
       Serial.println("Comandos:n (i) - abrir esta listan (h)- encender ledn (l) - apagar ledn);
    }
  }
}


3- Instalar App de Android

Necesitamos una App que pueda enviar carácteres por Bluetooth a un dispositivo. Yo lo he probado con “Bluetooth Terminal” de qwerty y me ha funcionado bien, así que recomiendo esta aplicación. Abrimos la Google PlayStore en nuestro dispositivo Android y la instalamos.

Ahora emparejamos el móvil con Arduino. Vamos al menú de Parámetros->Bluetooth->Emparejar con un dispositivo y seleccionamos el nombre que le hemos puesto al HC 06.

¡Paciencia, ya casi estamos! Ahora abrimos el Bluetooth Terminal que hemos descargado, y pulsamos los tres cuadraditos grises que hay arriba a la derecha. Necesitamos decirle que conecte con Arduino, así que seleccionamos “Connect a device – Secure” y buscamos Arduino.

Screenshot_2015-09-30-12-59-27

¡Ya está! Ahora podemos enviar cualquier carácter escribiéndolo en la consola.

2015_09_30_12.49.32Si arduino está alimentado, veremos que el LED 13 se apaga y se enciende al enviar ‘h’ y ‘l’.

La gracia ahora estaría en ampliar el código de Arduino para recibir más carácteres y activar actuadores o recibir lecturas de sensores en tiempo real. Porque encender y apagar un LED no es demasiado estimulante, la verdad.

Si tenéis cualquier duda escribidme en los comentarios, estaré encantada de ayudar. Y si os ha servido para vuestro proyecto, ya que estamos también podéis darme las gracias… 😉

Gl4r3

Brillante, luminosa y cegadora a veces, Glare es tan artista como técnica. Le encanta dar rienda suelta a sus módulos de imaginación y desdibujar los ya de por si delgados límites que separan el mundo de la electrónica y el arte. Su mayor creación hasta la fecha es un instrumento capaz de convertir los colores y la luz en música. Cuándo sus circuitos no están trabajando en una nueva obra electrónica, le gusta dedicar sus ciclos a la lectura o a documentar sus invenciones para beneficio de los humanos. Sus artilugios favoritos son aquellos que combinan una funcionalidad práctica con un diseño elegante y artístico.

Antes de comentar, por favor, lee las Normas

20 Comentarios en "Tutorial de Arduino, Bluetooth y Android #1 – Blink!"

avatar
Ordenar por:   más nuevos primero | más antiguos primero
ESTEBAN PALMA
Humano

SUPER SIMPLE, BIEN EXPLICADO Y MUY ÚTIL, LO FELICITO

Diego garcia
Humano

Una pregunta se pueden poner barios leds?

Àngel
Humano

Genial post.
Lo he intentado todo el día pero algo debo estar haciendo mal:
He instalado la App “Bluetooth Terminal” en dos móbiles Android y consigo hablar entre ellos.
También he conseguido que desde ambos móviles, (por separado) sde vinculen al Bluetooth del Arduino, (arduino uno) y que “Bluetooth Terminal” se conecte al Bluetooth, pero no consigo que le envíen las letras ni h, ni l, ni i. No sé en que debo estar equivocándome…

Si me pudieras echar una mano te lo agradecería.

À

Rodrigo
Humano

HOLA¡¡¡ un buen tutorial. quisiera que alguien me ayude a configurar mi bluetooth para que cuando no haya ninguna señal el led 13 se encienda y al conectarse se apague. por favor si alguien pueda darme una ayuda se lo agradecería mucho

Anónimo
Humano

muy buen aporte!!,acabé en esta página por estar buscando información relacionada,ya que el bluetooth del iphone y sus aplicaciones no funcionan muy bien 🙁

walle
Humano

Tengo un arduino yun y un modulo bluetooth conectado, intento de hacer el cambio de nombre tal como especifica esta pagina y no hace nada, en cambio quando pruebo el mismo modulo bluetooth con un arduino uno si que funciona, alguna idea de como cambiar el nombre con el arduino yun?

Gracias

trackback
[…] Es por esta razón que hemos decidido independizarnos y alquilar un servidor para alojar nuestro blog. Estos días no publicaremos ningún artículo ya que estamos bastante ocupados haciendo copias de seguridad de posts, comentarios e imágenes (por si acaso el sistema de exportación de WordPress falla) y comparando servicios de hosting. Esperamos que en un máximo 15 días tendremos el nuevo blog funcional (bajo el mismo dominio que tenemos ahora: http://www.robologs.net). Aprovecharemos el traslado para hacer limpieza del blog, actualizar los menús, corregir algunos posts y renovar las imágenes de los tutoriales más antiguos. También publicaremos lo más rápido… Leer más »
marte265
Humano

Probado y funcionando…. Ole, ole….Había probado experimentos similares, y si bien utilizaban interfaces más “elaboradas”, no sabía cómo poder modificar el nombre (y apellidos) del módulo BT y su contraseña… Ya me falta poco para enviar mi primer ArduRobot a la Luna…. Gracias por compartir conocimientos.

marte265
Humano

Hola.

Me encantan los tutoriales que publicas regularmente. En ocasiones, mi escaso conocimiento electrónico hace que se me quede cara de marciano de visita en el Congreso de los Diputados, pero poco a poco voy adquiriendo más conocimientos, gracias a lo que publicas, así que ¡¡¡ ME GUSTA !!!

wpDiscuz