PROYECTO FINAL DRINKDUINO

viernes, 28 de abril de 2017

Cuarto día de proyecto (28/4/2017)

Hoy hemos continuado con la construcción del circuito aunque hemos tenido algún contratiempo y que las resistencias que teníamos eran de un valor muy bajo, por lo que no hemos podido introducir los botones que activan la salida del líquido.
Hemos tenido que coger otra placa para tener todo mejor ordenado y no confundirnos tan fácilmente. El próximo día tenemos que conseguir unas resistencias de mayor valor que las que tenemos, además de terminar de montar los diferentes componentes del circuito para después unirlo todo.

jueves, 27 de abril de 2017

Tercer dia de proyecto (27/4/2017)

Hoy hemos empezado a montar el circuito en la protoboard para comprobar que la programación era la correcta y ver si teníamos algún fallo en nuestro código.
Un Led conectándolo a la entrada 13 provocaba un cortocircuito y hemos tenido que cambiarlo a la 6.

En la programación hemos cambiado "#define LedEnRangoPin13" por "#define LedEnRangoPin6" en el led que se enciende cuando hay un objeto a una distancia determinada del sensor de proximidad.

viernes, 21 de abril de 2017

Segundo día de proyecto (21/4/2017)

Hoy nos hemos acercado al taller de tecnología para pactar con nuestros compañeros de 4º cómo será la elaboración final de nuestro proyecto, concretando detalles como el número de válvulas, el número de botones y el funcionamiento básico de la coctelera. Tras llegar a un acuerdo, hemos seguido con nuestra parte del proyecto ya empezada. Para ello, hemos ido realizando cambios en nuestra programación, añadiendo nuevas aplicaciones, como los sensores de proximidad (ultrasonidos) y corrigiendo algunos fallos que impedían el funcionamiento de nuestro programa. Además, posteriormente hemos conectado ya nuestra protoboard y mediante el uso de un led, el sensor de proximidad y varios cables, hemos comprobado que funcionaba correctamente. Aquí podemos observar un vídeo de la práctica:



jueves, 20 de abril de 2017

Primer dia de proyecto (20/4/2017)

Hoy hemos empezado a elaborar el que será el último proyecto del curso. Los cuatro integrantes del grupo, Marcos, David, Silvia y Carmen, nos hemos juntado para desarrollar en que se va a basar este proyecto y su funcionamiento. Proponiendo ideas, entre todo hemos llegado a la conclusión de cómo vamos a realizarlo.
Nuestro proyecto se basa en una coctelera. Este proyecto con dos partes para su elaboración. En primer lugar, un grupo de 4º de la ESO va a ser el encargado de la construcción. Por otro lado, nuestra labor en este proyecto se basa en programar el funcionamiento de la coctelera.
Nuestra idea inicial es la de crear un programa que te permita seleccionar bebidas de forma automática mediante la pulsación de diferentes botones. En este primer caso serán 4 zumos, y las opciones podrán ser o la obtención de zumos por separado o la mezcla de 2 de ellos. Para programar el funcionamiento, vamos a utilizar el lenguaje de arduino. Dichas conexiones irán conectadas a una protoboard (HC-SR04, sensor de proximidad, módulo de relés).
La intención para mañana es continuar con la programación e ir mejorando el proyecto día tras día.

miércoles, 12 de abril de 2017

EJERCICIO PROCESSING 2

Con el bloque de "Objects" y un poco de otros bloques de nivel "beginner", he creado un programa con dos objetos que si clickamos sobre el botón izquierdo del ratón captura la pantalla y cambia el color de fondo. Cada uno de los objetos se mueve de forma diferente.
Código fuente y enlace para descargar:



Car myCar1;
Car myCar2;
float a, b, c;

void setup() {
size (1000,1000);
myCar1 = new Car(color(255,0,0),250,0,2);
myCar2 = new Car(color(0,255,0),200,1,1);
}

void draw () {
 background (a,b,c);
 if (mousePressed){
  a = random (0,255);
  b = random (0,255);
  c = random (0,255);
 }
 myCar1.drive1();
 myCar1.display1();
 myCar2.display2();
 myCar2.drive2();  

 if (mousePressed){
   saveFrame ( "line#####.png");
 }
}


class Car {
 color c;
 float xpos;
 float ypos;
 float xspeed;

  Car(color tempC, float tempXpos, float tempYpos, float tempXspeed){ 
    xpos = tempXpos;
    c = tempC;
    ypos = tempYpos;
    xspeed = tempXspeed;
  }


void drive1(){
  stroke (0);
  fill (c);
  rectMode (CENTER);
  
  rect(mouseX, mouseY,150,100); 
  
}

void display1(){
  xpos = mouseX;
  ypos = mouseY;
}
void drive2(){
 xpos = xpos + 5 * xspeed;
  ypos = 500;
  
  if (xpos > width){
    xpos = 0;
 }
}
void display2(){
stroke (0);
fill(c);
ellipseMode (CENTER);
ellipse(xpos,ypos,100,100);
}
}