Погодная станция, часть 2 - скетч для Arduino

Несколько замечаний.


- Датчики подключены к входам Arduino согласно приведенному плану (именно эти значения используются в скетче). В качестве примера в виде схемы показано подключение двух датчиков - MXL90614 и DHT22
- В тексе закоментированы строки, ответственные за вывод показаний датчиков на LCD дисплей во время отладки; в финальной версии он не подключен.

- Все данные с датчиков отправляются в последовательный порт (Serial.Print) в двух форматах: «в человеческом», чтобы было удобно читать (скорее для отладки), и «в машинном», чтобы их можно было программно обрабатывать на компьютере (вида [!Obj:-4.4]). Для этого написана программа WeatherStation

- Также, все значения с датчиков отправляются на вебсервер. Кэшированные графики с данными приведены на странице обсерватории. Для просмотра онлайн значений нужно нажать соответствующую кнопку и ввести логин/пароль guest/guest

- Работу с датчиком BH1750 брал с datasheet, готовых удачных примеров не нашел

- Начиная с версии 0.8, скетч научился включать реле обогрева при дожде или повышенной влажности, а также получать параметры обогрева и принудительную команду из com порта

- В версии 0.9 добавлена поддержка датчика ветра, и применен механизм конфигурации, позволяющий отключать куски кода от неиспользуемых датчиков.

Для работы скетча нужны библиотеки - как встроенные, так и внешние. Отмечу, что я не оптимизировал код по быстродействию – от части библиотек можно смело избавиться.
1. DHT – для работы с датчиков DHT22 (вот на этом точно можно было сэкномить)
2. I2Cmaster – одна из версий это библиотеки. Отмечу, что из трех, которые я нашел, только одна заработала с MLX
3. OneWire – библиотека для работы с датчиками температуры Ds18b20 (встречал более эффективные по размеру кода)


Скачать:
Arduino cкетч погодной станции v0.9
Библиотеки
Скетч для опредления адресов OneWire термометров

Опубликовано: 31-05-2014

Комментарии


Оставить комментарий


Категории

Архив