咸鱼ZTMR实例—OLED显示RTC

71 篇文章 7 订阅

咸鱼ZTMR实例—OLED显示RTC

OLED是很常用的电子元件,它体积小、接口简单、功耗低、显示 效果好,因此在DIY、创客制作、电子竞赛中得到广泛应用。
现在常用的OLED模块有SPI和I2C两种接口,它们的功能相同,只是接口方式有些不一样。SPI有6线和7线两种,而I2C接口只使用了4根线,使用上更加方便。下面以I2C接口的OLED和ZTMS开发板为例进行介绍,SPI接口的使用方法相同,只是在程序中定义接口时改为SPI 方式。

主控板:ZTMR开发板

0.96oled屏幕
在这里插入图片描述

使用RTC
from pyb import RTC  #定义对象
rtc.datetime([datetimetuple]'''datetimetuple格式:(year,month,day,weekday,hours,minutes,seconds,subseconds)
   weekday:周一至周日7天
   subsecond:255~0
'''

在这里插入图片描述

示例代码

ssd1306下载

# main.py -- put your code here!
# 导入相关模块
from pyb import RTC
from machine import Pin, I2C
#ssd1306库需要在下载并和main.py保持相同路径 
from ssd1306 import SSD1306_I2C
# 定义星期和时间(时分秒)显示字符列表
week = ['Mon', 'Tues', 'Wed', 'Thur', 'Fri', 'Sat', 'Sun']
time = ['', '', '']
# 初始化所有相关对象
i2c=I2C(sda=Pin("X2"),scl=Pin("X1")) 
oled=SSD1306_I2C(128,64,i2c,addr=0x3c)
rtc = RTC()
rtc = init()

# 默认时间(2020年5月12日周二09:25:00)
if rtc.datetime()[0]!=2020:
	rtc.datetime((2020, 05, 12, 2, 9, 25, 0, 0))
while True:
	t = rtc.datetime() # 获取当前时间
	oled.fill(0) # 清屏显示黑色背景
	oled.text('mizhixianyu', 0, 0) 
	oled.text('RTC  shiyan', 0, 12) 
	# 显示日期,字符串可以直接用“+”来连接
	oled.text(str(t[0]) + '-' + str(t[1]) + '-' + 
	str(t[2]) + ' ' + week[(t[3] - 1)], 0, 40)
	# 显示时间需要判断时、分、秒的值否小于 10,如果小于 10,则在显示前面补“0”以 #达
	# 到较佳的显示效果
	for i in range(4, 7):
		if t[i] < 10:
			time[i - 4] = "0"
		else:
			time[i - 4] = ""
	# 显示时间
	oled.text(time[0] + str(t[4]) + ':' + time[1] + 
	str(t[5]) + ':' + time[2] + str(t[6]), 0, 55)
	oled.show()
	pyb.delay(300)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鱼桨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值