Generation

generate functionFri, 23 May 2025

Créame un código para el siguiente proyecto, que consiste en lo siguiente: Un programador digital de un sistema amanecer-anochecer de tiras led monocromas de 12V. Te detallo sus funciones y componentes: Estará formado por un ESP32. Un Reloj RTC DS3231. Un Sensor DHT21. Un botón físico para inspección nocturna 5 botones para moverse por el menú (arriba, abajo, izquierda, derecha y OK) Un modulo LM2596LED 1 pantalla 2004 con I2C 4 tiras led monocromas de 5 metros de 12v controladas por PWM. 1 tira led azul de 2 metros de 12v controlada por PWM. 1 Fuente alimentación 12V y 30A Funciones: Todo irá controlado por los 5 botones (arriba, abajo, izquierda, derecha y OK) en el menú y sus submenús. El sistema consistirá en los siguiente: 4 zonas independientes de amanecer-luz día-anochecer configurables de la siguiente manera: Se podrá seleccionar duración del amanecer y del anochecer, hora de amanecer y hora de anochecer. Además, quiero también un apartado donde se le indique por separado para cada función una opción para aumentar o disminuir los minutos de la hora de inicio del amanecer o anochecer introducidos por el usuario y una hora máximo de aumento o disminución. Es decir, si se le pone que aumente el amanecer 3 minutos todos los días hasta las 06:00 de la mañana que lo haga automático al igual que con el anochecer. También una opción donde se active y se desactive la opción de aumentar y disminuir. Un sistema de luz lunar con interruptor para activarlo o desactivarlo, un slider para seleccionar el % de intensidad que se quiera elegir y este sistema se tiene que encender progresivamente iniciando 10 minutos antes de que se termine el anochecer (según la hora que este configurada) y se apagara progresivamente 10 minutos después de terminar el amanecer. El botón físico tiene el siguiente cometido: Cuando se pulse el sistema hará un amanecer rápido de 2 minutos, mantendrá las luces encendidas hasta que se vuelva a pulsar el botón y entonces empezará un anochecer de 30 minutos. El menú consistirá de las siguientes opciones: 1. Fecha y Hora 2. Amanecer 3. Anochecer 4. Luz Luna 5. Salidas Auxiliares En pantalla principal siempre tiene aparecer los siguiente: -Hora y Fecha -Humedad con el símbolo % -Temperatura con el símbolo de Celsius -Acceso al Menú Y cuando haya un proceso en marcha que salga una barra de progreso con el % y el nombre del proceso activo. Todo tiene que guardarse en la EEPROM para que no se pierda nada si se desenchufa. Todas las opciones del menú tienen que tener su submenú con todas las opciones que te he indicado incluidas las lógicas y que este funcional al 100%.

Please keep input under 1000 characters

Want to kickstart your project?Use the new AI Studio to create your code