viernes, 12 de mayo de 2017

NOVENO DÍA DE TRABAJO



Finalmente, hoy es nuestro último día de clase y por lo tanto de proyecto. Hoy hemos actualizado lo que nos quedaba de los blogs, y para entregar el trabajo de forma más clara hemos decidido realizar el esquema de la protoboard en fritzing, con el fin de facilitar el consiguiente montaje.



Este es nuestro esquema eléctrico:


jueves, 11 de mayo de 2017

OCTAVO DÍA DE PROYECTO

Hoy hemos terminado acabado el código de programación introduciendo 4 estados más que serán los que se encarguen de sacar las mezclas.
Este vídeo muestra el funcionamiento final del programa:





Esta es la programación que hemos añadido hoy de los 4 estados nuevos:









lunes, 8 de mayo de 2017

SÉPTIMO DÍA DE PROYECTO

Hemos terminado ya la programación principal del proyecto que es que la válvula que abre el depósito de los líquidos solo se abra cuando esté el botón pulsado y cuando el sensor de proximidad detecte que hay un vaso a la distancia deseada, aunque uno de los botones es de dos patillas porque no había más de cuatro.
Aquí dejo un vídeo de como funciona lo que acabo de explicar:





Hemos empezado ya con la programación de las mezclas y la construcción de sus respectivos circuitos, a los que también vamos a implementar botones de dos patillas.

SEXTO DÍA DE PROYECTO

El día anterior acabamos la clase con el problema del sensor de proximidad.
Lo que queremos conseguir es que una vez pulsado el botón, el LED que indica si sale el líquido solo se active si además, el sensor de proximidad detecta que el objeto esta a la distancia requerida. Además, el LED permanecerá encendido el tiempo que nosotros le asignemos. 
El anterior día no conseguimos que funcionase, ya que el LED se encendía sólo si pulsábamos el pulsador, independientemente de que el sensor de proximidad detectase o no objeto próximo a él.
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 salida;


finalmente hemos añadido el else y la función tiene esta forma;


El algoritmo de la función puedes verlo haciendo click aqui; ALGORITMO

QUINTO DÍA DE PROYECTO

Hoy hemos avanzado mucho respecto otros días. El proyecto ya va cogiendo forma, hemos añadido una protoboard más para que el montaje del circuito quede mucho más claro y ordenado. Además, hemos realizado algunos cambios en el algoritmo del proyecto; entre ellos, hemos añadido un nuevo comando ("digitalRead") con el fin de que nos permita leer la señal de un botón.




Hasta ahora, ya tenemos que a una distancia adecuada del sensor de proximidad funcione y que pulsando el botón consiga encenderse el LED que indica si el líquido sale. Sin embargo, nosotros queremos que solo pueda salir cuando también este a la distancia requerida y ahora el LED luce aunque no este cerca. Para el próximo día queremos solucionar este problema.

CUARTO DÍA DE PROYECTO

Hemos seguido montando el circuito, aunque nos ha dado algunos problemas con las resistencias. Además, hemos intentado introducir los botones que activaran la salida del líquido, lo cual ha acabado en un intento fallido ya que no cuenta con suficiente resistencia. Ante esto, hemos decidido que debemos introducir una placa más, para tener el circuito más claro y ordenado, además de una resistencia mayor que las que tenemos.
Nuestra intención para el próximo día es tener prácticamente terminado el montaje del circuito, o por lo menos que todos los componentes de él nos funcionen correctamente por separado para que luego podamos juntarlos todos y que funcionen bien. 

TERCER DÍA DE PROYECTO

Hoy, hemos comenzado a montar el circuito en la protoboard con la intención de ver si hay algo que podemos ir mejorando y ver si realmente el algoritmo funciona.
Ante esta idea, nos hemos dado cuenta que conectando el LED a la entrada 13 nos daba cortocircuito, por lo tanto hemos tenido que cambiarlo a la entrada 6.

En un principio, en el algoritmo definimos el led como:

#define LEDEnRangoPin 13 // pin del LED que se encenderá si hay un objeto a distancia adecuada.

Lo cambiamos, por:

#define LEDEnRangoPin 6 // pin del LED que se encenderá si hay un objeto a distancia adecuada.