Метеостанция: от идеи до реализации Страница 1 из 3






Прочитал множество статей, посвященных разработке своего устройства, и захотел рассказать о своем опыте. Происходило это несколько лет назад, на 4-м курсе универа. Сейчас я многое сделал бы уже по-другому, а в то время я только начинал осваивать электронику, это — мое первое устройство, так что не судите строго.

Мне всегда хотелось чего-то большего, чем обычный градусник за окном или ЖК-экран метеостанции с температурой на улице и в комнате. Поэтому, когда я задумался, «что же такое сделать» для того, чтобы начать знакомство с миром микроконтроллеров, ответ нашелся сам собой — свою метеостанцию. Естественно, с отображением градусов на улице и внутри помещения, влажности и давления. И с подсветкой — мне всегда нравилась реализация прогноза погоды на Яндексе — одного взгляда на фон достаточно, чтобы понять, будет тепло или холодно, и насколько.

Весь дальнейший функционал был определен небольшим мозговым штурмом. Наличие подсветки, безусловно, плюс, но как быть ночью и вечером? Я решил установить ИК-сенсор, реагирующий на приближение. При подходе к прибору на комфортное расстояние включается подсветка, в иное время экран по умолчанию не горит. Использование ИК подтолкнуло к реализации управления прибором также по ИК-каналу — через пульт (поначалу были опасения о взаимных помехах, но они не подтвердились). Вполне естественно для такого устройства наличие часов.

В качестве основы для системы была выбрана Arduino, которую я только начинал осваивать. Саму Arduino я рассматриваю сейчас (да и тогда), как фреймворк — в первую очередь программный, позволяющий быстро строить необходимую систему, подключая при необходимости плагины-библиотеки. Да, мы можем писать и на чистом С/С++, но в большинстве рядовых задач это дает лишь незначительный прирост производительности, практически незаметный на фоне простоты и удобства загрузки скетчей в Arduino, а также обширнейшей коллекции библиотек для работы с различным железом. (Само собой, что есть особые задачи, но сейчас речь не о них).
В аппаратной же реализации я предпочитаю использовать синюю плату Arduino только на этапе прототипирования на «макетке», а по окончанию разработки устройств обычно проектирую одну-единственную плату с микроконтроллером и всем остальным. Так было и в тот раз.

Подбор компонентов я начал с экрана. Довольно быстро нашелся замечательный экран с RGB-подсветкой www.adafruit.com/products/398, что позволяло получить практически любые цвета. Он построен на популярном чипе HD44780 и поддерживается огромным количеством библиотек, в том числе и LiquidCrystal в Arduino.

Также я поинтересовался ценами на индивидуальное производство дисплеев. Минимальная цена за 1 экземпляр монохромного ЖК (как в типовой метеостанции) по ценам того времени была порядка 1 000 евро, для некоммерческого проекта в единичном экземпляре я счел такой ценник нецелесообразным.





В качестве ИК-датчика был выбран Sharp GP2Y0A02YK0F. Немаловажной характеристикой в моем случае являлась дальность обнаружения объектов, у этого датчика она равна 1.5 м, в то время как у многих других сенсоров она не превышает 30 см. Как показала себя эксплуатация, для небольшого экрана 16х2 полтора метра — действительно оптимальное расстояние.

В качестве датчика давления был выбран Bosch BMP085, работающий по I2C, влажности HH10D — с частотным выходом. Забегая вперед, скажу, что сейчас я бы ни в коем случае не использовал последний, а предпочел бы исключительно I2C-варианты, например HTU21D.

В качестве внешних сенсоров температуры использовались всеми любимые DS18B20. Их огромным преимуществом является возможность подключать (и отключать при необходимости) на 1 шину сразу несколько датчиков, без необходимости менять код программы. С беспроводной передачей данных температуры я в своем первом проекте я связываться не стал, тем более что у меня была возможность проложить провода без ущерба эстетике.

ИК-приемник был взят наиболее типовой, типа TSOP382. Пультом для метеостанции стал пульт от какого-то видеорегистратора. Зуммер (она же пищалка) — самый обычный пьезоизлучатель.



  • 1753
  • 23/05/2014


Поделись



Подпишись



Смотрите также

Новое