(19-02-2015, 06:01 PM)Agamenon escribió: Antonio, estoy terminando de soldar los leds y estoy aprovechando en los ratos libres para leerme tu documentación de CAO1. Me han quedado claras muchas cosas del funcionamiento de tu programa, aunque aún no me he metido a mirar el código. Solo lo he cargado al arduino y he afinado todo para que funcione la pantalla, botonera, sensores y reloj. La librería que usa mi pantalla es otra, y he tenido que cambiar la forma de inicializarla y algunos comandos. Pero como eso está abstraído en un módulo ha sido muy sencillo y todo lo demás ha ido sin problemas.
Respecto al software te dejo unas sugerencias de mejora para la próxima versión. Yo seguramente las programe en la actual porque para mi son totalmente necesarias.
Precisamente la gran ventaja que ofrece CAO es para las personas que tienen esa capacidad para tocar el código. Está pesnsada para que resulte sencillo modificar una parte sin afectar al resto.
Yo te animo a compartir esta información para que la gente que desee usar el mismo hardware que tú estás usando, no se vea obligada a reinventar la rueda. Por otra parte si yo pudiera introducir cambios para contemplar ese otro modelo de pantalla en mi librería tu no te verías en la necesidad de tener que readaptar las nuevas versiones desarrolladas por mí.
(19-02-2015, 06:01 PM)Agamenon escribió: 1. Sugerencia básica: Programación de activación/desactivación de salidas digitales por horario. Esto lo considero fundamental para usar relés. Por ejemplo el CO2 lo quiero activar 1 hora antes del fotoperiodo y cortarlo 1 hora antes del fin, actualmente no es posible y tendré que seguir con el programador analógico. Otra utilidad podría ser cortar corriente de la fuente de alimentación de los leds cuando estos no vayan a usarse... y más aparatos podrían beneficiarse de esta opción que considero básica.
En efecto era algo muy necesario y para la próxima versión ya incluyo algo de eso.
No sé si es muy importante lo de desconectar las fuentes de alimentación de potencia cuando no se usen. Es cierto que algo consumen, pero yo uso Mean Well y su consumo en standby es bajísimo. Del orden de medio vatio creo. Consulta ese dato para tu fuente si te preocupa.
(19-02-2015, 06:01 PM)Agamenon escribió: 2. Sugerencia más personal: definición de la duración de luz de luna. Actualmente se puede definir que en el periodo de noche estén encendidas las luces azules como luz de luna. Pues bien, a mi eso me interesa... pero no toda la noche. Quiero que se apague el fotoperíodo a su hora, pero seguir teniendo la luz azul tenue que se define para luz azul nocturna para disfrutar de los peces hasta que me acueste. Pero cuando me acueste que se apague también y no tenerla toda la noche como es la funcionalidad actual. Para ello se podría definir un nuevo parámetro de fin de luz de luna que defina el momento en que se apagará esta.
Las modificaciones que he pensado hacer se asociarían a un nuevo parametro cuyo valor permite varios modos de funcionamiento del dimmer:
MOD_DIMM_AUTO=0, // Automatico gobernado por fotoperiodo (modo normal como ahora)
MOD_DIMM_OFF=1, // Luces siempre apagadas.
MOD_DIMM_NOCT=2, // Luces siempre en modo nocturno.
MOD_DIMM_DARK=3, // Luces siempre en modo poca luz
MOD_DIMM_NOON=4 // Luces siempre en modo mediodia
Las intensidades máximas de la luz diurna, crepuscular y nocturna ya se pueden modificar el la versión actual por parámetro.
Lo que se podría hacer seria añadir algunos modos más, pero todo lo relativo a trabajar con lapsos de tiempo que tengan relación con el fotoperiodo son más fáciles de imaginar que de implementar.
(19-02-2015, 06:01 PM)Agamenon escribió: 3. Para nota: encender la luz fuera del horario, y poder ajustar la intensidad de la misma. Todo el fotoperíodo podría estar controlado con una variable maestra que si está a true encienda la luz independientemente de lo que diga la función y configuración del fotoperíodo. Si esta variable está a true, use para el dimeo la el valor definido en otra variable, que puede estar definida en configuración a un valor por defecto y luego mediante la botonera aumentarse o reducirse pulsando (entre 0 y 100%). Esta funcionalidad la implementaría como una opción más en el menú del fotoperíodo: Estado de iluminación. Tendría dos modos: Auto y Manual. En auto se cumplirá la funcionalidad actual. En manual se activaría la variable global esta (o atributo privado de la clase o como se quiera implementar) y aparecería debajo del modo "Intensidad"... inicialmente en un valor preconfigurado del X% y ajustable pulsando los botones de derecha e izquierda a más y menos entre un rango del 0 y 100%.
Creo que con lo que he comentado para los modos del dimmer ya podría valer.
(19-02-2015, 06:01 PM)Agamenon escribió: Para mi implementando estas sugerencias se terminaría de bordar la aplicación y se cumplirían las necesidades de casi todo el mundo. Los relés podrían ser controlados mediante la medición de un parámetro por sensor (como está ahora) y también por horario. Eso cubre todo el abanico. Enciendo el CO2 porque el ph me baje de X o lo enciendo porque es la hora H. Enciendo el motor de la bomba que rellena el agua porque el sensor de la boya ha bajado de X o activo el comedero de peces porque es la hora programada. Se podría hacer todo.
Bueno me he enrollado demasiado pero quería definir claramente mis sugerencias. No se si te parecerán bien para incluirlas en la siguiente versión de CAO, igualmente creo que yo las implementaré más pronto que tarde porque algunas para mi son imprescindibles.
Un saludo!
Tal y como lo tengo pensado para la próxima version, se podría por ejemplo cortar la acción del filtro y de los aireadores unos segundos antes del suministro de comida y no volver a conectar el filtro hasta cinco minutos después dando tiempo a que los peces consuman todo y evitando que la comida termine en lugares indeseables de dificil acceso para los peces por efecto del movimiento del agua.
Yo agradezco mucho este tipo de interactividad porque me ayuda a mejorar la aplicación.
Dudo mucho que exista un final para las mejoras que puedan hacerse. Yo tenía la idea de que las necesidades podían variar mucho de unos usuarios a otros pero me quedé corto imaginando el tipo de cosas diferentes que la gente desea hacer.
Gracias por compartir tus ideas.
Te comento lo que estoy mirando últimamente:
Últimamente he estado mirando un cacharrito muy baratito que permite conexión WiFi. se trata del ESP8266. Parece que lo han pensado para que sea muy fácil de usar ocultando el el procesador interno todos los detalles de la gestión del TCP. En la práctica se puede implementar un pseudo-servidor-web con muchas limitaciones sobre un servicio web clásico. Yo no veo la forma de poder hacer conexiones autenticadas para proteger el acceso a ese pseudo-servidor-web, pero es tan barato que creoi que podría interesar a mucha gente.