Если вы ищете способ отображать точное время на своем проекте на базе микроконтроллера, то вам понадобятся надежные компоненты. Одним из лучших вариантов является комбинация модуля RTC (реального времени) DS3231 и семисегментного дисплея TM1637.
DS3231 — это модуль RTC, который обеспечивает точное время благодаря встроенному кристаллу кварца. Он может работать в автономном режиме, что делает его идеальным выбором для проектов, где отсутствует подключение к сети. TM1637, с другой стороны, является семисегментным дисплеем, который может отображать цифры и буквы, что делает его идеальным для отображения времени.
Настройка точного времени с помощью DS3231
Для начала работы с модулем DS3231 важно правильно подключить его к плате Ардуино. Подключите VCC к питанию 3.3 В, GND к земле, SDA к пину SDA микроконтроллера и SCL к пину SCL.
После подключения, чтобы начать использовать модуль, включите библиотеку DS3231 в вашей среде разработки. Затем создайте экземпляр класса RTC_DS3231 и инициализируйте его:
cpp
#include
DS3231 clock;
Чтобы получить текущее время, вызовите метод now() экземпляра класса:
cpp
DateTime now = clock.now();
Если вы хотите настроить время на модуле DS3231, сначала получите текущее время с помощью now(), затем измените его и сохраните с помощью setDate() и setTime():
cpp
now.year(2022);
now.month(12);
now.day(31);
now.hour(12);
now.minute(30);
now.second(0);
clock.setDate(now);
clock.setTime(now);
После настройки времени, модуль DS3231 будет поддерживать его точность в течение длительного времени, даже при отключении питания.
Отображение времени на дисплее TM1637
Для отображения времени на дисплее TM1637, вам понадобится подключить его к вашей плате Arduino и правильно инициализировать. Дисплей TM1637 состоит из четырех сегментов, каждый из которых может отображать цифру или символ.
Первым шагом является подключение дисплея к вашей плате Arduino. Подключите данные (DIO) и часы (CLK) пины дисплея к цифровым пинам вашей платы Arduino. Также подключите питание (VCC) и землю (GND) пины дисплея к соответствующим пинам на вашей плате Arduino.
После подключения дисплея, вам нужно инициализировать его в коде Arduino. Используйте библиотеку TM1637, чтобы инициализировать дисплей и установить яркость. Вот пример кода для инициализации дисплея:
cpp
#include
#define CLK 2
#define DIO 3
TM1637 display(CLK, DIO);
void setup() {
display.setBrightness(0x0F); // Установите яркость дисплея (0-7)
display.showString(«00:00»); // Отобразите время на дисплее
}
void loop() {
// Ваш код здесь
}
После инициализации дисплея, вы можете отображать время на нем с помощью функции showString(). Функция принимает строку, состоящую из четырех символов, представляющих часы и минуты в формате «чч:мм». Например, чтобы отобразить время 12:34, вы можете использовать showString(«12:34»).
Важно отметить, что дисплей TM1637 отображает время в формате 24-часового времени. Если вы хотите отображать время в формате 12-часового времени, вам нужно будет добавить код для преобразования времени перед отображением на дисплее.
Наконец, если вы хотите обновить время на дисплее в реальном времени, вам нужно будет использовать функцию showString() в цикле loop() и обновлять время в соответствии с текущим временем. Например, вы можете использовать функцию millis() для измерения времени и обновить время на дисплее каждые несколько секунд.

