micropython 驱动是如何实现的_ESP8266使用Micropytho

本次使用的oled屏幕为I2C驱动方式,就是屏幕上只有4针接口,最终效果图

micropython 驱动是如何实现的_ESP8266使用Micropytho

文章插图
提前准备:
1、oled驱动屏幕(3306)
2、板卡
3、杜邦线母到母需要4条
4、开发环境
一、屏幕介绍
GND 3.3v输入负极
VCC 3.3v输入正极
SCL 时钟
SDA 数据
micropython 驱动是如何实现的_ESP8266使用Micropytho

文章插图
二、开发板,
【micropython 驱动是如何实现的_ESP8266使用Micropytho】
micropython 驱动是如何实现的_ESP8266使用Micropytho

文章插图
三、杜邦线
micropython 驱动是如何实现的_ESP8266使用Micropytho

文章插图
四、连线方式
GND 接到开发板的G
VCC 接到开发板的3V
SCL 接到开发板的D5
SDA 接到开发板的D6
micropython 驱动是如何实现的_ESP8266使用Micropytho

文章插图
由于是测试环境,开发板直接用USB供电,
micropython 驱动是如何实现的_ESP8266使用Micropytho

文章插图
通过查看文档
micropython 驱动是如何实现的_ESP8266使用Micropytho

文章插图

micropython 驱动是如何实现的_ESP8266使用Micropytho

文章插图
通过上面的图可以得出
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.():
micropython 驱动是如何实现的_ESP8266使用Micropytho

文章插图
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()
micropython 驱动是如何实现的_ESP8266使用Micropytho

文章插图
效果: