Проект "Собачья будка"

Показатели
- Температура контроллера
- Температура воздуха в будке
- Влажность воздуха в будке
- Температура обогревателя
- Уровень воды в миске
- Освещенность
Устройства
- Охлаждение контроллера
- Обогреватель
- Светильник
- Подача воды
- Подача корма
Материалы проекта
В основе проекта лежит контроллер типа Arduino, но более компактный и функциональный. Рекомендуемый вариант платы - Wemos D1 mini, где используется чип ESP8266. В проекте определены:
- SelfTemp - датчик температуры DS18B20 для контроля температуры устройства. Используется 1-Wire подключение.
- AirHum, AirTemp - модуль BME280 для замеров температуры и влажности воздуха внутри будки. Подключается по I2С-шине.
- HeatTemp - датчик температуры DS18B20 для контроля температуры обогревателя или подстилки в будке. Использует 1-Wire подключение.
- SunLight - модуль BH1750 для измерения мощности светового потока. Подключается по I2С-шине.
- WaterLevel (WaterLevelRaw, WaterLevelPct) - любой аналоговый датчик для измерения уровня воды в миске. Например, датчик уровня или измеритель влажности почвы.
- SelfFan - управление вентилятором (U=5V, Imax=200mA) для охлаждения контроллера.
- AirHeat - управление обогревателем.
- FoodBowl - управление устройством подачи корма.
- WaterBowl - управления насосом подачи воды.
- LampPower - управление освещением.
Схема предусматривает подачу питания PwrSens для датчика WaterLevel, только в момент измерений. Это сделано для того, чтобы снизить коррозионный эффект деградации датчика.
Для определения уровня воды в миске используется датчик WaterLevel с аналоговым выходом. Датчик калибруется после загрузки микропрограммы в контроллер на странице "Option". Для этого выставляются минимальные и максимальные значения, когда он полностью мокрый и сухой. На основе этих значений будет сформировано результирующее показание от 0 до 100%. Проверить показания можно на странице "Report", где также отображается текущее аналоговое значение WaterLevelRaw.
# | Обозначение | Кол-во | Тип | Модель | Описание |
---|---|---|---|---|---|
![]() |
U1 | 1 шт | Модуль | WeMos D1 mini | WiFi board with 4MB flash based on ESP-8266EX |
![]() | BME280 | 1 шт | Модуль | BME280 I2C | Temperature Humidity Pressure Sensor |
![]() | BH1750 | 1 шт | Модуль | BH1750 I2C | Light Intensity Sensor BH1750 |
![]() | SelfTemp, HeatTemp | 2 шт | Датчик | DS18B20 | 1-wire digital temperature sensor, TO-92 |
![]() | WaterLevel (Вариант 1) | 1 шт | Датчик | T1592 | Water Level Sensor Module T1592 for Arduino |
![]() | WaterLevel (Вариант 2) | 1 шт | Датчик | V1.2 | Capacitive Soil Moisture Sensor |
![]() | D1, D2, D3, D4, D5 | 5 шт | Диод | 1N4007 | 1000V 1A General Purpose Rectifier Diode, DO-41 |
![]() |
Q1, Q2, Q3, Q4, Q5, Q6 | 6 шт | Транзистор | 2N3904 | 0.2A Ic, 40V Vce, Small Signal NPN Transistor, TO-92 |
![]() |
R2 | 1 шт | Резистор | 4K7 | Resistor 0.25W, THT, DIN 0207 |
![]() | R1, R3, R4, R5, R6, R7 | 6 шт | Резистор | 1K | Resistor 0.25W, THT, DIN 0207 |
![]() | K1, K2, K3, K4 | 4 шт | Реле | SRD-05VDC-SL-C | 10A Relay SPDT SANYOU SRD Series Form C |
![]() | J1 | 1 шт | Разъем | MKDS 1,5/2-5.08 KF301-2P | Way Screw Terminal Block 17.5A 5.08mm |
![]() | J12, J13, J14, J15 | 4 шт | Разъем | MKDS 1,5/3-5.08 KF301-3P | Way Screw Terminal Block 17.5A 5.08mm |
![]() | J16 | 1 шт | Коннектор | B2B-XH-A(LF)(SN) | JST XH Series P2.5 mm |
![]() | J5, J3, J4 | 3 шт | Коннектор | B3B-XH-A(LF)(SN) | JST XH Series P2.5 mm |
![]() | J2, J6 | 2 шт | Коннектор | B4B-XH-A(LF)(SN) | JST XH Series P2.5 mm |
![]() | опционально | ? | Реле | SSR-40 DA | Твердотельное и бесшумное реле |
![]() | Pwr5V | ? | Блок питания | HLK-PM01 | AC-DC 220V to 5V |
![]() | SelfFan | ? | Вентилятор | MX-3010 | Радиальный вентилятор 30x30x10мм, 5В 150мА |
Датчик контроля температуры модуля SelfTemp, может быть размещен прямо на плате без подключения через разъем.
Печатная плата допускает подключение высоковольтной нагрузки, но все же обратите внимание:
- чтобы уменьшить сопротивление, коммутируемые дорожки идущие к реле должны быть дополнительно хорошо залужены
- со временем, коммутация цепи с большим током приведёт к подгоранию контактов, поэтому лучше использовать SSR-реле, как бесшумное и износостойкое.
Корпус для платы контроллера, блока питания и вентилятора.
Защитный корпус для датчика температуры и влажности BME280.