Очередной умный дом, в нескольких частях. Метеостанция из подручных материалов
Просматривая разные проекты метеостанций, заметил одну тенденцию. Это или датчик температуры и влажности, чаще всего всеми любимый китайский DHT-11 или DHT-22, к которым добавляют либо датчик освещенности (Метеостанция на Arduino с визуализацией данных) либо давления (Ethernet метеостанция), или покупное-навороченное за много сотен долларов (Автоматическая метеостанция на даче)
Так как лично для меня — метеостанция без измерения направления и скорости ветра не метеостанция, а потратить порядка 700USD на по большому счету игрушку я не готов, то решено было сделать похожее на «дорогое-навороченное», но занедорого.
Электроника
- Датчик температуры — LM35. Включен с возможностью измерения отрицательных температур
- Куда уж без него — датчик влажности и температуры DHT11
- Датчик давления — HP03SA
- Датчик освещенности — фоторезистор LXD5516
- Датчик скорости ветра — обычный датчик Холла
Теперь о измерении направления ветра. Было много вариантов, от оптических энкодеров — заводских (дорого) или самодельных в виде нескольких пар светодиодов и фотодиодов, и диска с кодом Грея (сложно и много компонентов), до магнита и 4–8 герконов (слишком просто и неточно). В итоге выбор пал на AS5040 — магнитный энкодер. Так как особая точность не нужна, то аналоговый выход энкодера подключен к ADC микроконтроллера.
Микроконтроллер — PIC16F88. Выход — RS485 в внутреннюю сеть умного дома, о котором этот цикл статей. Вся электронная часть собрана на трех платах.
На этом с электроникой все, никаких нюансов, ничего интересного, все по даташитам. Переходим к механике.
Механика
К сожалению, напечатать корпус на 3D принтере возможности нет, а у заводских корпусов с водонепроницаемостью беда практически у всех. К тому же подшипники и все остальное — тела вращения, значит круглый корпус будет самым логичным выбором. Пришлось обратить взор на другие сферы — на водоснабжение. В качестве корпуса взята соединительная муфта «на 32» для канализации, и два патрубка для размещения в них подшипниковых узлов. Из латуни были выточены две заглушки, в которых запрессованы по два подшипника 626.
Магниты… Магнит для датчика скорости подойдет практически любой, а вот с датчиком направления было сложнее. Ему нужен круглый магнит с намагниченностью от края до края
В то время как у основной массы продающихся — разные полюса на разных сторонах.
Но, оказалось, что нужные магниты находятся на шпинделях двигателей CD/DVD приводов.
В собранном виде подшипниковые узлы выглядят так
После изготовления и сборки плат — датчики скорости и направления ветра принимают окончательный вид
Так как метеостанция все таки из подручных материалов, то для крыльчатки режем теннисные шарики, флюгер тоже мастерим из того, что попадется под руки. Красим в радикально черный цвет, и получается так.
В качестве датчика дождя так же используем половинку теннисного шарика, в котором между двумя слоями геотекстиля расположены два контакта
Собираем, подключаем и прикручиваем повыше
Интерфейс
Как я уже рассказывал (Очередной умный дом, в трех частях. Часть третья, пользовательско-интерфейсная) есть два вида интерфейса. Первый вид, в котором на экране отображаются практически все данные с устройства, выглядит так
Температура текущая, минимум, максимум, направление изменения. Давление, аналогично. Влажность. Ветер — направление и роза ветров. Цифры нужны скорее для отладки, показывают сколько времени в каком секторе был флюгер. Скорость ветра, время, показания датчика освещенности (без калибровки, то что измерил ADC) и датчик дождя. Все данные и обработка — ведутся в микроконтроллере метеостанции.
Второй тип интерфейса — на основе виджетов. Тут данных меньше, температура, влажность, давление, скорость и направление ветра
И куда уж без Android Wear — на часах
В связи с тем, что раз в минуту происходит опрос всех контроллеров с записью в БД— то любые метеоданные доступны для анализа или отображения в виде графиков