RED

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]

Processing + touchOSC + PINGUINO + Brushless

Aqui os enseño el ultimo proyecto que he creado, basandome en el famoso ARDRONE, quice intentar reproducir el control utilizando un IPHONE, conectado por WIFI, y asi dar ordenes via TOUCHOSC al PROCESSING y este via puerto USB enviar la informacion recibida a un PINGUINO el cual tiene como tarea mover el motor BRUSHLESS…

La tarea es sensilla.

[IPHONE (+TouchOSC)]—wifi—>[OSx(+PROCESSING)]—usb—>[PINGUINO(+brushless)]

Siento lo del audio, pero sin querer capture el video con el microfono de la webcam, por ende “Horrible”

Esto es una muestra de lo que podemos hacer con las herramientas y el tiempo necesario.

En cuanto tenga un segundo, subo el perfil de TOUCHOSC, el codigo del PROCESSING y el de PINGUINO.

Saludos.

Tienda de compras

Gracias el consejo de varias personas que han utilizado la tienda, he visto que tiene problemas de visualizacion en OPERA y CHROME…

Se recomienda el uso de Internet Explorer y Safari.

Igualmente he incluido los productos en una nueva web que tengo ONline… la cual para quien quiera visitarla ya estan activos los productos PINGUINO…

el link es:
http://echollos.com/category.php?id_category=7

Basicamente son los mismos productos pero esta web es compatible con todos los Exploradores.Pronto incluire el link en la propia pagina.

PACHUBE +PINGUINO+PROCESSING

HOla Buenos días.

Hoy tras un par de día con PROCESSING, he visto que podemos enviar datos por red utilizando diferentes tipos de librerías, y entre ellas podemos encontrarnos con una muy especial, que se llama PACHUBE.

http://PACHUBE.com

En exclusiva el servicio que me llamo la atención fue la de comunicar PINGÜINO (bueno arduino, pero ya podemos con PINGUINO) con Pachube para tanto controlar las puertas de nuestro PINGÜINO, como crear gráficas de cualquier tipo de sensor que tengamos en nuestro proyecto y publicarlo en un FEED creado a tal fin.

En este caso la información indica cómo hacerlo con ARDUINO,por eso me he puesto a modificarlo para que funcione con nuestro vicio (PINGÜINO)…y este es el resultado.

El gráfico en vivo es este: (Pero tengan en cuenta que puede estar apagado hasta que no lo deje permanente en el router LINKSYS de mi casa. El cual tiene el pingüino conectado de forma permanente, y así poder ver la temperatura/humedad/iluminación de mi casa de forma remota).

Y si quieren ver mi feed de pachube.

Este es el link

Un monitor de cualquier tipo de sensor, en mi caso un LDR conectado en el Puerto AN0 de mi PINGUINO. Esto utilizando las librerías y el código de pingüino mencionado en el post anterior, además me he puesto a modificar el código del PROCESSING de ARDUINO y he obtenido este resultado.

Necesitaríamos crearnos una cuenta en PACHUBE y un FEED “con actualización manual si estamos detrás de un firewall o no queremos abrir puertos, y de forma automática si tenemos un ordenador conectado directamente a internet… que no creo…”

También necesitaremos esta librería EEML dentro del directorio LIBRARIES del PROCESSING, es la encargada del envío y recepción de información por internet.

[sourcecode language=”py”]

// Processing control pinguino+PACHUBE
// Walii.es pinguino.walii.es 2010
import hypermedia.pinguino.*; // import library
int val0,val1,val2,val3,val4,val5,val6,val7;
Pinguino board; // pinguino object
import eeml.*; // librería para envío/recepción de datos a internet
float lastUpdate;
int myValue;
DataOut dOut;
void setup()
{
board = new Pinguino( this ); // connect to Pinguino board
//dOut = new DataOut(this, 5210);
//si quieren hacer una prueba local descomentar
dOut = new DataOut(this, "SU PROPIO FEED/feeds/8231.xml", "nuestra clave de FEED");
dOut.addData(0,"light sensor, LDR, light level"); //identificacion de feedID
}
void draw()
{
val0=board.analogRead(13); //lee el puerto
println(val0); //imprimer el valor en la consola
//cada 5 segundos se hace un update de los datos
//si la respuesta es "200" está todo bien
//si la respuesta es "400" no hemos llegado a la pagina
if ((millis() – lastUpdate) > 5000){
println("ready to PUT: ");
dOut.update(0, val0);
int response = dOut.updatePachube();
println(response);
lastUpdate = millis();
}
}

[/sourcecode]

LISTO, con esto tendremos transmitiendo nuestro pingüino a travez de PROCESSING, pudiendo hacerse con PYTHON o Perl, en la web de PACHUBE indica como.

NETWORK STATUS CHECK (pingüino+fonera+Cshell)

Hoy se me ha ocurrido hacer algo para quitarme tareas de encima, no les ha ocurrido que su mujer los llama diciendo “no funciona internet, ¿Qué le pasa?” J y nosotros a 20kilometros de distancia deberíamos saber lo que ocurre por telepatía 2.0 J

Por eso se me ocurrió un indicador que nos informe con levantar la mirada, si el problema el local o de internet, por ejemplo me ha pasado que el proveedor hace modificaciones y se corta, en esos caso es bueno saberlo para no tocar o modificar nada sin estar seguro que el problema es nuestro.

O quizás para ver el estado de la red en todo momento. Saber si nuestra conexión a internet se encuentra saturada o caída, o tenemos algún servidor de internet que nos interesa saber cuándo se cae.

He realizado un diseño con PINGÜINO un programa simple y un script en el equipo a donde conectemos el puerto serie del PINGÜINO.

Es básicamente la misma configuración del proyecto RGB wifi, que utilizando la comunicación RS232 puede ordenar a PINGÜINO que encienda uno u otro color o led.

En este caso controlaremos dos leds RGB, un BUZZER y si queremos también un servo (esto último no lo tengo terminado en cuanto a hardware, pero si el código)

Read the rest of this entry »

Facebook Like Add
Google PLUS ONE
De donde me visitan
Publicidad
Calendario de Posts
July 2018
M T W T F S S
« Nov    
 1
2345678
9101112131415
16171819202122
23242526272829
3031