martes, 3 de diciembre de 2013

Second task ROBOTS

It's time to begin with the next aim of the subject ROBOTS. In this case we're going to do something more difficult. In the video you'll see what we need to do.
And this are the rules more detailed:
  • Before beginning the teacher will tell us witch ball is good (blue or red)
  • +6 point per each good ball in the box (-6 if wrong ball)
  • +2 point per each good ball in your field(-2 if wrong ball)
  • We can use the black line to guide the robot
  • We can throw balls to our oponnent
  • Maximum measures 40*40cm.
Assessment on 12 of december, less than two weeks!! a lot of work to do!!!

lunes, 18 de noviembre de 2013

Lego Mindstorms Robot


One of the subjects that I'm studying in CTU university is ROBOTS. The goal of this subject is make the control of a robot Lego Mindstorm.

For the first project, we have done a line follower robot. We formed small teams. In ours we decided to do the control with a PID controller. Other teams decided to do it without PID (below you can see the code). After the contest, we test out that PID control is more effective.

Fig.1
 To control the time that takes for each robot to traverse the circuit infrared sensors (Fig.1)have been connected to the computer using the micro LPC1754, NXP (Fig. 2). In turn, the PC is connected to a projector. It rocks, you can see in the video.


Fig.2


Finally, the competition video:


jueves, 7 de noviembre de 2013

Biosfera

El regalo más extravagante.


Últimamente me he interesado por los sistemas biológicos autosuficientes, si a esto le sumamos que es el cumpleaños de un amigo que estudia biología tenemos un regalo muy muy raro: una biosfera!


Una biosfera es un sistema ecológico cerrado. Existe intercambio de energía pero no de materia.

Se sabe que es muy díficil mantener la vida de seres vivos más complejos que pequeñas gambas. Sin embargo, es fascinante todas las posibilidades que admite una de estas biosferas.

La URSS dedicó muchos esfuerzos para construir una biosfera que pudiese albergar humanos en su proyecto BIOS-3. Más tarde le siguió EEUU con Biosfera 2.

En mi caso he utilizado una pecera tapando la parte superior con un cristal y sellando con silicona.

En este superdibujo puedes ver los estratos de la pecera.


  • La arena sirve para separar la turba del agua.
  • La grava y las rocas sirven para separar el agua de la arena.
  • El nivel del agua debe ser más bajo del que muestra la figura.

El resultado final de la pecera tras unas horas









domingo, 1 de septiembre de 2013

Robot para alimentar peces

En dos semanas marcho de erasmus para pasar un año en Praga. Volveré cada dos 3 meses y esto supone un problema para la integridad de mi pecera ya que necesita un oxigenador, rellenar el agua y dar de comer. Por suerte, existe la electrónica, para poder dar solución a estos problemas.

Para el oxigenador he utilizado una pequeña bomba de aire externa y sobre el mismo tubo que lleva el aire a la pecera he hecho agujeros y la he distribuido en forma de S en el fondo. Por tanto no se ve y el aire se distribuye mejor que con un difusor de esponja.

Para rellenar el agua he colocado un bidón de 25l a mayor altura que la pecera, un tubo y una boya de urinario en el extremo de la goma que da a la pecera. De esta forma consigo mantener la cota ya que cada semana baja un cm. Si la solución no te convence, aquí encontrarás más

Y por último, lo más interesante y por lo que me he decidido a hacer esta entrada: el robot para alimentar a los peces!

Como podéis ver el montaje es extremadamente simple.He colocado un zócalo de 9 pines por si quisiera añadir un tercer servo más adelante.

Para dejar la tensión de entrada a 3.6V he utilizado un cargador a 4.5V y un diodo en serie.


Si tenéis alguna duda preguntad, preguntad!! ACTUALIZACIÓN 20/11/13 Debido a un fallo en el sellado la pecera se ha vaciado por completo por que se da por terminado el testing del robot. Hasta entonces a funcionado sin problema. Comparando con otros modelos comerciales, sin duda, son más eficientes y baratos. Pero ninguno de ellos es tan geek!!

lunes, 29 de abril de 2013

Robot fijo de 3 ejes con MSP

Para construirlo necesitamos un servo por eje . En la foto aparece uno de más debido a que pensaba en añadir una garra móvil al extremo que al final no he montado.


El servo de 40 gramos será la base del montaje y los otros dos, de 9 gramos estarán alojados en el brazo.
Para el brazo he usado una tira de contrachapado de 3mm y de unos 8mm de ancho (restos de madera). Los brazos de servo van atornillados.

Foto del conjunto:






Como se puede ver, el servo base está sujeto por un gato. 


CÓDIGO:

El código está redactado en ENERGIA y es sencillo.
Se importa la librería Servo, se definen los pines de señal y se va dando órdenes a cada servo. 
El código básico es:

#include <Servo.h>

Servo G;              //servo Giro Base
Servo BI;            //servo Brazo Inferior
Servo BS;           /servo Brazo Superior

void setup()
{
  G.attach(8);      //establece el pin 8 como salida de señal para el servo G
  BI.attach(6);    // ""              ""
  BS.attach(7);   // ""               ""
}

void loop()
{
    //_____________Posición al "azar"
    G.write(170); 
    delay(100);   //Los delay son para suavizar y armonizar los movimientos
    G.write(90);
    BI.write(150);
    BS.write(120);
    delay(500);
    //_____________Posición recogido
    delay(1000);
    G.write(26);
    delay(500);
    BI.write(8);
    delay(500);
    BS.write(0);
    delay(500);


}
La forma de ordenar al servo una posición es NombreServo.write(Posición), siendo Posición un número del 0 a 180, el abanico de giro del servo. 

Vídeo con el programa que cambia de sitio una caja:





(Acabo de darme cuenta de que he perdido todo el código que sale en el vídeo :S )

Evidentemente el programa es algo más complicado que el de arriba, sin embargo no tiene ninguna instrucción esencial nueva. Son todo combinaciones de write's y delay's. Con unas horas se le va cogiendo el truco. 

Y eso es todo por hoy :)