Погодная станция для дома: как собрать настольную домашнюю метеостанцию на Ардуино с дисплеем своими руками
Погодная станция для дома: как собрать настольную домашнюю метеостанцию на Ардуино с дисплеем своими руками
Недавно мой коллега устраивал небольшую научную выставку.
Мой учитель попросил меня представить какой-нибудь проект по электронике студентам в колледже. У меня было два дня, чтобы придумать что-то интересное и достаточно простое.
Так как погодные условия здесь достаточно переменчивы, а температура колеблется в диапазоне 30-40°С, я решил сделать домашнюю метеостанцию.
В чем заключаются функции погодной станции для дома?
Метеостанция на Ардуино с дисплеем – устройство, собирающее данные о погоде и условиях окружающей среды с помощью множества датчиков.
Обычно это следующие датчики:
- ветра
- влажности
- дождя
- температуры
- давления
- высоты
Моя цель – сделать портативную настольную метеостанцию своими руками.
Она должна уметь определять следующие параметры:
- температуру
- влажность
- давление
- высоту
ПОДРОБНОЕ ВИДЕО ПО ПРОЕКТУ
В данном видео показан полный и максимально подробный процесс разработки и изготовления устройства, а также обзор его возможностей и функций.
Понятные схемы, OpenSource прошивки с комментариями и подробные инструкции это очень большая работа. Буду рад, если вы поддержите такой подход к созданию Ардуино проектов! Основная страница пожертвовать – здесь.
Метеостанция на Arduino со сверхнизким энергопотреблением
Одним из недостатков плат Arduino является то, что они содержат различные компоненты, которые могут и не понадобиться для конкретного приложения. Такая периферия потребляет большое количество энергии, и это влияет на суммарное энергопотребление создаваемого устройства и на расход заряда батареи.
Вследствие этого платы Arduino не подходят для проектов, в которых необходима длительная работа от батареи, таких как станция слежения за погодой, так как из‑за высокого энергопотребления придётся всё время менять батареи.
Одним из способов решения этой проблемы является непосредственное использование микроконтроллера ATmega328P, который входит в состав платы Arduino Uno. При этом сохраняется «простота использования», присущая платформе Arduino.
Применяя эту микросхему, мы исключаем трату энергии на различные компоненты, входящие в состав платы Arduino, и увеличиваем время работы от одного заряда батареи.
Микроконтроллер ATmega328P можно запрограммировать двумя основными способами, при условии, что начальный загрузчик (bootloader) платформы Arduino уже загружен в микросхему.
- Посредством платы Arduino Uno.
- Посредством преобразователя из USB в последовательный интерфейс (ТТЛ).
Первый — самый простой, поскольку нам будет необходимо только вставить микроконтроллер в плату Arduino Uno, загрузить код и затем установить микроконтроллер в своё устройство.
Второй способ понадобится, если у вас нет платы Arduino. Преобразователь из USB в последовательный интерфейс (пример на рисунке ниже) подключается напрямую к микроконтроллеру для загрузки программы посредством среды Arduino IDE.
Для обоих вышеназванных методов важно, чтобы начальный загрузчик платформы Arduino уже был в памяти микроконтроллера. Начальный загрузчик — это код, который упрощает загрузку программ в микросхему ATmega328P посредством среды Arduino IDE.
Чтобы продемонстрировать, как можно использовать микроконтроллер ATmega328P для достижения низкого энергопотребления, мы усовершенствуем один из наших проектов, в котором метеостанция на платформе Arduino должна была продержаться на батарейках типоразмера AA один месяц. Теперь же с помощью ATmega328P мы увеличим время автономной работы до года.
Метеостанция содержит датчики BH1750, BMP180, DHT22 и ЖК‑дисплей от телефона Nokia 5110. Датчик BH1750 служит для измерения интенсивность света, BMP180 — атмосферного давления, DHT22 — температуры и влажности. Все измеряемые параметры будут отображаться на дисплее Nokia 5110.
Для проекта нам понадобятся следующие компоненты:
Для проекта понадобятся следующие компоненты:
Схема погодной станции на Arduino
Соедините элементы, как показано на нижеследующей схеме, созданной с помощью программы Fritzing (полный обзор программы по ссылке).
Прежде всего подключается кварцевый генератор к выводам x1 и x2 микроконтроллера, затем подключаются остальные компоненты. Схемы соединения выводов различных компонентов и микросхемы ATmega328P показаны ниже.
LCD Nokia 5110 | Atmega328p |
Pin 1(RST) | D13 |
Pin 2(CE) | D12 |
Pin 3(DC) | D11 |
Pin 4(DIN) | D10 |
Pin 5(CLK) | D9 |
Pin 6(VCC) | VCC |
Pin 7(LIGHT) | GND |
Pin 8(GND) | GND |
DHT22 | Atmega328p |
VCC | 5 В |
GND | GND |
Signal | D4 |
DH1750 | Atmega328p |
SDA | A4 |
SCL | A5 |
GND | GND |
VCC | 5 В |
BMP180 | Atmega328p |
VCC | 5 В |
GND | GND |
SDA | A4 |
SCL | A5 |
BH 1750 и BMP 180 — датчики с интерфейсом I²C, поэтому они оба подключаются к одной линии.
После соединения на макетной плате всех компонентов устройство должно выглядеть, как на рисунке ниже.
Код программы для работы погодной станция со сверхнизким энергопотреблением
При проектировании устройств определённый уровень энергопотребления достигают за счёт как аппаратного обеспечения (выбирая компоненты с низким потреблением), так и программного (отключая внутренние периферийные модули микроконтроллера, когда они не нужны). Кроме того, регулируют напряжение питания и частоту, чтобы они соответствовали стандартным требованиям.
Для снижения энергопотребления за счёт ПО мы будем использовать библиотеку платформы Arduino, подключаемую заголовочным файлом low-power.h. Эта библиотека позволяет отключать внутреннюю периферию микроконтроллера, используя время или прерывания.
Также будут использоваться библиотеки для упрощения работы с датчиками BMP180, BH1750 и DHT22 и дисплеем от Nokia 5110.
Приступим к краткому описанию кода. Сначала включаем необходимые библиотеки, упомянутые выше.
Вишенка на торте (шина I2C)
Параллельно с описываемым проектом, мне выпало подключить датчики по шине I2C, необычность была в том, что требовалось два луча на 6 и 2 метра. А поскольку шина I2C имеет ограничение по ёмкости (не более 400 пФ), а не по длине (как я ранее думал), то применив ретрансляторы PCA9515A и витую пару (UTP 5e), мне удалось успешно решить задачу.
Второй задачей было подключение нескольких датчиков I2C с одинаковыми адресами (что недопустимо на шине I2C ), но тут возникла программная проблема – ни одна из знакомых мне прошивок не поддерживала TCA9548A. Промучившись некоторое время, мне пришлось отказаться от её реализации.
ugra.ru
Summary:
Обзор:
Погодная станция «Паровоз» купить в интернет магазине alfagifts.ru в Москве Большие скидки Розница и опт доставка по Москве и области +7 (495) 642-24-98
Погодная станция имеют такую энергетику, что, если Ваш бизнес связан или с железной дорогой, или с производством, не купить это изделие невозможно. Впрочем, фотография говорит сама за себя.
This feature is not available right now. Please try again later.
Погодная станция «Паровоз» оптовые поставки vip подарков и эксклюзивной посуды. Заказать подарки оптом.
Китайская погодная станция с барометром ОБЗОР (TS-76) REVIEW
Комментарии 15
Мне нравится, и актуальнo и интереснo!
Согласен, замечательное сообщение
Где я могу это найти?
Я извиняюсь, но, по-моему, Вы допускаете ошибку. Давайте обсудим это. Пишите мне в PM, поговорим.
Вы допускаете ошибку. Пишите мне в PM, поговорим.
Абсолютно с Вами согласен. В этом что-то есть и мне кажется это очень хорошая идея. Полностью с Вами соглашусь.
Сайт хороший, но чувствую, что чего-то не хватает.
Молодец парень. Отвертелся.
Жаль, что сейчас не могу высказаться – вынужден уйти. Вернусь – обязательно выскажу своё мнение.
Согласен, весьма полезная информация
Какие нужные слова. супер, великолепная идея
Я извиняюсь, но, по-моему, Вы ошибаетесь. Могу это доказать. Пишите мне в PM, поговорим.
А почему вот только так? Размышляю, как нам прояснить этот обзор.
Добавить комментарий Отменить ответ
- &
- (черный)
- 100
- 1000
- 2.0
- 200
- 300
- 500
- ABS
- ASUS
- Audio
- Benro
- Blue
- Bluetooth
- Bosch
- Box
- Brother
- Bulros
- Canon
- Case
- Cisco
- Classic
- Digital
- DVD-плеер
- Electric
- Electrolux
- Epson
- Falcon Eyes
- Galaxy
- Garmin
- HAMA
- HUAWEI
- IPhone
- Kit
- LED
- Levenhuk
- Light
- Master
- Mini
- Nikon
- Office
- Panasonic
- Philips
- Pioneer
- PLA
- Plus
- Power
- Premium
- Pro
- Pro sKit
- REXANT
- Samsung
- Series
- Silver
- Smart
- Sony
- Style
- SUPRA
- TV-тюнер
- Ultra
- VoIP-телефон
- White
- Wi-Fi роутер
- Xiaomi
- А4,
- Автомобильный
- Адаптер
- Аккумулятор
- Аксессуары
- Акустическая система
- Антенна
- Арт.
- Аудиокабель
- Белый
- Беспроводная
- Бинокль
- Блок
- Браслет
- Брелок
- Бумага
- Варочная панель
- Веб-камера
- Вентилятор
- Видеокамера
- Виниловый
- Винный
- Внешний
- Воды
- Врезная кухонная мойка
- Вспышка
- Встраиваемый
- Геймпад
- Гриль
- Дверь
- Двойное
- Держатель
- Детский
- Дома
- Домашний
- Доска
- Жесткий диск
- Замок
- Зарядка
- Зарядное
- Зеленый
- Игровая
- Интегральный усилитель
- Интерактивная
- Инфракрасный обогреватель
- Кабель
- Кабель USB
- Кабель аудио балансный
- Кабель коаксиальный
- Кабель микрофонный
- Камера
- Каминная вытяжка
- Кармана
- Карта
- Картридж
- Книга
- Кольцо
- Коммутатор
- Комплекс
- Комплект
- Компьютерный
- Компьютерный корпус Black
- Конверт
- Контроллер
- Коньки
- Коробка
- Красный
- Крепление
- Кронштейн стену
- Ламинатор
- Лампа
- Лента
- Лицензия
- Лупа
- Магнитный
- Маркер
- Материнская плата
- Машина
- Машинка
- Медиаплеер
- Металлический
- Метеостанция
- Микроволновая печь
- Микроскоп
- Микросхема
- Микрофон
- Мм)
- Мм,
- Мобильного
- Модель
- Модуль
- Монопод
- Музыкальный центр
- Мышь
- Набор
- Навигатор
- Накопитель
- Накопительный водонагреватель
- Напольная
- Наручные часы
- Насадка
- Настенный
- Настольная игра
- Наушники
- Нож
- Ноутбуков
- Объектив
- Оптический привод Black
- Офисный
- Очиститель воздуха
- Очки
- Пакет
- Панель
- Переходник
- Печатающая
- Питания
- Планшет
- Пластик
- Пластиковый
- Плеер
- Подарочный
- Подсветкой
- Подставка
- Подушка
- Полка
- Поляризационный
- Портативная
- Принтер
- Проектор
- Процессора
- Пульт
- Размер
- Разъем
- Рамка
- Рация
- Репитер
- Розетка
- Ручка
- Ручная
- Рюкзак
- Салфетка
- Самогонный аппарат
- Светильник
- Светодиодная
- Селфи
- Серый
- Сетевая
- Сигнала
- Синий
- Система охлаждения
- Сканер
- Складной
- Словарь
- См)
- См,
- Смартфон
- Смеситель
- Сплит-система
- Стекло
- Стенд
- Стиральная машина
- Стойка
- Стол
- Студийный
- Сумка
- Табличка
- Телевизор
- Телефон
- Термометр
- Триммер
- Труба
- Тумба
- Увлажнитель воздуха
- Универсальный
- Уничтожитель
- Усиления
- Усилитель
- Устройство
- Утюг
- Фильтр
- Флешка
- Фотоаппарат
- Фотокамеры
- Футболка
- Холодильник
- Цвет
- Цвет:
- Цветная
- Цифровой
- Чайник
- Часы
- Черный
- Чехол
- Швабра
- Швейная машина
- Шкаф
- Шлюз
- Шт.
- Штатив
- Штатив Manfrotto
- Щетка
- Щипцы
- Экран
- Электрическая
- Электробритва
Универсальный сторожевой таймер на ATtiny13
Внешний сторожевой таймер это костыль для плохих разработчиков, которые не могут разработать нормально работающую программу для микроконтроллеров или стабильно работающую схему.
Тем более встроенный WDT имеется у большинства современных микроконтроллеров.
Но бывают случаи, когда приходится иметь дело с готовой платой или модулем с определенными проблемами. Свой первый WDT я сделал для борьбы с редкими, но все же иногда происходящими зависаниями ESP8266. Причем софтовый ресет тогда не спасал и ESP-шка не хотела переподключаться к WiFi. Передергивание питания внешним WDT решило проблему.
Вторая проблема возникла с GSM контроллером Elecrow ATMEGA 32u4 A9G. Здесь имели место быть очень редко случающиеся зависание SIM-карты. (Кстати эта же проблема бывает и с USB-модемами 3G и 4G). Для борьбы с таким зависанием нужно передернуть питание на SIM-ке. И вроде даже вывод у GSM модема для этого есть, но в схемотехнику устройства данная возможность не заложена. И для достижения максимальной надежность пришлось снова обращаться к внешней сторожевой собаке.
Что понадобится для сборки?
Для сборки домашнего оборудования собственными руками потребуется заказать много запчастей. Некоторые из них проще всего найти в интернете. Есть приборы на микроконтроллере, Меге8, 8ATMega8 и на PIC, AVR. Из необходимых элементов нужно отметить:
- аналог или оригинал платы «Ардуино»;
- датчик для считывания показателей влажности и температуры окружающей среды, можно использовать DHT11;
- датчик, который позволит узнавать давление – BMP085;
- дисплей;
- потенциометр с показателем в 10 кОм;
- корпус для будущего устройства;
- небольшой отрезок стеклотекстолита фольгированного;
- крепежные элементы (винты);
- проводка;
- вход для питания.
Для работы также потребуется компьютер и паяльник. Можно использовать Pic16f628.
Шаг 1: Покупаем нужные компоненты
- DHT22, датчик температуры и влажности.
- BMP180, датчик давления.
- Arduino Nano
- Припой
- LCD дисплей с модулем I2c
- Макетная плата
- Однорядный разъем на 40 выходов
Из оборудования вам понадобятся:
- Паяльник
- Плоскогубцы для носоупоров
- Провода
ПРОШИВКА И НАСТРОЙКА
Загружать прошивку желательно до подключения компонентов, чтобы убедиться в том, что плата рабочая. После сборки можно прошить ещё раз, плата должна спокойно прошиться. В проектах с мощными потребителями в цепи питания платы 5V (адресная светодиодная лента, сервоприводы, моторы и проч.) необходимо подать на схему внешнее питание 5V перед подключением Arduino к компьютеру, потому что USB не обеспечит нужный ток, если например лента его потребует. Это может привести к выгоранию защитного диода на плате Arduino. Гайд по скачиванию и загрузке прошивки можно найти под спойлером на следующей строчке.
ИНСТРУКЦИЯ ПО ЗАГРУЗКЕ ПРОШИВКИ
1. Если это ваше первое знакомство с Arduino, внимательно изучите гайд для новичков и установите необходимые для загрузки прошивки программы.
2. Скачайте архив со страницы проекта. Если вы зашли с GitHub – кликните справа вверху Clone or download, затем Download ZIP. Это тот же самый архив!
3. Извлеките архив. Содержимое папки libraries перетащите в пустое место папки с библиотеками Arduino C:/Program Files (x86)/Arduino/libraries/
4. Папку с прошивкой из firmware положите по пути без русских букв . Если в папке с прошивкой несколько файлов – это вкладки, они откроются автоматически.
5. Настройте прошивку (если нужно), выберите свою плату, процессор. Подключите Arduino к компьютеру, выберите её COM порт и нажмите загрузить.
6. При возникновении ошибок или красного текста в логе обратитесь к 5-ому пункту гайда для новичков – “Разбор ошибок загрузки и компиляции”.
Содержимое папок в архиве
- libraries – библиотеки проекта. Заменить имеющиеся версии
- firmware – прошивки для Arduino
- schemes – схемы подключения компонентов
Как показал эксперимент, снаружи корпуса датчик температуры показывает на 0.5 градуса меньше, чем внутри! Нужно более удачно компоновать электронику, отводить и экранировать тепло от греющихся элементов…
Если дисплей показывает слишком тускло/на белом фоне
На плате драйвера дисплея (к которой подключаются провода) есть крутилка контрастности, с её помощью можно подстроить контраст на нужный. Также контрастность зависит от угла взгляда на дисплей (это же LCD) и можно настроить дисплей на чёткое отображение даже под углом “дисплей на уровне пупка, смотрим сверху”. А ещё контрастность сильно зависит от питания: от 5V дисплей показывает максимально чётко и ярко, тогда как при питании от USB через Arduino напряжение будет около 4.5V (часть падает на защитном диоде по линии USB), и дисплей показывает уже не так ярко. Вывод настраивайте крутилкой при внешнем питании от 5V!
Если датчик CO2 работает некорректно (инфа от Евгения Иванова)
Ну там в папке библиотеки сенсора в examples есть скетчи для калибровки. также ее можно запустить втупую замкнув на землю разъем “HD” на 7+ секунд.
Само собой вот прямо на улице на морозе этим заниматься не обязательно… можно просто в бутылку набрать свежего воздуха с датчиком внутри и запечатать. калибровка проводится минимум 20 минут..
По-умолчанию датчик поставляется с включенной автокалибровкой, которая происходит каждый день, и если датчик используется в невентелируемом помещении, то эта калибровка быстро уводит значения от нормы за горизонт, потому ее нужно обязательно отключать.
Документация.
Автокалибровка датчика CO2 отключена в скетче!
Если у вас не работает датчик BME280, скорее всего у него отличается адрес. В проекте используется библиотека Adafruit_BME280, у которой нет отдельной функции смены адреса, поэтому адрес задаётся вручную в файле библиотеки Adafruit_BME280.h почти в самом начале файла (лежит в папке Adafruit_BME280 в вашей папке библиотек, вы должны были её туда установить), у моего модуля был адрес 0x76. Как узнать адрес своего модуля BME280? Есть специальный скетч, называется i2c scanner. Его можно нагуглить, можно скачать с моего FTP. Прошиваете данный скетч, открываете порт и получаете список адресов подключенных к шине i2c устройств. Чтобы остальные модули вам не мешали – можно их отключить и оставить только BME280. Полученный адрес указываем в библиотеке, сохраняем файл и загружаем прошивку метео-часов. Всё!
Если отстают часы, проблема скорее всего в питании схемы. Если при смене блока питания на более качественный проблема не уходит, повесьте конденсатор по питанию RTC модуля (прям на плату на VCC и GND паять): обязательно керамический, 0.1-1 мкФ (маркировка 103 или 104, смотрите таблицу маркировок). Также можно поставить электролит (6.3V, 47-100 мкФ)