Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola compañeros,
Quería compartir con vosotros mi ultimo miniproyecto nocturno. He usado el nuevo Chronos ez430 (que me recomendó Garrocha durante la Campus Party en Madrid) para manejar un robotillo nuevo que he empezado. El reloj es muy chulo y barato, asi que si os apetece jugar con algo nuevo, os animo a que le echéis un ojo.
Aquí os dejo el enlace al proyecto:
http://www.tupperbot.es/2010/09/chronos-ez430-and-visual-studio-net/
...furri, Mif, pues puede que sí haya algo que todavía sea más rápido para crear una interfaz de usuario para el control de un robot: http://www.robotbasic.org/ " onclick="window.open(this.href);return false; Todavía no lo habéis probado?
No, no lo he probado, parece interesante, le echaré un vistazo.
Refloto el tema...
En la empresa donde trabajo, vamos a empezar a realizar un par de proyectos con este reloj. Alguna idea de por dónde empezar? (que conste que todavía no he mirado nada).
S2
Ranganok Schahzaman
Depende de lo que necesites. Yo he hecho alguna chorradilla con el:
Cambiando los menús para rendir tributo a la web del Cire http://www.metacafe.com/watch/7680562/tributo_al_cire/ " onclick="window.open(this.href);return false;
Todo lo que necesitas lo puedes mirar aquí: http://processors.wiki.ti.com/index.php/EZ430-Chronos?DCMP=Chronos&HQS=Other+OT+chronoswiki " onclick="window.open(this.href);return false;
Aquí un ejemplo de Hello Word: http://trandi.wordpress.com/2011/09/03/ti-ez430-watch-unbox-hworld/ " onclick="window.open(this.href);return false;
Aquí cómo el el protocolo para las comunicaciones inalámbricas con el ezChronos: http://e2e.ti.com/support/microcontrollers/msp43016-bit_ultra-low_power_mcus/f/166/t/32714.aspx " onclick="window.open(this.href);return false;
Más o menos lo que necesito es recoger los datos (accelerómetro, etc.) que los procesaré en otro sitio (una central que ya tenemos hecha) y enviar las alarmas correspondientes al reloj.
Me miraré con calma lo que me has enviado. Gracias.
S2
Ranganok Schahzaman
PD: En qué has programado el cubo gráfico para mostrar el accelerómetro? Me podrías pasar el código?
El cubo está hecho en processing. Pego aquí el código fuente por si a alguien más le interesa:
import processing.serial.*;
import processing.opengl.*;
PFont fuente;
float valorX;
float valorZ;
float valorY;
Serial puerto;
byte empieza[] = {-1, 7, 3};
byte datos[] = {-1, 8, 7, 0, 0, 0, 0};
byte[] buffer = new byte[7];
boolean principio = true;
int leidos = 0;
void setup()
{
size(800, 800, OPENGL);
//fuente = loadFont("Digital-7-72.vlw");
fuente = createFont("Arial", 72);
textFont(fuente);
puerto = new Serial(this, "COM4", 115200);
puerto.write(empieza);
}
void draw()
{
background(0);
lights();
pushMatrix();
translate(width / 2, height / 2);
rotateX(valorX);
rotateZ(valorZ);
rotateY(valorY);
cuadrado();
popMatrix();
fill(255, 255, 0);
text("X:", 0, 650);
text(valorX, 50, 650);
text("Z:", 0, 700);
text(valorZ, 50, 700);
}
void cuadrado()
{
beginShape(QUADS);
fill(255, 255, 255);
vertex(-70,-20,-100);
vertex(-70,20,-100);
vertex(70,20,-100);
vertex(70,-20,-100);
fill(0, 255, 0);
vertex(-70,-20,100);
vertex(-70,20,100);
vertex(70,20,100);
vertex(70,-20,100);
fill(0, 0, 255);
vertex(-70,20,-100);
vertex(70,20,-100);
vertex(70,20,100);
vertex(-70,20,100);
fill(255, 0, 0);
vertex(-70,-20,-100);
vertex(70,-20,-100);
vertex(70,-20,100);
vertex(-70,-20,100);
fill(255, 255, 0);
vertex(-70,-20,-100);
vertex(-70,20,-100);
vertex(-70,20,100);
vertex(-70,-20,100);
fill(255, 0, 255);
vertex(70,-20,-100);
vertex(70,20,-100);
vertex(70,20,100);
vertex(70,-20,100);
endShape();
}
void serialEvent(Serial puerto)
{
buffer[leidos] = byte(puerto.read());
leidos++;
if(principio)
{
if(leidos == 3)
{
principio = false;
leidos = 0;
puerto.write(datos);
}
}
else
{
if(leidos == 7)
{
if (buffer[3] == 1)
{
float x, y, z;
x = buffer[4];
y = buffer[5];
z = buffer[6];
valorX = -atan2(x, z);
valorZ = atan2(y, z);
println("X:" + x + "tY:" + y + "tZ:" + z + "tAx:" + valorX + "tAz:" + valorZ);
}
leidos = 0;
puerto.write(datos);
}
}
}
El único problema es que no he podido hacer que gire 360º correctamente (de ahí lo que pongo del error en el título del vídeo), y es que al no tener una brújula electrónica, no se puede calcular el yaw o guiñada.