1 dic 2011

Conexión Bluetooth Con Arduino

Hola pequeños frikis, esta "semana" os voy a enseñar a controlar vuestro proyecto Arduino mediante el Bluetooth. Lo se, es lo que estabais deseando desde hace tiempo.... ¬¬

Para esto solo necesitamos nuestra placa Arduino, un módem Bluetooth y un dispositivo para enviar las señales Bluetooth. Comenzamos:
  • En primer lugar conectaremos el módem Bluetooth a la placa Arduino. Lo haremos de la siguiente forma: Del módem salen 4 pines: tierra y 5v, que conectaremos a sus mismos pines de la placa Arduino. Además de estos tenemos un Rx y un Tx que serán los enviarán y recibirán las señales. Los conectaremos de tal modo que el Rx irá con el Tx de Arduino y el Rx con el Tx del mismo. Dicha conexión tan sencilla nos supuso varias semanas de quebraderos de cabeza, ya que conectábamos Rx con Rx y Tx con Tx, aplicando la lógica.... pues no¡ que van cruzados¡ :(
  • A continuación crearemos un código en Arduino que reciba un caracter, por ejemplo un '0' y cuando lo lea haga parpadear un led. Para la conexión Bluetooth utilizaremos una biblioteca llamada NewSoftSerial, que puedes descargar aquí , solo tendrás que meterla en la carpeta library de Arduino para que la reconozca. El código será el siguiente:
#include

NewSoftSerial MySerial(0, 1); // Asigno(RX, TX)
int var;

void setup() {
MySerial.begin(9600);
pinMode(13, OUTPUT); //Conectamos un Led al pin 13 y la pata corta a tierra
digitalWrite(13,LOW); //Lo ponemos que comience apagado
}

void loop() {
if (MySerial.available() > 0) {
var = MySerial.read(); //Leemos del puerto serie
switch (var){
case '0': //Si es un cero
digitalWrite(13, HIGH); //Ponemos el led a lucir
MySerial.flush(); //Limpiamos Buffer
break;
}
MySerial.flush(); //Limpiamos buffer
}
}
  • Una vez el código esté en la placa Arduino cogeremos nuestro dispositivo Bluetooth, en mi caso utilizo un móvil con Android. Para enviar caracteres a traves del móvil utilizaremos una de las varias aplicaciones genéricas que crean un puerto serie por Bluetooth: ITEAD BT Debugging . Con esta aplicación buscaremos nuestro módem y ya podremos mandar datos a nuestro proyecto Arduino :P
Espero que me vayáis comentando vuestros proyectos con dicho funcionamiento¡ Yo ahora estoy construyendo un Robot con unos compañeros de la universidad.
Cualquier duda ya sabéis¡¡¡ Chao ¡¡¡ ^^

3 comentarios:

Jo.Echeagaray dijo...

Qué tal amigo, ya baje la app para el Android e instale la libreria pero no la reconoce aún :S.
Qué me recomiendas hacer?

Unknown dijo...

Disculpa, tengo una duda y quisiera saber si me podrias ayudar, lo q pasa es he visto varios videos donde el movil android es el q manda la señal al arduino y prende un led, etc, yo quiero hacer lo contrario, por ejemplo, q el arduino encienda un led y este se mire reflejado en el movil ya sea con una luz no se x cosa, cres q sea posible? de antemano gracias un saludo

Terranology dijo...

Carlos, en el caso que comentas, el procedimiento es el mismo. Tienes que programar tu arduino para que haga la petición... y en el caso de la aplicación android, tienes que programarla para que espere una petición de Arduino. Que placa estás utilizando? Y que componente bluetooth?

Respondiendo a Jorge...como has importado la librería? Debe de reconocerla. Mira en propiedades del proyecto/libraries

Un saludo¡