# 导入相关模块
from machine import Pin, I2C, RTC,Timer
from ssd1306 import SSD1306_I2C
# 定义星期和时间(时分秒)显示字符列表
week = ['Mon', 'Tues', 'Wed', 'Thur', 'Fri', 'Sat', 'Sun']
time_list = ['', '', '']
i2c = I2C(sda=Pin(13), scl=Pin(14)) #I2C 初始化:sda-->13, scl -->14
oled = SSD1306_I2C(128, 64, i2c, addr=0x3c)
rtc = RTC()
if rtc.datetime()[0] != 2019:
rtc.datetime((2023, 11, 15, 4, 8, 19, 0, 0))
def RTC_Run(tim):
datetime = rtc.datetime()
oled.fill(0)
oled.text('01Studio', 0, 0)
oled.text('RTC Clock', 0, 15)
oled.text(str(datetime[0]) + '-' + str(datetime[1]) + '-' +
str(datetime[2]) + ' ' + week[datetime[3]], 0, 40)
for i in range(4, 7):
if datetime[i] < 10:
time_list[i - 4] = "0"
else:
time_list[i - 4] = ""
# 显示时间
oled.text(time_list[0] + str(datetime[4]) + ':' + time_list[1] +
str(datetime[5]) + ':' + time_list[2] + str(datetime[6]), 0, 55)
oled.show()
tim = Timer(-1)
tim.init(period=300, mode=Timer.PERIODIC, callback=RTC_Run) #周期 300ms
esp:VIN
esp:GND.2
esp:D13
esp:D12
esp:D14
esp:D27
esp:D26
esp:D25
esp:D33
esp:D32
esp:D35
esp:D34
esp:VN
esp:VP
esp:EN
esp:3V3
esp:GND.1
esp:D15
esp:D2
esp:D4
esp:RX2
esp:TX2
esp:D5
esp:D18
esp:D19
esp:D21
esp:RX0
esp:TX0
esp:D22
esp:D23
oled1:GND
oled1:VCC
oled1:SCL
oled1:SDA