Блок с датойБлок с временемБлок с возрастом сайта
Mr.ALB

    Анатолий Беляев (aka Mr.ALB). Персональный сайт

    Да пребудут с вами Силы СВЕТА!

     

    Arduino #39. Погодная станция v5.2.x

    Погодная станция на BME280 & DS18B20
    + Барограф + Меню настройки

    Используя раннюю разработку программы Погодная станция v3.18 создаю новую версию карманной погодной станции.



    Описание

    Основа погодной станции – датчики BME280 и DS18B20. В датчике BME280, в отличие от датчика BMP280, имеется чувствительный элемент для измерения ещё и относительной влажности, однако программа позволяет использовать и датчик BMP280. В этом случае относительная влажность не измеряется, а в её позиции выводится значение 50%.

    Цифровой датчик ф.Даллас DS18B20 позволяет измерять внешнюю температуру с высокой точностью. В итоге устройство может измерять, обрабатывать и показывать:

    • Абсолютное атмосферное давление* (в мм рт. ст. или в кПа).
    • Предыдущее значение абсолютного давления и разницу между текущим и предыдущим давлениями (в мм рт. ст. или в кПа). Можно судить о скорости изменения давления.
    • Высоту (относительную, в метрах).
    • Высоту относительно уровня моря (в метрах).
    • Внутреннюю температуру с BME280* (в °С).
    • Относительную влажность* (в %).
    • Внешнюю температуру* (в °С, через DS18В20) + показывать минимальное и максимальное измеренное значение.

    Все настройки производятся в меню настроек, в которое можно перейти при длительном нажатии на кнопку MENU. Выход из меню настроек так же по длительному нажатию на эту кнопку.

    Возможности

    • Две системы измерения: мм рт.ст. | кПа.
    • Барограф в двух системах измерения.
    • МЕНЮ настроек: 9 параметров настройки.
    • Сохранение параметров в EEPROM.
    • Управление тремя кнопками:
      • Кнопка 1: LIGHT / MENU.
          Краткое нажатие: Регулировка яркости
          Долгое нажатие:  Переход к МЕНЮ настройки
        
      • Кнопка 2: Set "0" / <<*.
          Краткое нажатие: Обнуление высоты
          В режиме МЕНЮ:   Уменьшение значения
        
      • Кнопка 3: BAROGRAPH / >>*.
          Краткое нажатие: Переход к экрану #2 Барографа и обратно к экрану #1
          В режиме МЕНЮ:   Увеличение значения
          Долгое нажатие:  Обнуление массива барографа
        

    Схема погодной станции

    Схема погодной станции была создана на основе: Arduino Pro Mini (можно использовать любую: Arduino UNO, Arduino Nano и подобные им где установлен микроконтроллер ATMega328P), датчике атмосферного давления и влажности BME280 (не путать с BMP280) и цифровом датчике температуры семейства DS18B20.

    Погодная станция может работать от встроенного аккумулятора Li-Ion +3.7 В, или от внешнего источника напряжением +5В (+5В на контакт VCC). При работе от аккумулятора, используется повышающий DC-DC преобразователь на MT3608 (можно любой повышающий). На его выходе установлено напряжение +5 В.

    Во избежании повреждения Ардуино, BME280, TFT дисплея – следует обратить внимание, что перед подключением преобразователя к устройству, необходимо заранее выставить на его выходе указанное напряжение!

    Используемый мной образец BME280 работает в диапазоне напряжений +1.8...+5 В, что избавляет от необходимости применять стабилизатор на +3.3 В. Если у вас образец BME280 на напряжение +3.3 В, то добавьте для него стабилизатор на требуемое напряжение.

    Внешнее питание +5В подаётся на Ардуино через разъём USB-micro.

    Схема погодной станции v5.2.3
    Pic 1. Схема погодной станции v5.2.3

    Скетч

    Скетч имеет подробные пояснения, надеюсь будет легко понять как работает программа. Основа скетча – предыдущие разработки и опыты по использованию датчиков BME280 и DS1820.

    Последняя версия скетча – v5.2.6 от 2025-03-22. В ней сделана доработка и устранение некоторых неточностей и оптимизация кода.


    Реализация

    Конструкция этой версии собрана на монтажной односторонней плате размерами 50*70 мм. На неё установлены все модули и приклеен двухсторонним скотчем аккумулятор. Корпус придётся делать новый, однако, если у вас уже есть предыдущий вариант погодной станции версии от v3.16, то можно не изготавливать новый корпус, а перепрограммировать уже предыдущую версию, только потребуется в скетче произвести переключение кода на старую схему через комментирование определения.

         // Настоящая настройка скетча на новую плату
      092 #define NEW_CXEMA // Новая схема
      
         // Для настройки на старую плату v3.16-v3.18 сделать так:
      092 // #define NEW_CXEMA // Новая схема
    

    Собранная плата погодной станции. Дисплей установлен в разъём на плате.

    Погодная станция v5.2.3. Собранная плата
    Pic 2. Погодная станция v5.2.3. Собранная плата

    Ниже на фото дисплей снят и видно расположение модулей погодной станции: Arduino Pro Mini, датчик BME280, модуль заряда аккумулятора на TP4056, Повышающий преобразователь на МТ3608, разъём внешнего питания, три кнопки управления.

    Погодная станция v5.2.3. Дисплей снят
    Pic 3. Погодная станция v5.2.3. Дисплей снят

    Монтаж проводками на контакты монтажной платы. Так как это устройство единичное, то нет смысла делать печатную плату.

    Погодная станция v5.2.3. Вид нижней стороны платы
    Pic 4. Погодная станция v5.2.3. Вид нижней стороны платы

    На экране #1 выводятся все измеренные параметры: давление, высота, влажность и температуры.

    Погодная станция v5.2.3. Экран #1
    Pic 5. Погодная станция v5.2.3. Экран #1

    На экране #2 выводятся барограф – график изменения давления от времени, которое настраивается в меню настроек.

    Погодная станция v5.2.3. Экран #2 – Барограф
    Pic 6. Погодная станция v5.2.3. Экран #2 – Барограф

    В меню настроек выбранный параметр подсвечивается жёлтым цветом. Перемещение по пунктам настроек при кратком нажатии на кнопку MENU. Изменение параметра через кнопки MINUS – убавить и PLUS – прибавить. Если в первом параметре Mode установлен 0, то происходит автоматическая смена экранов с информацией.

    Погодная станция v5.2.3. Меню настроек
    Pic 7. Погодная станция v5.2.3. Меню настроек

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

    Погодная станция v5.2.3. Сравнительные размеры
    Pic 8. Погодная станция v5.2.3. Сравнительные размеры

    Аккумулятор от старого телефона. Ёмкость около 800 мАч. Для кратковременного использования хватает надолго, если нужна непрерывная работа длительно, то можно подключить к любой зарядке телефона с напряжением 5В.

    Погодная станция v5.2.3. Вид снизу на аккумулятор
    Pic 9. Погодная станция v5.2.3. Вид снизу на аккумулятор

    Погодная станция v5.2.3. Вид сбоку
    Pic 10. Погодная станция v5.2.3. Вид сбоку

    Погодная станция v5.2.3. Общий вид
    Pic 11. Погодная станция v5.2.3. Общий вид

    Погодная станция v5.2.3. Указательные этикетки
    Pic 12. Погодная станция v5.2.3. Указательные этикетки

    При включении погодной станции выводится заставка, на которой указывается название, автор, версия прошивки, дата прошивки.

    Погодная станция v5.2.3. Включение
    Pic 13. Погодная станция v5.2.3. Включение

    Если до включения погодной станции к ней подключен датчик DS18B20, то после начальной заставки выводится информация на подключенный DS18B20, а именно: чип, точность измерения, измеренная температура, из ROM - индивидуальная информация по датчику.

    Погодная станция v5.2.3. Включение
    Pic 14. Погодная станция v5.2.3. Включение

    При работе погодной станции от аккумулятора, в верхнем правом углу дисплея выводится пиктограмма батарейки и указывается текущее напряжение на аккумуляторе.

    Погодная станция v5.2.3. Работа от аккумулятора
    Pic 15. Погодная станция v5.2.3. Работа от аккумулятора

    Для полного завершения этой конструкции требуется изготовить корпус, однако для себя я продолжаю использовать предыдущую конструкцию со старой схемой.

    2025-03-22


    Приложение

    Используемые библиотеки и программы:

    На развитие сайта и проектов Arduino

    Ниже на форме выберите/укажите сумму и источник перевода:
        Кошелёк Ю-money или
        Карта банка: Visa, MasterCard, МИР, Alfa-bank


    Yoomoney.ru (Яндекс.Деньги)  
    9516

    Другим способом оказать помощь на развитие сайта.


    Заключение

    Проект закончен, те небольшие неточности, которые были выявленны во время эксплуатации погодной станции, были устранены. На данный момент проект считаю завершённым.



    Анатолий Беляев

    . Mr.ALB
    Предыдущая страница Страница 40 Далее