- Как сделать погодную станцию на Arduino
- Инструкция по созданию домашней метеостанции на Arduino
- Выводы
- Домашняя метеостанция на базе Ардуино
- Часы-метеостанция на Arduino своими руками
- ОБНОВЛЕНИЯ
- ОПИСАНИЕ
- Bluetooth-метеостанция на Arduino для начинающих
- С чего начать?
- Подготовка
- Начинаем сборку
- Подключаем фоторезистор
- Датчик давления и температуры
- Подключение дисплея
- Подключение Bluetooth
- Настройка Slave’a
- Настройка Master’a
- Финишная прямая
Как сделать погодную станцию на Arduino
Предлагается методика изготовления погодной станции для дома или дачи. За основу возьмём плату Ардуино и набор сенсоров: температуры, влажности, давления и датчик углекислого газа. Данные будут выводиться на LCD дисплей, а питание осуществляться от блока питания для мобильного телефона или батареек.
- Arduino UNO или иная совместимая плата;
- датчик температуры и влажности DHT11 или другой;
- датчик давления BMP085 или более современный BMP180, или иной;
- датчик углекислого газа MQ135 (опционально);
- LCD дисплей 1602 или другой;
- потенциометр 10 кОм;
- корпус для погодной станции;
- кусок фольгированного стеклотекстолита;
- винты для крепления компонентов;
- персональный компьютер со средой разработки Arduino IDE.
- соединительные провода;
- разъём для подачи питания;
- паяльник.
Инструкция по созданию домашней метеостанции на Arduino
1 Подбор корпусадля будущей метеостанции
Для начала нужно подобрать подходящий корпус. Туда должны вместиться все комплектующие будущей комнатной метеостанции. Такие корпуса продаются во многих магазинах радиоэлектроники. Или воспользуйтесь любым другим корпусом, который сможете найти.
Прикиньте, как все компоненты будут размещаться внутри. Прорежьте окно для закрепления LCD дисплея, если его нет. Если будете размещать внутри датчик углекислого газа, который достаточно сильно греется, то разместите его в противоположной от других датчиков стороне или сделайте его выносным. Предусмотрите отверстие для разъёма питания.
Корпус для самодельной домашней метеостанции
2 Используемые компоненты
- LCD-дисплей 1602 использует 6 пинов Arduino + 4 на питание (подсветка и знакосинтезатор).
- Датчик температуры и влажности DHT11 подключается к любому цифровому пину. Для чтения значений будем использовать библиотеку DHT11.
- Датчик давления BMP085 подключается по интерфейсу I2C к двум пинам Arduino: SDA – к аналоговому пину A4 и SCL – к аналоговому пину A5. Обратим внимание, что для питания на датчик подаётся напряжение +3,3 В.
- Датчик углекислого газа MQ135 подключается к одному из аналоговых пинов.
Компоненты домашней метеостанции
В принципе, для оценки метеообстановки достаточно иметь данные о температуре, влажности и атмосферном давлении, а датчик углекислого газа необязателен.
Используя же все 3 датчика, у нас будут задействованы 7 цифровых и 3 аналоговых пина Ардуино, не считая питания, естественно.
3 Схема соединениякомпонентов метеостанции
Схема метеостанции показана на рисунке. Тут всё ясно.
Схема домашней метеостанции
4 Скетч метеостанции
Напишем скетч для Ардуино. Код по возможности снабжён подробными комментариями.
Скетч для метеостанции на Arduino (разворачивается)
Загрузим этот скетч в память контроллера платы Ардуино.
5 Сборка метеостанции
Сделаем печатную плату для размещения компонентов внутри корпуса – это самое удобное решение для компоновки и подключения сенсоров. Для изготовления печатной платы в домашних условиях я использую «лазерно-утюжную» технологию (мы её подробно описывали в прошлых статьях) и травление с помощью лимонной кислоты. Предусмотрим на плате места для перемычек («джамперов»), чтобы иметь возможность отключать датчики. Это будет полезно, если будет нужно перепрограммировать микроконтроллер, когда возникнет желание модифицировать программу.
Печатная плата для домашней метеостанции
С помощью пайки установим датчики давления и газов.
Для установки платы Arduino Nano удобно использовать специальные адаптеры или гнёзда с шагом 2,54. Но за неимением этих деталей и из-за экономии пространства внутри корпуса, я установлю Ардуино также пайкой.
Термодатчик будет располагаться на некотором отдалении от платы и будет теплоизолирован от внутренностей метеостанции с помощью специальной изоляционной прокладки.
Предусмотрим места для подводки внешнего питания к нашей самодельной плате. Я буду использовать обычное зарядное устройство на 5 В от старого сломанного роутера. Плюс 5 вольт от зарядного устройства будут подаваться на пин Vin платы Arduino.
Сборка метеостанции на Ардуино
ЖК-экран будет крепиться винтами прямо к корпусу, к передней части. Подключаться будет проводами с разъёмами быстрого подключения типа «Dupont».
Установим печатную плату внутри корпуса и закрепим винтами. Подключим LCD-экран к ножкам Arduino согласно схеме.
Аккуратно закрываем корпус метеостанции.
6 Включение метеостанции
Ещё раз перепроверив, что всё подключили правильно, подаём питание на нашу метеостанцию. ЖК-экран должен загореться, и через несколько секунд на нём появятся данные о давлении, небольшой прогноз, основанный на показаниях давления, а также данные о температуре, влажности и концентрации углекислого газа.
Домашняя метеостанция в работе
Выводы
Мы собрали из недорогих и доступных компонентов домашнюю метеостанцию. В процессе работы над метеостанцией мы познакомились с основами взаимодействия с датчиками температуры и влажности, датчиком атмосферного давления и датчиком углекислого газа.
Источник
Домашняя метеостанция на базе Ардуино
Давненько хотелось сделать мини метеостанцию-надоело выглядывать в окно чтобы посмотреть на градусник за стеклом. Этот приборчик заменит гигрометр, барометр и термометр а также покажет текущее время. В данном посту я расскажу как быстро и просто собрать небольшую метеостанцию на базе Ардуино. Основой будет плата Arduino Nano можно применить другие платы- Arduino Uno, Arduino Pro mini). Данные атмосферного давления и температуры в помещении будем получать с датчика BMP180, а влажность и температуру на улице с датчика DHT11. Часы реального времени DS1302 будут указывать текущее время. Всю информацию выводим на двухстрочный дисплей LCD1602.
Датчик DHT11 передает информацию по одному проводу на ардуино. Питается напряжением 5 В. Он измеряет влажность в пределах от 20 до 80%. Температура измеряет в диапазоне от 0 до 50 о С.
Эта самоделка сделана на базе готовых плат и датчиков, поэтому ее можно повторить любому начинающему любителю поработать с паяльником. Заодно можно получить азы программирования Ардуино. Я программировал эту метеостанцию в программе визуального программирования FLPROG за 15 минут. Не нужно вручную часами писать скетчи, данная программа помогает начинающим (и не только) быстро освоить азы программирования устройств на основании платформы Ардуино.
Кому лень повозиться с программой — скетч ( только выставлять текущее время часов надо будет):
Применять такой прибор можно где угодно или дома, на природе или поместить в автомобиль. Есть возможность запитать схему от аккумуляторов, применив плату заряда, в итоге будет переносная модель метеостанции.
Всю информацию можно получить посмотрев в видео:
Перечень материалов и инструментов
-плата Arduino Nano
-двухстрочный дисплей LCD1602;
-часы реального времени DS1302;
-датчик атмосферное давления и температуры BMP180;
-датчик температуры и влажности DHT11;
-блок зарядки от телефона;
-любой подходящий корпус
-пинцет;
ножницы;
-паяльник;
-кембрик;
-тестер;
-соединительные провода;
-провод четырехжильный для выносного датчика.
Шаг первый. Делаем корпус для метеостанции
Подобрал пластмассовую коробочку из магазина Fix Price (всего то 17р). Предварительно вырезал в крышке окно для дисплея. Затем вырезал частично перегородки в коробке, сделал отверстия для USB разъема платы Arduino проем для датчика BMP180 Датчика BMP180 будет находится на наружной стороне корпуса, чтобы исключить лишний нагрев от электронной начинки находящейся внутри. После я покрасил корпус самоделки изнутри потому что пластик прозрачный. Коробка закрывается на защелку и в ней все элементы неплохо поместились.
Шаг второй. Сборка схемы прибора.
Далее надо скоммутировать по схеме все платы и датчики метеостанции. Делаем это с помощью монтажных проводов с соответствующими разъемами. Я не делал соединения на пайке ,так в перспективе при выходе какого то модуля из строя (или по другим причинам) можно легко его заменить. На винтовом разъеме подключается кабель датчика DHT11 идущий на улицу. Питание можно осуществить с разъема USB платы Ардуино на компьютер, или подав напряжение 7-12В на контакт VIN и GND.
Сначала я собрал схему вне корпуса и запрограммировал и отладил ее в программе FLPROG.
Фото блок схемы в программе FLPROG.
Когда первый раз запрограммировал и включил схема метеостанции заработала. Сейчас стало возможным иметь данные о погоде за бортом и в комнате. В общем получилась интересная домашняя метеостанция с множеством различных функций.
Неплохая получилась самодельная конструкция собранная в выходные. Было увлекательно самому сделать интересный и полезный приборчик. Сделать самостоятельно такой девайс, я думаю по плечу даже начинающему.Это не требует больших затрат времени и денег. Применить можно его где хочешь в доме на загородной даче. На всю работу пошло два выходных вечера всю электронику брал на Алиэкспресс. Остальные материалы нашлись у меня по сусекам. На базе платформы Ардуино можно собирать множество разнообразных полезных устройств.
Всем спасибо за внимание, вам успехов и удачи и в вашей жизни и в творчестве!
Источник
Часы-метеостанция на Arduino своими руками
ОБНОВЛЕНИЯ
• 28.01.19 meteoClock_v1.3: исправлено предсказание погоды (работало “наоборот”)
• 19.04.19 meteoClock_v1.5: добавлено управление яркостью подсветки и светодиода по датчику света. Смотрите последнюю схему!
Рекомендую ознакомиться с модифицированной прошивкой от Norovl, в ней полностью переработан интерфейс, русифицированы дни недели и добавлено меню на русском языке. Почитать и скачать можно на GitHub автора.
ОПИСАНИЕ
Решил таки сделать свою версию метеостанции-часов-календаря на Arduino с кучей датчиков и различными крутыми штуками! Проект уместился в корпусе G909G из магазина Чип и Дип, питается от micro-USB и выглядит весьма неколхозно! =)
- Большой дешёвый LCD дисплей
- Вывод на дисплей:
- Большие часы
- Дата
- Температура воздуха
- Влажность воздуха
- Атмосферное давление (в мм.рт.ст.)
- Углекислый газ (в ppm)
- Прогноз осадков на основе изменения давления
- Построение графиков показаний с датчиков за час и сутки
- Индикация уровня CO2 трёхцветным светодиодом (общий анод/общий катод, настраивается в прошивке)
- Переключение режимов сенсорной кнопкой
Версия 1.5
– Добавлено управление яркостью
– Яркость дисплея и светодиода СО2 меняется на максимальную и минимальную в зависимости от сигнала с фоторезистора
Подключите датчик (фоторезистор) по схеме. Теперь на экране отладки справа на второй строчке появится величина сигнала
с фоторезистора. Пределы яркости устанавливаются в настройках прошивки.
Источник
Bluetooth-метеостанция на Arduino для начинающих
В данной статье я расскажу о том, как сделать первый шаг в мир Arduino и смастерить собственную метеостанцию. Метеостанция будет состоять из двух модулей: один модуль будет считывать информацию с подключенных датчиков, другой — выводить считанные данные на небольшой экран. Для передачи информации будем использовать Bluetooth.
Также приведу информацию по настройке BT-модулей для работы друг с другом.
С чего начать?
Начнем с того, что для того чтобы начать свои первые поделки на платформе Arduino не требуется обширных знаний. Всю информацию можно получить из интернета, в частности, очень помогли обучающие уроки от Amperka.ru.
Подготовка
Для изготовления прототипов устройств понадобятся следующие элементы:
- Фоторезистор 500 кОм (x1)
- Барометр BMP085 (x1)
- BT-модуль HC-05 (x2)
- LCD дисплей, ЖК экран LCM 1602 i2c (x1)
- Набор эл. компонентов (макетная плата, резисторы, диоды) (x1)
- Arduino UNO R3 (x2)
Для прошивки будем использовать родную Arduino IDE.
Хочу обратить внимание на то, что хотя бы один модуль должен быть HC-05 (не 06!), это важно. Дело в том, что HC-06 не поддерживает режим master, т.о. взяв оба модуля 06 нам не удастся настроить их на работу друг с другом. Я решил взять оба модуля HC-05 чтобы заодно избежать проблем с совместимостью, если таковые возникнут.
Нюансы настройки BT-модулей будут описаны ниже.
Оба модуля встроены в шилд, то есть проблем с подключением к плате Arduino возникнуть не должно.
Начинаем сборку
Подключаем фоторезистор
Сопротивление фоторезистора зависит от света, попадающего на него. Используя фоторезистор в связке с обычным резистором, мы получаем делитель напряжения, в котором напряжение проходящее через фоторезистор, изменяется, в зависимости от уровня освещенности.
Механизм получения полезной информации от датчика очень прост: функция analogRead(pin_number) вернет значение, которое будет представлять степень освещенности. Чувствительностью датчика можно управлять играясь с резисторами разных номиналов; на мой взгляд, 10кОм — оптимальный номинал.
Датчик давления и температуры
Для измерения температуры, давления, а также высоты над уровнем моря будем использовать барометр BMP085.
Для подключения датчика BMP085 к Arduino нам понадобится 4 контакта:
- Vcc – подключаем к питанию +5в
- SDA – SDA на плате Arduino (A4)
- SCL – SCL на плате Arduino (A5)
- GND – подключаем к земле
Для снятия значений с датчика необходимо подключить билиотеку Adafruit.
Подключение дисплея
Контакты дисплея LCD1602 подключаются аналогично, как и для BMP085:
- ЖК SDA -> Arduino SDA (A4)
- ЖК SCL -> Arduino SCL (А5)
- ЖК GND -> Arduino GND
- ЖК VCC -> Arduino 5V
Подключение Bluetooth
А теперь самое интересное. «Насаживаем» наши шилды с bt-модулем на нашу Arduino:
Master-устройство будет подключаться к Slave-устройству, которое будет ждать входящего подключения. На одной из плат устанавливаем переключатель в H, это и будет наш master. На другой плате — в L, это будет slave.
Прикрепив модули к Arduino можно начинать настройку. Для настройки master-a нужно будет послать некоторый набор команд в bt-модуль, будем делать это с помощью Serial Monitor (Ctrl+Shift+M). При обмене сообщениями рекомендуется выставить Baud rate -> 38400 & «Both NL&CR».
Послав команду «AT» и нажав отправить, мы ожидаем ответ «OK». Если это так — плата подключена правильно, можно продолжать. Если нет — стоит вернуться на пару шагов назад и проверить корректность подключения bluetooth-модуля.
Несколько важных АТ-команд, которые нам могу пригодиться:
AT — просто вернет «OK», значит всё в порядке
AT+NAME? — вернет имя модуля. Мы также можем задать своё имя, послав, например, AT+NAME=WEATHER_MONITOR
AT+ROLE? — одна из ключевых команд, вернет роль устройства, master/slave. Задать значение можно с помощью AT+ROLE=0 — перевести в режим slave, либо AT+ROLE=1 — режим master.
AT+PSWD? — вернёт пин-код, используемый для подключения.
AT+ADDR? — вернёт адрес устройства, например «14:2:110007». Стоит заметить, что при использовании адреса в посылаемых AT-командах двоеточия «:» нужно заменять запятыми «,», т.о. «14:2:110007» -> «14,2,110007».
Настройка Slave’a
Тут никаких телодвижений не требуется, поэтому просто подключаем плату к питанию.
Настройка Master’a
Этап первый. Конфигурация.
- Посылаем AT+ORGL, тем самым возвращая модуль к его изначальной конфигурации
- Имя модуля можно изменить, послав AT+NAME=myname.
- AT+RMAAD — удаляем информацию о предыдущих «спариваниях».
- AT+PSWD=1234 — устанавливаем пароль
- AT+ROLE=1 — говорим устройству, что оно будет работать в master режиме.
- AT+CMODE=1 — говорим устройству, что оно будет подключаться к любым адресам.
Этап второй. Подключение.
- Отправляем команду AT, чтобы удостовериться, что модуль подключен и готов к работе.
- AT+INIT — инициализация. Если в ответ получаем ERROR(17) — ничего страшного, значит команда инициализации уже посылалась, продолжаем работу.
- AT+INQ — начинаем поиск доступных BT-устройств, ответ будет содержать список из адресов
- AT+LINK= — тут происходит непосредственно подключение к slave-устройству. Команда на подключение может, например, выглядеть так: AT+LINK=14,2,110007.
После выполнения последней команды диоды начнут мигать с меньшей частотой, что говорит об успешном подключении.
Финишная прямая
На этом почти всё. Остается написать скетчи, в которых мы считываем-отправляем-принимаем-отображаем погодные данные. При желании можно отказаться от макетной платы и приступить к пайке, а затем поместить конструкции в корпуса.
Источник