Новгородское Вече радиолюбителей

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: Часы-метеостанция на Ардуино и графическом индикаторе  (Прочитано 159 раз)

RN1TU Александр

  • Модератор
  • Ветеран
  • *****
  • Карма: +12/-0
  • Оффлайн Оффлайн
  • Сообщений: 316

В процессе баловства с Ардуинкой иногда появляются и законченные проекты.
Вот например, я сделал вполне себе рабочую версию часов-метеостанции. Что было целью? Использовать валяющийся без дела китайский графический индикатор, Поиграться с датчиком давления, а заодно применить его с пользой. Вспомнить основы программирования, которые когда-то были успешно подзабыты.
Ну а на выходе получились часы, которые можно использовать, например, для рыбалки (прогноз изменения давления).
Реализация ни в какой мере не претендует на идеальную. Делал для себя и использовал самые простые варианты решения поставленной задачи. Из явных минусов можно отметить необходимость установки часов программным методом по команде с терминала или при подключении к компьютеру, что снижает точность. Можно ввести кнопки и корректировать вручную, но пока я поленился ;)  Скетч выложу здесь. Если хотите, то используйте в своих конструкциях, изменяйте как хотите.
Да и вообще доведите до совершенства ;)
Сам скетч я постарался хорошо задокументировать.
Записан

RN1TU Александр

  • Модератор
  • Ветеран
  • *****
  • Карма: +12/-0
  • Оффлайн Оффлайн
  • Сообщений: 316

Для установки часов реального времени используйте пример, входящий в библиотеку iarduino_RTC . Сам модуль часов необходимо доработать, поскольку изначально он должен работать от аккумулятора. Такая доработка хорошо известна в Интернете. Выпаиваются диод и один резистор. Можно выпаять также светодиод и его резистор, но уже необязательно. Ну, например, сделать как здесь https://mysku.ru/blog/aliexpress/38678.html
Библиотека модуля BMP280 должна быть доработана, поскольку фирменный и китайский модули отличаются адресом I2C. В прицепе уже доработанная библиотека.
Подключение индикатора выполнил как на сайте iarduino 
https://iarduino.ru/shop/Displei/lcd-128x64-graficheskiy-siniy-cvet-podsvetki.html
Ссылка на необходимую для индикатора библиотеку U8glib (довольно большая)
https://iarduino.ru/file/300.html
Записан

RN1TU Александр

  • Модератор
  • Ветеран
  • *****
  • Карма: +12/-0
  • Оффлайн Оффлайн
  • Сообщений: 316

Использованные модули:
1. Arduino UNO
2. Индикатор графический 12864ZW
3. Часы реального времени DS3231
4. Модуль измерения давления и температуры BMP280

Собственно прошивка состоит из двух этапов:
- прошиваем скетч из примера для библиотеки  iarduino_RTC и устанавливаем часы реального времени
- прошиваем скетч часов
 
Отображение знака изменения давления наступит через час с небольшим. Обусловлено использованным методом измерения. Я не усреднял значения, а использовал большой временной промежуток. Кстати, работает как по мне, неплохо. Мне было нужно отобразить общую тенденцию в течение суток. Кстати график не рисовал по той же причине. Ну если кому-то не подойдет, то внесите изменения в подпрограмму и все.

Что в планах? Подключить к Интернету по Wi-Fi (для корректировки времени), затем подключить выносной датчик температуры.
Записан
 

SimplePortal 2.3.5 © 2008-2012, SimplePortal