Галерея проектов
Любой проект можно открыть, запустить и сделать своей копией. У каждого примера есть разбор: что на схеме, какие библиотеки нужны и что делает код.
Настольные часы на OLED
Часы и экран на одной шине I2C: два устройства, два провода. Экран перерисовывается только когда сменилась секунда.
TimeLib и часы: кто кого сверяет
setSyncProvider: библиотека сама раз в пять минут спрашивает время у микросхемы. Одна строка вместо ручной сверки.
Будильник: раз в минуту
Будильник внутри микросхемы: она сама сравнивает время и поднимает признак. Плата может в это время спать.
Расписание: свет по часам
Включать нагрузку в заданные часы. Проверка написана так, чтобы работать и на промежутке через полночь.
Сеть как источник, часы как резерв
Сеть точнее, но её может не быть. Микросхема всегда на месте, но уходит. Правильная схема — сверять первым вторым.
Часы с мигающим двоеточием
Отдельного двоеточия у индикатора нет: это старший разряд второй цифры. Отсюда и способ им мигать.
Будни и выходные
День недели микросхема хранит отдельным регистром. Пример показывает, как на нём строить недельное расписание.
Журнал на карту с отметкой времени
Часы и карта вместе: каждая запись получает время, а не «столько-то миллисекунд с включения».
Метеостанция с журналом
Датчик, часы и карта вместе: раз в минуту строка в файл, имя файла — из даты.
Обратный отсчёт до срока
Разность двух моментов времени: RTClib считает её сама, и переносы через сутки и месяцы считать руками не надо.
Часы на семисегментном
Часы, минуты и секунды с мигающими точками. Точка — старший разряд байта, и включается она отдельно от цифры.
Часы целиком: сеть, резерв, настройки, конфиг
Все пять библиотек вместе: время из сети, резерв в микросхеме, счётчик сверок в NVS, настройки конфигом JSON, экран.
Яркость и ночной режим
Восемь ступеней яркости и настоящее гашение. Ночью индикатор в спальне светит как прожектор — отсюда и пример.
Температура из часов
У DS3231 внутри свой термометр — им микросхема поправляет ход кварца. Его можно читать и просто так.
Часы: поставить время и читать
Первое, с чего начинается любой скетч с часами: проверить, шли ли они, и поставить время только если нет.