Arduino y conectividad Bluetooth

Una tecnología de comunicación inalámbrica que tiene gran popularidad es el Bluetooth. Bluetooth se refiere al conjunto de Hardware y software que opera en la banda de 2.4 a 2.485 GHz, conocido como espectro ISM (del inglés Industrial Cientifíco y Médico) diseñado para comunicaciones en corta distancia.
bluetooth_bt2s
Desde el punto de vista del alcance, Bluetooth se considera una tecnología PAN (en inglés Personal Area Network) la red que está en nuestro entorno inmediato.

Pues bien, en este artículo usaremos un módulo Bluetooth para comunicar un Arduino Uno con un Celular Android… Y ademas controlaremos nuestro Arduino Uno desde el calular usando Ardudroid, una aplicación disponible en el Play Store

Tras el salto los detalles de la conexión y los sketch de ejemplo

Materiales

  • Módulo Bluetooth
  • Arduino Uno
  • Teléfono celular (en nuestro caso un SGSIII con Android 4.1.2)
  • PC con Arduino IDE 1.05

Conexión Física

Esta parte esta basada en este interesante post

El módulo es fácil de cablear, a continuación indicamos los pines y su referencia en Arduino

modulo Arduino

Vcc     5V
GND   GND
Tx       D2
Rx       D3

Lo que haremos es enviar datos desde Arduino y recibirlos en el teléfono.

En el arduino cargamos el siguiente sketch

#include <SoftwareSerial.h>
SoftwareSerial blue(2, 3);
void setup()
{
blue.begin(9600);
blue.println("Conectado");
}
void loop()
{
blue.println("Hola Mundo");
delay(1000);
}

En el teléfono se siguen los siguientes pasos

Para verificar el sketch debemos parear nuestro módulo Bluetooth con el teléfono esto se hace desde Configuración-> Bluetooth se busca el equipo y cuando la aplicación solicita clave se ingresa 1234.

Desde Google play bajamos una aplicación llamada Blueterm (hay varias pero todas tienen la misma funcionalidad básica)

Asi vemos en la siguiente pantalla se muestra el resultado del sketch anterior.

Pantalla de aplicacion Blueterm
Pantalla de aplicación Blueterm

Obviamente el sketch anterior podemos agregar una variable que sea leída por Arduino y enviada al móduloo Bluetooth.

#include <SoftwareSerial.h>
SoftwareSerial blue(2, 3);
int pot=0;
void setup(){
blue.begin(9600);
blue.println("Conectado");
}
void loop(){
pot=analogRead(0);
blue.println(pot);
delay(1000);
}

Usando Ardudroid

Ardudroid es una aplicación para controlar el Arduino desde Bluetooth.

Primero en Arduino Uno cargamos el siguiente ardudroidsketch

Segundo.  Bajamos la aplicación que esta disponible en este link Esta aplicación tiene un panel de control que se muestra en la siguiente figura.

wpid-Screenshot_2014-03-10-23-09-32.png

 

Una revisión detallada del sketch usado y de la aplicación está en el siguiente link de instructables pero algunas de las funciones son evidentes de la pantalla.

Con esto ya tenemos dos formas usar arduino con nuestro celular.

Author: Manuel Carrasco

Ingeniero Eléctrico, Institutano, instructor certificado Cisco, en twitter @mcarrasco con comentarios y opiniones personales.

4 thoughts

  1. Hola, mira yo me encuentro haciendo algo parecido a esto,pero con marketing de proximidad, no se si pudieras orientarme a poder hacer algo asi, de ante mano muchas gracias

    1. Oscar

      Efectivamente este dispositivo te serviria, pero no fue pensado en marketing de proximidad, esta pensado para enviar datos a un solo punto de comunicacion.

      Para marketing de proximidad necesitas mas potencia, de tal forma que puedas comunicarte a gran distancia con dispositivos bluethoot que esten encendidos y que deseen conectarse.

      Te sugiero que pruebes con microcomputadores como Raspberry Pi o Beaglebone, estos equipos estan pensados para procesar mas conexiones ya que son mas poderosos que un Arduino.

      Saludos
      JZ

  2. buenos dias,
    trate de seguir tus pasos, pero no pude «pariar» el teléfono con arduino,
    tengo un arduino pro mini, un hc05, un iphone 4, espero que me puedas orientar,
    por otro lado conoces alguna apps que me puedas recomendar para iphone
    saludos
    jose bdo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *