Метеостанция с часами
- Войдите на сайт для отправки комментариев
Пт, 18/01/2013 - 14:32
"я его слепила из того что было"
Ардуино 328, модули Grove (температура-влажность, давление, дисплейчик 16х2, RF-модуль на 443МГЦ, светодиод, кнопка, RTC) и два внешних датчика Oregon (THGN132N - температура и относительная влажность).
Собствено реализованные функции:
- часы с календарем (RTC на базе DS1307)
- отображения атмосферного давления (датчик BMP085)
- отображение температуры и влажности внутри помещения (датчик DHT11)
- отображение температуры и влажности вне помещения (датчики Орегон THGN132N)
из "фишек":
- чтение и декодирование радиосигналов, отпраляемых покупными датчиками Oregon
- вычисление и отображение трендов ("растет", "стабильно", "падает") для всех погодных показателей, настраиваемых индивидуально (параметры для расчета трендов для температуры, влажности и давления - индивидуальные)
Подробнее по ссылке, там же есть файл для скачивания с полным скетчем :)
Если есть вопросы и какие-нибудь идеи по улучшению - велкам :)
Первый прототип метеостанции и один из датчиков Oregon THGN132N
Тема с погодной станцией получила развитие.
Получилось вот что: http://weather.opushkino.com/ (домен прописан вчера, возможна временная недоступность у тех, кто ходит в Интернет через мобильных операторов).
Как это работает:
1. К исходной версии погодной станции
2. Подключен LAN-модуль Wiznet W5100
3. На сетевом хранилище Synology поднят веб-сервер (php и mySQL)
4. На веб-сервере крутятся две странички. Одна принимает данные от ардуинки (используется метод POST, дополнительно параметром передается "секретный ключ", для того, чтобы форма отрабатывалась только для "своих" девайсов). Эта страница принимает данные и укладывает их в БД. Вторая страница - достает эти данные и отображает с помощью сервиса Google Chart в виде графиков.
Если есть вопросы - готов ответить.
Тема потихоньку получает новое развитие.
Сегодня с утра на хабре появился вот такой пост: http://habrahabr.ru/post/174793/
Собственно, за 5 минут был написан data-provider и вуаля:
Вау! Классное развитие. Жарко у Вас дома.
DHT11 ... это... сравнению не поддается. :) Похоже, что конструктор уборщиком в НАСА долгое время служил! :)))
да.. DHT11 - этот только для "оценочного" значения влажности используется
в остальных местах или DHT22, или DS18B20, а барометр BMP085 - он тоже температуру хорошо измеряет..
Привет!
ustas, а к Aduino Uno радио датчик THGN132N подключить можно? Вчера полдня провозился - по нулям - не видит датчик. Видимо нужно код править. Подскажите в каком месте копать?
Под уно код править не надо - все и так работает. Просто правильно подключайте (так, как выше описано) и все будет работать.
Прошу прощения, неверно задал вопрос. Давайте еще раз :)
Меня интересует только работа с радиодатчиком (без подключения экрана, кнопок, датчиков давления и т.п.)
Какую часть кода нужно оставить, что бы контроллер принимал данные от датчика и выводил их на экран компьютера.
Относительно правильности подключения - думаю все включил правильно - между двумя arduino радиоканал работает (данные передавал с датчика dallas 18b20 через радиоканал, используя библиотеку virtualware), Ваше решение гораздо интереснее, как раз за счет использования готового радиодатчика.
Меня интересует только работа с радиодатчиком (без подключения экрана, кнопок, датчиков давления и т.п.)
Какую часть кода нужно оставить, что бы контроллер принимал данные от датчика и выводил их на экран компьютера.
Относительно правильности подключения - думаю все включил правильно - между двумя arduino радиоканал работает (данные передавал с датчика dallas 18b20 через радиоканал, используя библиотеку virtualware), Ваше решение гораздо интереснее, как раз за счет использования готового радиодатчика.
1. библиотека virtualware и орегоновский датчик - взаимоисключающие вещи (что-то одно надо оставить)
2. Оставить нужно ту часть кода, которая отвечает за Орегоны :) (убрать всякие SerialLCD, Wire и т.п.)
а вообще все есть по ссылкам выше (и ссылка на первоначальную статью на хабре - там вообще все азы есть).
1. библиотека virtualware и орегоновский датчик - взаимоисключающие вещи (что-то одно надо оставить)
это я понимаю, использовал библиотеку для передачи сигнала между двумя ардуинами (проверить хотел исправность приемника)
2. Оставить нужно ту часть кода, которая отвечает за Орегоны :) (убрать всякие SerialLCD, Wire и т.п.)
а вообще все есть по ссылкам выше (и ссылка на первоначальную статью на хабре - там вообще все азы есть).
ok. так и сделал. Подправил скетч под UNO. В результате сигнал с датчика расшифровывается в основном почему-то декодерами HEZ и CRES, а соответственно декодор Oregon не видит датчик. Ниже - то что расшифровал конроллер. Там есть одна строчка декодера OSV2 (9я строчка) , все остальное Home Easy и Cresta
Не сталкивались? У меня ощущения, что сигнал с датчика слабоват. Сейчас попробую сколхозить антенну на приемник.
Вот, что расшифровывает контроллер:
тут много зависит от приемника. Те, что были у меня (и многократно упоминаются) - хреновенькие: высокий уровень шума и плохо подстроены. После того, как я подстроил (глядя на осциллограф и отслеживая, когда идут реальные посылки от орегона) - стало получше, но мусора "дешифрованного" так же, как и у вас - было полно, я его просто игнорирую
ok. спасибо обнадежили, пойду доставать с антресолей осциллограф :).
подстройка идет в очень небольшом промежутке (буквально +-5 градусов). не сверните настройку совсем - будет еще хуже и настроиться будет крайне проблематично.
Столкнулся с аналогичной проблемой. На выходе получаю картину
припаивал антену к приемнику, пробовал крутить дроссель на приемнике, эффекту ноль. Даже не знаю в какую сторону дальше копать, кто виноват - приемник или датчик ((
обычно виноват приемник.
Но у вас, вижу, OSV2 приходят... что за датчик используется?
Виноват оказался декодер. Все заработало, как только поменял алгоритм согласно http://connectingstuff.net/blog/decodage-protocole-oregon-arduino-1/
ustas, Как с вами можно связаться???
Исправил код "под себя" так сказать. Почему не выводится значение температуры??? Все по 0, т.е. на дисплее так: 0.0С 0%. Если оставить отдельно вывод температур , то все ок.