数字时钟,易于搭建
实时时钟https://www.laskakit.cz/arduino-rtc-hodiny-realneho-casu-ds3231-at24c32/
代码:
#include <Wire.h>
#include <RTClib.h>
#include <TM1637Display.h>
#define CLK 2
#define DIO 3
布尔型变量 alarmDone 初始值设为 false;
RTC_DS3231 rtc;
TM1637显示屏显示(时钟信号、数据输入信号);
void setup() {
pinMode(11, OUTPUT);
pinMode(4, INPUT_PULLUP);
无线模块初始化;
rtc.begin();
display.setBrightness(0x0f); // 亮度范围 0 - 15
// 时间设置
//rtc.adjust(DateTime(2025, 6, 11, 16, 29, 0)); // 2025年6月11日14:30:00
』
void loop() {
if (digitalRead(4) == HIGH) {
display.clear();
否则:
DateTime now = rtc.now();
int hours = now.hour();
int minutes = now.minute();
布尔型变量 noc 的值为 (小时数大于等于 20 或者小时数小于 6)。
if (noc) {
display.setBrightness(1); //夜间亮度设置
否则:
display.setBrightness(15); // 白天亮度设置为15
}
display.showNumberDecEx(小时 * 100 + 分钟, 0b11100000, 真);
延迟100毫秒;
if (小时 == 7 且 分钟 == 0) {
analogWrite(11, 250);
延迟70毫秒;
analogWrite(11, 0);
延迟100毫秒;
否则:
模拟写入(11, 0); // 报警信号
}
}
』
Etiketler
Model Kaynağı
