В данной статье представлен проект автономной погодной станции, работающей в режиме реального времени. Устройство собирает аналоговые или цифровые данные и отсылает их на веб-сервер посредством 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 и др.)
Температурные датчики применяются в составе охранных сигнализаций или систем типа "Умный дом". Основная их функция – контроль температуры в помещении. Купить GSM датчик температуры следует тогда, когда появляется необходимость сбора информации и отправки ее на центральный прибор сигнализации. В системах "Умный дом" прибор позволяет узнавать информацию о климате внутри помещения, что влияет на автоматическое включения или выключения электроприборов. GSM-контроль помещения, неотъемлемой частью которого является сигнализация с термодатчиками, позволяет максимально эффективно экономить время и деньги владельца. Достаточно приобрести и установить SIM-карту, и подключить датчик к электрической розетке.
Если верить отзывам специалистов о GSM термометрах и сигнализациях с термодатчиками, то можно сделать вывод, что системы контроля и регулирования температуры – наиболее современные способы управления климатом помещения. Это не только отопление или кондиционирование, но и возможность проводить фильтрацию воздуха и увлажнять его.
Метеостанция предназначена прежде всего для наблюдения за погодой, просмотром текущей температуры, влажности и атмосферного давления. Вещь очень удобная для рыбаков. Я решил сделать свою метеостанцию на основе Arduino, но с отображением данных на мобильном телефоне.
Принцип работы приложения - запускаем на телефоне с ос android, подключаемся к плате arduino по блютузу и, нажимая на иконки, получаем отображение различных данных.
Принцип работы метеостанции простой. При получении с телефона 1, опрашиваем датчик температуры DS18B20, который размещен на улице и отправляем данные на телефон, при получении 2, опрашиваем датчик температуры DS18B20, который размещен в комнате и отправляем данные на телефон. При получении 3, опрашиваем датчик BMP085, а при получении 4 - опрашиваем датчик влажности и тоже отправляем данные.
Сразу отвечу на вопрос «почему отображение данных на мобильном телефоне?». Мне так удобнее, тем более что я экономлю на покупке дисплея, на покупке кнопок и внутреннюю память микроконтроллера. Лень все-таки двигатель прогресса.
Скриншоты с экрана мобильного телефона
Измерение температуры на улице в градусах Цельсия:
Измерение температуры в комнате в градусах Цельсия:
Измерение атмосферного давления на улице в мм. рт. ст.:
Измерение влажности воздуха в %
Ну а теперь после небольшого обзора работы перейдем к технической части проекта.
Схемы подключения датчиков
Схема подключения датчиков температуры DS18B20
Датчики температуры необходимо подключать параллельно.
Схема подключения датчика BMP085:
Схема подключения датчика DHT11:
Схема подключения модуля bluetooth HC-05:
Скетч
#include