#include <Wire.h>
#include <DS1302.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_SPIDevice.h>
#define OLED_MOSI 11
#define OLED_CLK 13
#define OLED_DC 9
#define OLED_CS 10
#define OLED_RESET 8
DS1302 rtc(2, 3, 4);
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
void getdateTime()
{
display.println(rtc.getDateStr(FORMAT_LONG, FORMAT_MIDDLEENDIAN, '/'));
display.print(rtc.getDOWStr());
display.print(" ");
display.println(rtc.getTimeStr());
}
void setup() {
display.begin(SSD1306_SWITCHCAPVCC);
display.display();
// 设置时间后, 需要注释掉设置时间的代码,并重新烧录一次. 以免掉电重新执行setup中的时间设置函数.
rtc.halt(false);
rtc.writeProtect(false);
rtc.setDOW(MONDAY);
rtc.setTime(21, 36, 00);
rtc.setDate(30, 11, 2020);
rtc.writeProtect(true);
delay(1000);
}
void loop()
{
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(20,10);
display.clearDisplay();
getdateTime();
display.display();
delay(1000);
}
Arduino学习之万年历
最新推荐文章于 2024-03-18 09:19:59 发布