Проект "Метеостанция"

Показатели
- Температура контроллера
- Температура воздуха
- Влажность воздуха
- Давление атмосферы
- Освещенность
- УФ-индекс
- Температура земли
- Кол-во осадков
- Скорость ветра
- Направление ветра
Устройства
- Охлаждение контроллера
Материалы проекта
В основе проекта лежит контроллер типа Arduino, но более компактный и функциональный. Рекомендуемый вариант платы - Wemos D1 mini, где используется чип ESP8266. В проекте определены:
- SelfTemp - датчик температуры DS18B20 для контроля температуры устройства. Используется 1-Wire подключение.
- AirHum, AirTemp, AirPress - модуль BME280 для замеров температуры, влажности и атмосферного давления. Подключается по I2С-шине.
- SunLight - модуль BH1750 для измерения мощности светового потока. Подключается по I2С-шине.
- SunUva - модуль VEML6070 для измерения мощности UVA-спектра (ультрафиолетового излучения). Подключается по I2С-шине.
- GndTemp - датчик температуры DS18B20 для измерения температуры почвы. Используется 1-Wire подключение.
- AirRain (AirRainCnt, AirRainFlow) - дискретный датчик для определения количества осадков. Использует подсчет прерываний.
- AirWind (AirWindCnt, AirWindFlow, AirWindSpeed)- дискретный датчик для определения скорости ветра. Использует подсчет прерываний.
- AirVane (AirVaneRaw, AirVaneDir) - аналоговый датчик измерения направления ветра. Максимальное напряжение сигнала до 3.2V
- SelfFan - управление вентилятором (U=5V, Imax=200mA) для охлаждения устройства.
Данный вариант схемы предусматривает установку на плате компактного блока питания Hi-Link 5V 3Вт.
Для определения направления ветра датчик AirVaneDir с аналоговым выходом. Каждое направление кодируется соответствующим напряжением. Например, как на этой схеме:
Этот датчик калибруется после загрузки микропрограммы в контроллер. Сначала надо открыть страницу "Report", затем медленно сделать полный оборот флюгера, обновляя при этом каждый раз страницу. В результате Вы получите набор значений AirVaneRaw, которые будут соответствовать каждому направлению (допустимая точность +/-5). Затем переходим на страницу "Option" и в поле "Param" сохраняем через пробел полученные значения, которые должны идти в следующей последовательности: N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW, NW, NNW. Проверить показания можно на странице "Report". Переменная AirVaneCode будет содержать значения соответствия, например "N=807 NNE=424 NE=480 ENE=88 E=102 ESE=69 SE=197 SSE=133 S=301 SSW=260 SW=649 WSW=619 W=964 WNW=848 NW=906 NNW=726", а переменная AirVaneList будет содержать текущие измерения - какие направления были зафиксированы и сколько времени (секунд). Показатель AirVaneDir - формируется как результирующий максимальный.
# | Обозначение | Кол-во | Тип | Модель | Описание |
---|---|---|---|---|---|
![]() |
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 |
![]() | VEML6070 | 1 шт | Модуль | VEML6070 I2C | UV Light Sensor |
![]() | SelfTemp, GndTemp | 2 шт | Датчик | DS18B20 | 1-wire digital temperature sensor, TO-92 |
![]() | D1 | 1 шт | Диод | 1N4007 | 1000V 1A General Purpose Rectifier Diode, DO-41 |
![]() |
Q1 | 5 шт | Транзистор | 2N3904 | 0.2A Ic, 40V Vce, Small Signal NPN Transistor, TO-92 |
![]() |
R1 | 1 шт | Резистор | 4K7 | Resistor 0.25W, THT, DIN 0207 |
![]() | R2, R3, R8 | 3 шт | Резистор | 10K | Resistor 0.25W, THT, DIN 0207 |
![]() | R4, R5, R9 | 3 шт | Резистор | 20K | Resistor 0.25W, THT, DIN 0207 |
![]() | R10 | 5 шт | Резистор | 1K | Resistor 0.25W, THT, DIN 0207 |
![]() | J1, J2 | 2 шт | Разъем | MKDS 1,5/2-5.08 KF301-2P | Way Screw Terminal Block 17.5A 5.08mm |
![]() | J13 | 1 шт | Коннектор | B2B-XH-A(LF)(SN) | JST XH Series P2.5 mm |
![]() | J3, J4, J6, J7, J12 | 5 шт | Коннектор | B3B-XH-A(LF)(SN) | JST XH Series P2.5 mm |
![]() | J5, J8, J11 | 3 шт | Коннектор | B4B-XH-A(LF)(SN) | JST XH Series P2.5 mm |
![]() | PS1 | 1 шт | Блок питания | HLK-PM01 | AC-DC 220V to 5V |
![]() | SelfFan | ? | Вентилятор | MX-3010 | Радиальный вентилятор 30x30x10мм, 5В 150мА |
![]() | AirRain, AirWind, AirVane | ? | Метеодатчики | Weather Sensor Assembly | Используется принцип прерывания сигнала, например датчик Холла или геркон. Можно приобрести готовый комлект Wind / Rain Sensor Assembly или изготовить самостоятельно. |
Датчик контроля температуры модуля SelfTemp, может быть размещен прямо на плате без подключения через разъем.
Защитный корпус для датчика температуры и влажности BME280.