PINGUINO BLUETOOTH – OPEN HARDWARE / SOFTWARE / MIND
Menú Close

PINGUINO BLUETOOTH

Bueno hoy al fin pude terminar el proyecto bluetooth, lo tengo parado hace un par de semanas porque estoy en medio de un curso de Manager de Proyectos y otro de Ingles… pero al fin, he podido…

Basicamente estaba intentando dejar de lado XBEE para la comunicación in-alambrica, ya que esos módulos son un poco caros…entre 40 y 60 euros… ahora con los módulos bluetooth que se pueden conseguir por 20euros… puedo hacer todas los proyectos que quiera, además de no necesitar un receptor especial, ya que con cualquier ordenador o PDA con bluetooth, puedo comunicarme tranquilamente.

Aquí un video del funcionamiento.

La idea principal es modificar el Paddle Sensor con uno de estos modulos así consume memos, entre unos 50 a 100mA, a maxima potencia. Adicionalmente otra de las ventajas es la comunicación RS232 UART bi direccional, la cual puede llegar a casi un Mega de transferencia. Aunque la distancia se reduce a 20 metros sin obstáculos y 5 con obstáculos.

Lo primero es el esquema de este adaptador bluetooth.

Con un simple LM 317 y un preset de 5K en su Adj puedes tener un regulador de 3.3Volts 1 Amp…

Básicamente conectamos directamente el módulo BLUETOOTH en nuestra placa PINGUINO… sin nada de intermediario y se entenderán perfectamente, ya que la placa PINGUINO posee unas resistencias de acople que ayudan al dialogo correcto.

El codigo es simple. Escribo como si fuese un puerto serie normalito… y espero respuestas… en este caso, mido la temperatura y la luminosidad mediante entradas analógicas, y como punto adicional, controlo un LED colocado en el puerto 0. Todo esto con retroalimentación a la consola serie.

[sourcecode language=»py»]
// Bluetooth comunication v 1
// Walter López (walterleonardo & walii) 2011 pinguino.walii.es

char *string = "Hola mundo bluetooth!!! estoy vivo… soy pinguino";
#define LM35 18
#define LDR 17
#define LED 0

int i=0;

temp(){
int aux=0,buffer[10];
for (i=0;i<9;i++){
buffer[i]=analogRead(LM35);
aux = aux + buffer[i];
}
aux = (aux / 10);
aux = aux/2;
return aux;
}

light(){
int aux=0,buffer[10];
for (i=0;i<9;i++){
buffer[i]=analogRead(LDR);
aux = aux + buffer[i];
}
aux = (aux / 10);
aux = (aux-23)/10;
aux = 100-aux;
return aux;
}

void setup()
{
Serial.begin(9600);
pinMode(LED,OUTPUT);
digitalWrite(LED,LOW);
Serial.printf("\r\n");
Serial.printf("****************************************\r\n");
Serial.printf("*** PRUEBA de comunicacion BLUETOOTH ***\r\n");
Serial.printf("****************************************\r\n");
Serial.printf("\r\n");
}
void loop()
{
u8 c;
Serial.printf("****** %s\r\n", string);
Serial.printf("\r\n");
Serial.printf("\r\n");
Serial.printf("Press t key to receive the temperature …\r\n");
Serial.printf("Press l key to receive the Light level …\r\n");
Serial.printf("Press x key to change the LED status …\r\n");
c = Serial.getkey();
Serial.printf("=========================================\r\n");
if (c == 116) Serial.printf("Temperature = %u degrees Celsius\n\r" , temp());
if (c == 108) Serial.printf("Light = %u Percentage\n\r" , light());
if (c == 120) digitalWrite(LED,(digitalRead(LED)^1)), Serial.printf("Changed LED Status \n\r");
Serial.printf("=========================================\r\n");
Serial.printf("\r\n");

}

[/sourcecode]

Related Posts

4 Comments

  1. Juan Pablo Toledo

    Hola Walter, saludos desde Venezuela. Quería saber si existe alguna manera de obtener un módulo bluetooth de un teléfono celular que esté dañado. Hace poco destapé un sony ericson y los componentes eran muy pequeños, además de que no pude identificar ningún módulo separado de la pcb principal.

    Si sabes de algún modelo o marca de teléfono que haya usado un módulo que sea extraíble avísame.

    Buena página!

  2. walterleonardo

    modulo bluetooth… no se si se consiguen en venezuela (yo los compro de china… y rondan los 19 euros…)…pero tambien he utilizado los que vienen en modulos GPS bluetooth y Audio bluetooth (manos libres de auto)… estos traen casi siempre un chip bluetooth separado…
    los móviles es difícil porque el tema de miniaturizacion hace que sea imposible separarlos. Quizás en uno grande… tipo PDA o IPAD… yo tengo un IPAD (CHINO con ANDROID) y dentro lleva el modulo bluetooth separado).
    intenta… en ebay…

    Saludos.

  3. Bladimir rojas peña

    Buen día walter me gustaría preguntarte si habría forma de adaptarle a pinguino de esos bluetooth que venden tipo usb para pc, me refiero en el sentido de arma un circuito que adapte el usb del bluetooth para el serial del pinguino o crear algún programa para que el pinguino detecte lo que se le manda por este bluetooth, muchas gracias por tu atención y saludos desde colombia y te felicito por todo lo que has logrado con la interfaz de pinguino

  4. walterleonardo

    No se si te recomendaría que perdieras el tiempo con eso… hay que bajar a codigo USB y protocolo de comunicación, si pudiéramos hacer eso… sería la caña porque podríamos conectar desde un disco USB a una cámara web… te lo imaginas..??? 🙂 bajando al mundo real… no se puede… el protocolo USB posee unas características que hacen muy poco probable reproducirlo en un simple PIC… pero bueno… hoy hay de todo… y quizás se pueda inventar algo con el PINGUINO X32… pero aun no lo tengo en mi poder así que nos quedamos con el de 8Bits.
    El modulo USB bluetooth… es algo caro aqui quizas lo puedas conseguir por 8 euros… pero en ese caso yo prefiero comprarme un modulo Bluetooth serie, que me sale por 7 dolares… y no tengo que investigar mucho mas que el RS232…
    creo que es la solucion mas rapida y practica
    saludos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.