Часы на Ардуино TM1637 и DS3231

0
5

Если вы ищете способ отображать точное время на своем проекте на базе микроконтроллера, то вам понадобятся надежные компоненты. Одним из лучших вариантов является комбинация модуля 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() для измерения времени и обновить время на дисплее каждые несколько секунд.

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь