Очередной умный дом, в нескольких частях. Метеостанция из подручных материалов

Просматривая разные проекты метеостанций, заметил одну тенденцию. Это или датчик температуры и влажности, чаще всего всеми любимый китайский DHT-11 или DHT-22, к которым добавляют либо датчик освещенности (Метеостанция на Arduino с визуализацией данных) либо давления (Ethernet метеостанция), или покупное-навороченное за много сотен долларов (Автоматическая метеостанция на даче)

Так как лично для меня — метеостанция без измерения направления и скорости ветра не метеостанция, а потратить порядка 700USD на по большому счету игрушку я не готов, то решено было сделать похожее на «дорогое-навороченное», но занедорого.

image

Электроника


  1. Датчик температуры — LM35. Включен с возможностью измерения отрицательных температур image
  2. Куда уж без него — датчик влажности и температуры DHT11
  3. Датчик давления — HP03SA
  4. Датчик освещенности — фоторезистор LXD5516
  5. Датчик скорости ветра — обычный датчик Холла

Теперь о измерении направления ветра. Было много вариантов, от оптических энкодеров — заводских (дорого) или самодельных в виде нескольких пар светодиодов и фотодиодов, и диска с кодом Грея (сложно и много компонентов), до магнита и 4–8 герконов (слишком просто и неточно). В итоге выбор пал на AS5040 — магнитный энкодер. Так как особая точность не нужна, то аналоговый выход энкодера подключен к ADC микроконтроллера.

image

Микроконтроллер — PIC16F88. Выход — RS485 в внутреннюю сеть умного дома, о котором этот цикл статей. Вся электронная часть собрана на трех платах.

image

На этом с электроникой все, никаких нюансов, ничего интересного, все по даташитам. Переходим к механике.

Механика


К сожалению, напечатать корпус на 3D принтере возможности нет, а у заводских корпусов с водонепроницаемостью беда практически у всех. К тому же подшипники и все остальное — тела вращения, значит круглый корпус будет самым логичным выбором. Пришлось обратить взор на другие сферы — на водоснабжение. В качестве корпуса взята соединительная муфта «на 32» для канализации, и два патрубка для размещения в них подшипниковых узлов. Из латуни были выточены две заглушки, в которых запрессованы по два подшипника 626.

image

Магниты… Магнит для датчика скорости подойдет практически любой, а вот с датчиком направления было сложнее. Ему нужен круглый магнит с намагниченностью от края до края

image

В то время как у основной массы продающихся — разные полюса на разных сторонах.

image

Но, оказалось, что нужные магниты находятся на шпинделях двигателей CD/DVD приводов.

image

В собранном виде подшипниковые узлы выглядят так

image

После изготовления и сборки плат — датчики скорости и направления ветра принимают окончательный вид

image

Так как метеостанция все таки из подручных материалов, то для крыльчатки режем теннисные шарики, флюгер тоже мастерим из того, что попадется под руки. Красим в радикально черный цвет, и получается так.

image

В качестве датчика дождя так же используем половинку теннисного шарика, в котором между двумя слоями геотекстиля расположены два контакта

image

Собираем, подключаем и прикручиваем повыше

image

Интерфейс


Как я уже рассказывал (Очередной умный дом, в трех частях. Часть третья, пользовательско-интерфейсная) есть два вида интерфейса. Первый вид, в котором на экране отображаются практически все данные с устройства, выглядит так

image

Температура текущая, минимум, максимум, направление изменения. Давление, аналогично. Влажность. Ветер — направление и роза ветров. Цифры нужны скорее для отладки, показывают сколько времени в каком секторе был флюгер. Скорость ветра, время, показания датчика освещенности (без калибровки, то что измерил ADC) и датчик дождя. Все данные и обработка — ведутся в микроконтроллере метеостанции.

Второй тип интерфейса — на основе виджетов. Тут данных меньше, температура, влажность, давление, скорость и направление ветра

image

И куда уж без Android Wear — на часах

image

В связи с тем, что раз в минуту происходит опрос всех контроллеров с записью в БД— то любые метеоданные доступны для анализа или отображения в виде графиков

image

© Geektimes