Погодная станция на Arduino. Схемы подключения датчиков

В данной статье представлен проект автономной погодной станции, работающей в режиме реального времени. Устройство собирает аналоговые или цифровые данные и отсылает их на веб-сервер посредством GPRS-канала связи. Если приспособить для нее солнечную батарею и аккумулятор, то станцию можно сделать полностью автономной. Устройство поддерживает 3 аналоговых или цифровых входа. Сердцем схемы является микроконтроллер PIC16F877A. Микроконтроллер также взаимодействует с GSM/GPRS модулем SIM900 или SIM300 , который располагается на обратной стороне печатной платы.
Изначально, устройство проектировалось для измерения ветрового потока, чтобы в дальнейшем собрать базу данных по мощности ветрового потока для разных местоположений. В дальнейшем это позволит выбрать наиболее оптимальное месторасположение ветрогенератора .

Данные на веб-сервер передаются при помощи обычного GET запроса. Это наиболее простой метод передачи данных. На github находятся исходники кода, в них нет ничего сложного.

Принципиальная схема GSM-модуля:

В качестве GSM-модуля я выбрал популярный SIM900/300. Он подключается при помощи UART и взаимодействие с ним происходит при помощи AT-команд. Напряжение питание модуля составляет 3.6В. К модулю подключается внешняя антенна. В модуль встроен контроллер зарядного устройства, что очень полезно при использовании аккумуляторов и солнечной панели или ветрогенератора для их подзарядки.
В схеме используется индикаторный светодиод LED1, который показывает статус GSM (мигает). Включение/выключение модуля производится кнопкой S3.

Примечание 1. Во время разработки проекта, модуль SIM300 перестал выпускаться и его заменили более новым SIM900. Приведённая выше схема разработана для SIM300, для модуля SIM900 будут убраны некоторые элементы между модулем и SIM-картой (см. даташиты).

Примечание 2. Переключатель S3 предназначен для включения/выключения GSM-модуля, однако он может быть заменен транзистором, подсоединенным к выводу микроконтроллера. Это позволит включать или выключать GSM-модуль командой с МК. Это более правильное схемотехническое решение.

Примечание 3. Модуль работает правильно при напряжении >4В, приложенному к пину Vbat.

Схема погодной станции с МК PIC 16F877A:

Итак, основной является микроконтроллер PIC 16F877A работающий на частоте 16МГц. МК питается Vbat как и GSM-модуль. Пины RA0,1,2 используются как аналоговые входы. Входное напряжение с данных пинов преобразовывается при помощи внутр. АЦП с Vref=3.1В, которое получается при помощи стабилитрона на 3.1В. На разъемы входов также выводится Vbat и GND для питания внешних датчиков (при необходимости). Транзистор Q3 (BC547) используется для ШИМ-управления яркостью LCD-экрана. Кнопка S4 используется для сброса микроконтроллера, а R1 как подтягивающий pull-up резистор. В устройстве также используется разъем PIC-ICSP для обеспечения возможности внутрисхемного программирования.

16×2 экранчик LCD HD44780:

LCD-экран используется для отображение статусной информации. В схеме используется переключатель Power-LCD для выключения подсветки экрана, что экономит энергопотребление схемы. Также, выход с переключателя подключается к микроконтроллеру LCD-INT, чтобы МК знал когда LCD включается (в микроконтроллере происходит процедура инициализации LCD для вывода на него информации). Благодаря этому, можно отключать и подключать LCD-модуль во время работы основной схемы погодной станции.

Немного фотографий устройства:

Проект на github (последняя версия прошивки, файлы печатных плат, PDF и др.)

  • Эта "метеостанция своими руками" предназначена для работы в походных условиях, а не внутри и снаружи помещения, как сказано вначале статьи. Батарейки, собственный экран. Гораздо проще и удобней было бы использовать для этого ноутбук.
  • Не могу скачать прошивки:(Можете запостить в другом месте? или замылить на allmail@ mail.ru
  • Довольно все замудренно и дороговато.
  • Согласен, что замудренно, но полюбому получается сопостовимо (по деньгам) с китайскими погодниками, а устройство рекомендую рассматривать как один из "кубиков" умного дома, чуточку поправив прошивку данные можно передавать по RS232 например на ПК используемый как фоторамка-центр управления дома или КПК.
  • К стати прошива и исходники нормально скачиваются с англоязычной странички проекта
  • Смутно представляю, для чего такая сложность в быту. Самая крутая станция не даст прогноза сравнимого с тем, что дает космическая съемка. Разве что - в походах в такую глушь, где нет ни мобильного ни радио-интернета. И то врядли: все серьезные компании, у которых жизнь может от погоды зависеть, (планеристы, альпинисты) имеют спутниковый навигатор, а значит - и выход на прогноз.
  • Так это устройство не дает прогноза, а выводит на экран текущие значения параметров погоды. И основное назначение ее не походное, а, к примеру, измерение параметров в теплице и передача ее в дом. Кстати, начало статьи можно перевести и следующим образом: "Погодная станция с измерением давления, относительной влажности, внутренним и отдаленным наружным измерением температуры" , где не говорится о помещении.
  • Схема немного мудреная, но интересная и найдет применение в быту и производстве, для отслеживания параметров помещений, для автоматизации каких-либо процессов.
  • Доброе время суток! Укого есть скачанные файлы печатки и прошивки, скиньте, пожалуйста форум,или на [email protected] . Заранее благодарен!
  • Ну,если,ни у кого нет файлов прошивки и печатной платы, то скажите - какой КРЕТИН удалил все ети файлы?
  • Советую успокоиться, такое ощущение, что весь мир Вам по гроб чем-то обязан. См. страницу первоисточника http://www.elxproject.com/elx/news.php?readmore=36
  • У меня уже года два такая с беспроводным датчиком температуры и влажности.
  • Да нет, никто мне ничем не обязан. За резкость,конечно, извиняюсь - просто был я по етой ссылке.Такое впечатление по етой ссылке создалось,что я, просто категорически обязан зарегиться в Face Book, а ето "сильно" раздражает.Скачать не получилось. Просьба - если укого есть, скачанный архивчик - скинте,пожалуйста, если не трудно, на форум. Заранее благодарю. P.S Я так думаю, форумы,кроме основной функции, так же существуюти для того,что бы избавлять людей от подобного геморроя - просмотра дибильной рекламы и принудительной регистрации в соцсетях и.т.д
  • Пожалуйста, архив во вложении. Схемы, печатки, исходники, прошивки. Не стоит принимать "близко к сердцу", но на будущее вам - не стоит сразу ругаться и возмущаться. Я, как и многие форумчане, прекрасно понимают, что вам нужна какая-то инфа, файлы, схемы и возможно даже очень срочно нужны, но не всегда вы это получаете моментально. Я видел вашу просьбу в сообщении от 28.07.2013, но ответить или чем-то помочь до сегодня не мог (может и других пользователь форума похожая ситуация) Если бы админ быстренько не вмешался, то возможно, что в ваш адрес посыпались бы высказывания и слова "определенной направленности", а дальше "цепная реакция" с ругней, и в итоге обсуждение (тема) разрастается не по делу и остается очень плохое мнение о форуме в целом... Удачи! Если чего, спрашивайте, поможем чем сможем!
  • Добрый день VADZZ! Благодарю за архивчик!

Принцип работы

Собранные данные с датчика скорости и направления ветра и других сенсоров передаются контроллером без проводов по сети GPRS на наш или Ваш сервер в сети Интернет, где их можно просматривать в режиме реального времени и скачивать в виде полного архива.

Основные функции

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

Стоимость эксплуатации

Стоимость GPRS трафика в месяц около 100 рублей.
Контроллер не требует обслуживания. Имеет два уровня противодействия сбоям в работе.
Контроллер имеет промышленный стандарт качества проектирования и изготовления с учетом влаго- пыле- термо- устойчивости.

Измеряемые величины

GPRS Анемометр:


- температура (без радиационной защиты от солнца)

GPRS Метеостанция:

Cкорость и направление ветра
- температура
- атмосферное давление
- влажность

Точность

Направление ветра - 16 секторов
Скорость ветра - от 0 до 66 м/с - 5%
Атмосферное давление - 2%
Влажность - 2%
Температура - 2%

Условия эксплуатации

Рабочая температура от - 40 до +60 градусов цельсия.
Устройства предназначены для уличной или комнатной установки.

Электропитание

Два входа питания с приоритетом:

Вход - 5 вольт от внешнего сетевого блока питания или USB.

Техническая поддержка

Всем покупателям оказывается полная техническая и гарантийная поддержка.

Гарантия 1 год

Комплектация

1. Датчик скорости и направления ветра Davis с крепежом для мачты.
2. Блок сбора и передачи данных с сенсорами.
3. Блок питания 220/USB
4. Все необходимые провода.
5. Место на сервере для просмотра и накопления данных.
6. Помощь в наладке и ввод в эксплуатацию.
7. Помощь в создании Вашего сайта для сбора и накопления данных.

Дополнительные функции (не входят в стандартную поставку)

2-ой вход 5 - 30 вольт от солнечной батареи или внешнего аккумулятора / блока питания. (ОПЦИЯ)

Дублирование собранной информации на встроенной карточке памяти стандарта micro SD.

Передача данных на компьютер по кабелю на значительные расстояния.
Стандарт подключения к компьютеру - интерфейсы RS232 или USB.

Подключение к контроллеру второго анеморумбометра.
Подключение к контроллеру датчика оборотов и встроенный тахометр.

Конфигурирование входов контроллеров как частотомеров и вольтмеров для подключения другого оборудования, к примеру профессиональных анемометров с аналоговыми выходами.

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

С Уважением,
коллектив компании.

Температурные датчики применяются в составе охранных сигнализаций или систем типа "Умный дом". Основная их функция – контроль температуры в помещении. Купить GSM датчик температуры следует тогда, когда появляется необходимость сбора информации и отправки ее на центральный прибор сигнализации. В системах "Умный дом" прибор позволяет узнавать информацию о климате внутри помещения, что влияет на автоматическое включения или выключения электроприборов. GSM-контроль помещения, неотъемлемой частью которого является сигнализация с термодатчиками, позволяет максимально эффективно экономить время и деньги владельца. Достаточно приобрести и установить SIM-карту, и подключить датчик к электрической розетке.

Для чего нужны GSM термометры?

  • Для удаленного управления всеми типами нагревательных приборов (электрические, газовые или твердотопливные котлы);
  • Для контроля обогревателей (кондиционер, инфракрасные обогреватели, теплые полы и другие);
  • Для сбора информации о температуре и влажности воздуха.

Если верить отзывам специалистов о GSM термометрах и сигнализациях с термодатчиками, то можно сделать вывод, что системы контроля и регулирования температуры – наиболее современные способы управления климатом помещения. Это не только отопление или кондиционирование, но и возможность проводить фильтрацию воздуха и увлажнять его.

Почему стоит купить GSM термометр и сигнализацию с термодатчиками?

  • Возможность в любое время получить всю информацию о температурном режиме. Большинство моделей могут контролироваться через приложения на Android/iOS, что дает возможность в режиме реального времени собрать данные и использовать их;
  • Прибор может выполнять десятки задач в автоматическом или полуавтоматическом режимах, избавляя пользователя от необходимости вручную контролировать температурные и климатические переменные;
  • Цена на GSM датчик температуры кажется совсем низкой, если учитывать все возможные пути экономии электроэнергии, воды, газа, которые достигаются использованием устройства;
  • В случае достижения температуры критической отметки (которую Вы сами настраиваете) датчик сообщит об этом путем отправки СМС сообщения. Кроме того, настройка и контроль прибора может осуществляться с помощью СМС-команд.

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


Принцип работы приложения - запускаем на телефоне с ос android, подключаемся к плате arduino по блютузу и, нажимая на иконки, получаем отображение различных данных.

Принцип работы метеостанции простой. При получении с телефона 1, опрашиваем датчик температуры DS18B20, который размещен на улице и отправляем данные на телефон, при получении 2, опрашиваем датчик температуры DS18B20, который размещен в комнате и отправляем данные на телефон. При получении 3, опрашиваем датчик BMP085, а при получении 4 - опрашиваем датчик влажности и тоже отправляем данные.

Сразу отвечу на вопрос «почему отображение данных на мобильном телефоне?». Мне так удобнее, тем более что я экономлю на покупке дисплея, на покупке кнопок и внутреннюю память микроконтроллера. Лень все-таки двигатель прогресса.

Скриншоты с экрана мобильного телефона

Измерение температуры на улице в градусах Цельсия:

Измерение температуры в комнате в градусах Цельсия:

Измерение атмосферного давления на улице в мм. рт. ст.:

Измерение влажности воздуха в %

Ну а теперь после небольшого обзора работы перейдем к технической части проекта.

Схемы подключения датчиков

Схема подключения датчиков температуры DS18B20

Датчики температуры необходимо подключать параллельно.

Схема подключения датчика BMP085:

Схема подключения датчика DHT11:

Схема подключения модуля bluetooth HC-05:


После удачного подключения всех датчиков загружаем скетч,

Скетч

#include #include #include #include #include #include #include #define ONE_WIRE_BUS 4 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); DeviceAddress Thermometer1 = { 0x28, 0x00, 0x54, 0xB6, 0x04, 0x00, 0x00, 0x92 }; DeviceAddress Thermometer3 = { 0x28, 0x94, 0xAC, 0xDF, 0x02, 0x00, 0x00, 0xB5 }; BMP085 dps = BMP085(); long Temperature = 0, Pressure = 0, Altitude = 0; DHT dht(8, DHT11); char incomingByte; int x=0; void setup() { sensors.begin(); sensors.setResolution(Thermometer1, 10); sensors.setResolution(Thermometer3, 10); Wire.begin(); dps.init(MODE_ULTRA_HIGHRES, 21000, true); dht.begin(); Serial.begin(9600); } void printTemperature(DeviceAddress deviceAddress) { float tempC = sensors.getTempC(deviceAddress); Serial.println(tempC,1); } void loop(){ sensors.requestTemperatures(); dps.getPressure(&Pressure); int h = dht.readHumidity(); float t = dht.readTemperature(); if (Serial.available() > 0) { incomingByte = Serial.read(); if(incomingByte == "1") { x=2; } if(incomingByte == "2") { x=1; } if(incomingByte == "3") { x=3; } if(incomingByte == "4") { x=4; } } delay(100); switch (x) { case 1: printTemperature(Thermometer1); break; case 2: printTemperature(Thermometer3); break; case 3: Serial.println(Pressure/133.3,1); break; case 4: Serial.println(h); break; } }


Приложение для телефона WSAB работает на ОС андроид 2.3 и выше,

Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: