PROYECTO FINAL DRINKDUINO

viernes, 5 de mayo de 2017

Sexto día de proyecto (5/5/2017)

El último día acabamos la clase con el problema del LED que funcionaba cuando se cumplía una de las dos condiciones, que está explicado en la entrada de ayer.
Para solucionarlo, hemos modificado el algoritmo, de modo que hemos introducido un "else" al "if (estado)" de cada válvula. Así hemos modificado el algoritmo:

En un primer momento tenía esta forma la función de salida:















Finalmente, hemos añadido el "else" y la función tiene esta forma:






El algoritmo de la función puedes verlo haciendo click AQUÍ.

jueves, 4 de mayo de 2017

Quinto día de proyecto (4/5/2017)

En la clase de hoy hemos conseguido las resistencias que queríamos el viernes pasado. Hoy también hemos implementado la segunda protoboard que queríamos para organizarlo todo mejor. Hemos añadido un comando (DigitalRead) que nos permita averiguar cuándo un botón está pulsado o no.
El sensor de proximidad funciona correctamente porque el LED luce cuando hay un objeto a la distancia adecuada, pero el LED que tiene que funcionar cuando está activado el sensor de proximidad y el botón, se enciende también cuando se cumple solo una de las dos condiciones. Tenemos que solucionar este problema.

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);
}
}