Проект
Shield за ESP32 + код за управление на микроконтролера
Търся човек, който да разработи за личен проект код за микроконтролер на базата на ESP32 или подобен.
Като схема, проектът включва:
- микроконтролер
- модул с OLED дисплей
- 6 или 8 индикаторни светодиода
- готов захранващ модул input:220VAC output:12VDC
- две релета с контролна верига на 5 или 12VDC и контактна верига 250VAC/10А
- две PWM управляеми захранвания на 12VDC за светодиоди
- две PWM управляеми захранвания на 12VDC за електро мотори (вентилатори)
- два генератора на йонизация (готов модул на 12VDC)
- един комбиниран сензор за температура и влажност
- два сензора за температура
- два сензора за влажност
- два proximity сензора (готови модули)
- четири бутона (сензорни или механични)
- опционално Wi-Fi свързаност
Следва да има една обща печатна платка подобно на Shield, към която на сокети се закрепят контролерът и дисплеят и на която да има разположени:
- индикаторните светодиоди
- транзистори за усилване на PWM за светодиоди и мотори
- транзистори и обратни диоди за управление на релетата + самите релета
- транзистори за управление на йонизаторите
- ако бутоните са сензорни, микросхема за управление на бутоните / или ако бутоните са механични, самите бутони
- ако пиновете на контролера не достигат, евентуално някакви shift registers или външен PWM
- входно изходни куплунги за свързване на захранване, диоди, мотори, контактни вериги на релетата, сензорите
Приблизително описание на функционалността:
Контролерът управлява два комплекта автономни един от друг, всеки от които включва:
- нагревателен елемент на 220VAC (чрез релетата)
- вентилатор на 12VDC с регулиране на оборотите чрез PWM
- светодиодна лента на 12VDC с регулиране на яркостта чрез PWM
- модул за йонизация на 12VDC (има само включено и изключено състояние)
- proximity сензор (външен модул)
- сензор за температура и сензор за влажност, не могат да бъдат комбинирани, тъй като са разположени физически на различни места
Допълнително има един комбиниран сензор за температура и влажност на входящия въздух
Чрез бутоните и дисплея се реализира интерфейс с менюта, от които се правят настройки на контролера - интервали от време, режим на работа (ръчен, автоматичен), целева температура, целева влажност, обороти (PWM честота) на вентилаторите, яркост (PWM честота) на светодиодите, в каква комбинация се включват компонентите от всяка група (нагревател, йонизатор, вентилатор, светодиоди), задаване на текуща дата и час.
Има три режима на включване (затваряне на релетата и пускане на светодиодите, вентилаторите и йонизаторите):
- ръчно, чрез натискане на бутон
- по зададен график в определена дата и час
- автоматично, при задействане на някой от proximity сензорите (наличие на обект)
Четири режима на изключване (отваряне на релетата и изключване на светодиодите, вентилаторите и йонизаторите):
- ръчно, чрез натискане на бутон
- след изтичане на предварително зададено време
- автоматично, при задействане на някой от proximity сензорите (липса на обект)
- автоматично при достигане на зададени параметри за температура и влажност
В режим на работа на екрана следва да се показват текущи настройки, стойности на сензорите и визаулен брояч за оставащо време на работа.
В режим на Standby на екрана има часовник, дата, стойности от сензорите.
Текущи настройки (режим на работа, включени компоненти и др.) може да се сигнализират и чрез 6 или 8 допълнителни светодиода извън екрана.
Опционално, може да има Wi-Fi свързаност на микроконтролера, която да позволява управление на същите функции и настройки отдалечено през интернет и синхронизиране на часовника и датата. Ако е възможно да прави update на firmware през интернет, ще е още по-яко.
Очакван резултат от работата е:
- код за ESP32 или подобен микроконтролер
- схема за свързване на всички електронни компоненти (вкл. релета, диоди, резистори, транзистори, shif registers, touch controllers и др.)
- в случай, че се реализира Wi-Fi свързаността, документация за протокола на комуникация със сървър, предполагаемо HTTP/S
Не се очаква код за сървърната част и проектиране на печатната платка на shield-а.

