又入手了一个ESP32的开发板,主要是便宜,四舍五入约等于不要钱,哈哈,再配上一个0.91寸的OLED,马上就能看见程序输出的内容,十分激动!赶紧copy一个代码过来学习下,毕竟自己是肯定研究不出来的,哈哈哈,但是并不是无脑copy,每次都会根据自己的实际情况修改下,消化吸收后自己以后也能照猫画虎的用一用了。
在这记录一下,总算是能显示出来了,做的这些东西都十分鸡肋,主要就是学习过程,哈哈哈!
import machine
from machine import Pin, I2C, RTC,Timer
from ssd1306 import SSD1306_I2C
week = ['Monday', 'Tuesday', 'Wednesay', 'Thursday', 'Friday', 'Saturday', 'Sunday']
time_list = ['', '', '']
i2c = machine.SoftI2C(sda=Pin(23), scl=Pin(19))
oled = SSD1306_I2C(128, 32, i2c, addr=0x3c)
rtc = RTC()
if rtc.datetime()[0] != 2022:
rtc.datetime()
def RTC_Run(tim):
datetime = rtc.datetime() # 获取当前时间
oled.fill(0) # 清屏显示黑色背景
oled.text('CLOCK!',0,0)
oled.text(str(datetime[0]) + '-' + str(datetime[1]) + '-' +
str(datetime[2]) + '' + week[datetime[3]], 0, 12)
# 显示时间需要判断时、分、秒的值否小于 10,如果小于 10,则在显示前面补“0”以
# 达到较佳的显示效果
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, 25)
oled.show()
#开启 RTOS 定时器
tim = Timer(-1)
tim.init(period=300, mode=Timer.PERIODIC, callback=RTC_Run) #周期 300ms
版权声明:本文为CSDN博主「Micro Python」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/micro_python/article/details/122452166
暂无评论