本次使用的oled屏幕为I2C驱动方式,就是屏幕上只有4针接口,最终效果图
文章插图
提前准备:
1、oled驱动屏幕(3306)
2、板卡
3、杜邦线母到母需要4条
4、开发环境
一、屏幕介绍
GND 3.3v输入负极
VCC 3.3v输入正极
SCL 时钟
SDA 数据
文章插图
二、开发板,
【micropython 驱动是如何实现的_ESP8266使用Micropytho】
文章插图
三、杜邦线
文章插图
四、连线方式
GND 接到开发板的G
VCC 接到开发板的3V
SCL 接到开发板的D5
SDA 接到开发板的D6
文章插图
由于是测试环境,开发板直接用USB供电,
文章插图
通过查看文档
文章插图
文章插图
通过上面的图可以得出
D5对应的GPIO端口 是14 SDA
D6对应的GPIO端口为12 SCL
首现我们测试下I2C是否正常
>>>
>>> i2c = .I2C(scl=.Pin(12),sda=.Pin(14))
>>> i2c.scan()
如果有返回表示接线正常,可以进行后面的操作
注:如果没有返回,请检测连线是否正确,替换法确认屏幕是否是正常的 。
oled屏幕请一定注意正负极不要接反,以及电压3.3V,不然很容易把屏幕烧了 。
显示器驱动程序模块,网上已经有人提供,我们直接下载进行使用,地址
下载文件直接放到项目的根目录
先简单说下屏幕的分辨率,所谓的分辨率就是像素点 。
这次的屏幕是128*64分辨率,就是横向(X轴)有128个像素点,纵向(Y轴)有64个点,一共是128*64=8192个像素点 。我们点亮需要的像素点,就能成像出我们需要的
另外一个知识点:以Y轴八个像素点为单位写入,要细研究,就查看芯片手册 。
下面编写代码 。并刷入到开发板上fromPin, I2C
from
time
# 这一段是之前的配置网络
net = .WLAN(.)
if not net.():
文章插图
net.(True)
net.("Lily", "")
while not net.():
time.sleep(1)
#定义我们屏幕的两个接口
scl = Pin(12, Pin.OUT)
sda = Pin(14, Pin.OUT)
#初始化一个I2C对象,指定SCL 以及SDA脚
i2c = I2C(scl=scl, sda=sda)
#初始化一个对象,需要给定屏幕的尺寸,128*64
oled = (128, 64, i2c)
#清楚屏幕
oled.fill(0)
#第一行显示,x轴从0开始,y轴也是从0开始 。上面的知识我们说过了,这段话会占用8行
oled.text("Hello word", 0, 0)
#第二行显示,x还是从最左边显示,y轴从16开始,这里为了好看,空一直字符间距,
oled.text("this is Alex Labe", 0, 16)
#第三行显示IP,
oled.text(net.()[0], 0, 32)
#第四行显示,X轴从64开始,就是从中间开始显示,y轴从50开始,这里可以看出,这里不是8的倍数 。
#这样也是没问题的,就是屏幕内部会分两次写入内存而已,
oled.text("By Alex", 64, 50)
#开始显示屏幕
oled.show()
文章插图
效果:
- 东方朔是谁?揭历史上有没有东方朔这个人
- 夏桀皇后妺喜是谁:妺喜真的是狐妖吗
- 周武王的故事:周武王是什么时候登位的
- 历史是怎样评价胡亥的?秦始皇为何喜欢胡亥
- 聚星影城
- 宠物公园
- 建党是哪一年
- 济南酒店预订
- 东莞广之旅
- 意大利时间