● 7.1. Подключение модуля DS3231 к плате Arduino MEGA. Вывод времени на экран дисплея

Опубликовано: 23.01.2018

Рассмотрим подключение модуля часов реального времени DS3231 к плате Arduino MEGA.  Используем выводы Arduino MEGA 20 (SDA) и 21(SCL).
Схема соединений представлена на рис. 7.2.


 
Рис. 7.2. Схема подключения модуля DS3231 к плате Arduino MEGA

Сначала добавим вывод времени на экран дисплея (главное меню). Для программирования нам понадобятся Arduino-библиотеки Wire (встроенная в Arduino IDE), Time и DS1307RTC. В цикле будем получать данные о текущем времени (часы, минуты) с модуля DS3231 и выводить на экран дисплея.
Вносим дополнительный код в скетч. Подключаем библиотеки:

#include
#include
#include

Создаем переменную
tmElements_t tm;
Добавляем в скетч переменную для периодичности опроса модуоя RTC:
unsigned long millis3231;
И в основной цикл loop() добавляем код получения данных времени и вывода на экран дисплея (см. листинг 7.1).
Листинг 7.1

void loop() {   
   …………
  // показания RTC
  if(millis()-millisds3231 >= 5000 && screen==0) {
     set_display_data_RTC(BLACK);
     RTC.read(tm);
     set_display_data_RTC(MAGENTA);  // вывод на дисплей
     millisds3231=millis();
  }
……..
}
Процедура set_display_data_RTC() расположена в файле display.ino.
// вывести текущее значение для RTC
void set_display_data_RTC(unsigned int color) {
   tft.setTextSize(2);
   tft.setTextColor(color);  
   tft.setCursor(80, 50);
   if(tm.Hour<10)
      tft.print("0");
   tft.print(tm.Hour);
   tft.print(":");
   if(tm.Minute<10)
      tft.print("0");
   tft.print(tm.Minute);
 }



После загрузки скетча на плату Arduino на экране отображается реальное время, получаемое с модуля DS3231 (см. рис. 7.3).
 


Рис. 7.3. Вывод текущего времени на экран дисплея

Скачать данный скетч можно на сайте www.arduino-kit.ru по ссылке.

Главное меню

Каталог

Полезные ссылки

Цена
от
до