viernes, 22 de abril de 2011

Generador de encoders ópticos en Processing.

La salida del script es un pdf con los encoders.
Me he entretenido esta tarde un rato y he programado un pequeño generador de encoders ópticos en Processing.

El código es muy sencillo, lo que hace básicamente es generar dos círculos divididos en ocho sectores y otros dos en 16 sectores que alternan franjas blancas y negras. Este es el tipo de encoder más sencillo que se puede aplicar, otras variantes consistirían en añadir otra franja desfasada o utilizar un código de Gray en las bandas, estas dos alternativas nos permitirían, incluso, saber si vamos hacia adelante o hacia atrás analizando únicamente la lectura de los sensores.

Como ahora mismo sólo dispongo de un sensor óptico de reflexión no me pareció demasiado prioritario seguir añadiendo funciones, en cualquier caso, los cambios al sketch propuesto serían simples.

Les pego debajo el código del sketck de Processing.

import processing.pdf.*;

float numSect = 8;


void setup() {
size(600, 800, PDF, "encoder.pdf");
}

void draw() {
float step = TWO_PI / numSect;
float start = 0;
float end = step;
boolean black = false;
for (int i = 0; i < numSect; i++) {     if (black) {
fill(0);
}
else {
fill(255);
}
black = !black;
arc(170, 250, 100, 100, start, end);
arc(320, 250, 100, 100, start, end);
start = end;
end = end + step;
}

numSect *= 2;
step = TWO_PI / numSect;
start = 0;
end = step;
for (int i = 0; i < numSect; i++) {     if (black) {
fill(0);
}
else {
fill(255);
}
black = !black;
arc(170, 400, 100, 100, start, end);
arc(320, 400, 100, 100, start, end);
start = end;
end = end + step;
}
fill(255);
ellipse(170, 250, 10, 10);
ellipse(320, 250, 10, 10);
ellipse(170, 400, 10, 10);
ellipse(320, 400, 10, 10);
exit();
}


sábado, 9 de abril de 2011

¿Pueden 53 Arduinos mejorar la motivación del alumnado de FPE?

Ya están aquí, llegaron la semana pasada. Todos los locos entrañables que trabajamos en en nuestro colegio decidimos lanzarnos a la piscina y tres seminarios decidieron invertir parte de su presupuesto en comprar Arduinos, sensores, motores, servos, ...


¿Qué pasará ahora? De momento, el día 24 de Mayo tendremos un curso de introducción a Arduino para alumnos y en algún momento entre ese día y hoy tendremos otro para los profesores.

La idea es trabajar la motivación del alumnado de ciclos formativos, nosotros los vemos todos los días y sabemos de lo que son capaces, la cuestión es ¿lo saben ellos?. Queremos que se ilusionen y que se sientan parte activa de la sociedad y además no queremos que lo hagan de cualquier modo, queremos que lo hagan valorando un paradigma concreto, el del hardware y software abierto, que motiva y favorece la innovación.

Estamos barajando varias ideas de cara al año que viene: Participar en algún concurso de CanSats y robots de sumo, desarrollar robots autónomos, ...

De momento a seguir soñando.

domingo, 20 de marzo de 2011

Open source Hardware Con 2011

¡Yo quiero ir! Los días 23, 24 y 25 de septiembre en Madrid se llevará a cabo una serie de conferencias sobre Hardware Abierto, la web aquí: OSHWCON

Me resulta especialmente interesante porque espero sinceramente que la cultura DIY se asiente mucho más de lo que está en nuestro entorno próximo y que pronto podamos ver muchos más foros como éste en los que compartir ideas y locuras.

El registro para la participación está abierto así que apúntense ;) También está abierto el Call for Papers, así que si tienes algo que comunicar a la comunidad ya lo sabes.

lunes, 7 de marzo de 2011

Video de Sonar Rat

Estoy pensando en cambiarle el nombre, porque originalmente iba a tener un sensor de ultrasonidos en el morro y ahora tendrá un sensor IR de Sharp, pero no me negarán que tiene punch "Sonar Rat".

Sonar Rat es un robot móvil con dirección diferencial en formato triciclo, con dos ruedas frontales conectadas a un servo de rotación continua cada una y una rueda loca trasera que debería permitir que el cacharrito girara de manera adecuada.

El cerebro de la bestia es el único Arduino sano que queda en casa, un Arduino NG con un atmega 8 cosecha del 2006 ... cómo pasa el tiempo jejejeje.

Como estos días no he podido trabajar más sobre el control de los motores Brushless y tengo un curso de Arduino para mis alumnos a la vista decidí desempolvar esta idea que tenía atascada desde hace tiempo.

El chasis está hecho con lego technics, aunque me gustaría, a largo plazo, diseñar algo en aluminio (A ver si mis compañeros, los profes de automoción que son unos fieras me echan una manita)

En el primer video muestro la primera prueba de control de un sólo servo con un joystick de playstation así como el control de un led mediante la pulsación del botón que lleva incorporado.



El segundo video muestra los dos servos y un control un tanto "chusco" de los dos motores, pero que permitiría hacerlo girar y moverse como se espera.



También se ve la lectura de varios valores a través del monitor de puerto serie de Arduino.

sábado, 26 de febrero de 2011

Retomando otros proyectos...

Dado que no puedo continuar con el control de los motores brushless hasta que dentro de 15 días aparezca por casa un paquetito con un Atmega nuevo y con mi flamante Arduino UNO, he decidido no perder tiempo y continuar con el desarrollo de otro proyecto un poco más antiguo que Rooster. Se trata de SonarRat.

La idea era hacer un pequeño robot móvil con piezas de Lego que fuera capaz de hacer un mapa de obstáculos de una habitación.

En este momento ya tengo el chasis terminado, aunque no ha quedado exactamente como yo quería. El principal problema ha sido conseguir unos motores con una reductora que me permitiera mover la estructura. El diseño inicial incluía unos pequeños motores DC y la implementación actual incluye dos servos de rotación continua, lo que hace que el frontal del rover quede un poco inclinado.

En cualquier caso, y dejando de lado el plano estético, la intención es tener algo que se mueva y que se mueva bien ;) para el curso de Arduino para alumnos así que a ver si le damos una vuelta de tuerca.

El único problema que tiene el diseño actual es que necesito incluir unos encoders de rotación para las ruedas y ahora mismo es, por lo menos, complicado.

sábado, 19 de febrero de 2011

Una atrocidad.

Suelo ser bastante cuidadoso a la hora de comprobar las conexiones de alimentación de los prototipos, pero esta tarde no lo fui. He frito, literalmente un arduino Duemilanove. Estoy como si me hubieran dado una paliza jejeje.

Estaba preparando un curso sobre arduino para mis alumnos y dejé montado un prototipo sencillo sobre la protoboard, con el arduino conectado con un par de cables. Paré un momento y me decidí a probar unos servos de rotación continua que compré el otro día en Sparkfun, la cuestión es que los servos no pueden alimentarse desde el USB, así que conecté a la protoboard una fuente de alimentación de unos 12 V. Tenía un regulador de tensión a 5 V conectado a la protoboard, pero las barras laterales de la misma no se dividen en dos mitades, como en la mayoría de protoboards, encima me equivoqué de polaridad. Lo único que escuché fue un pequeño silbido y la pegatina que identificaba al chip como un Atmega328 se comenzó a derretir por el medio.

Un atmega frito.


Ahora sólo me queda un arduino NG para seguir trabajando y con eso no puedo controlar los motores brushless. En fin, esto también es parte del juego jejejej.

lunes, 24 de enero de 2011

Tenemos logotipo

Pues nada, por fin tenemos un logotipo digno para el tricóptero de marras. Muchas gracias a J. Por su contribución desinteresada. ¡Eres un máquina!

El nuevo logo de rooster.