ESP8266使用Micropython驱动SPI接口oled屏幕显示中文
最终效果
上一篇文章我们学习了i2c接口的oled屏幕驱动显示英文,
https://www.qnjslm.com/ITHelp/1136.html
本次来学习SPI接口的oled屏幕驱动,并显示中文
本次使用的oled屏幕为SPI驱动方式,就是屏幕上有6针或者7针接口,
(多一针的区别是我们可不可以主动读取屏幕像素点内容,一般我们用不上)
一、提前准备:
1、0.96寸oled驱动屏幕,6针
2、esp8266开发板
3、母到母的杜邦线6条
4、micropython开发环境
5、ssd3306 驱动库文件(上个文章中已经说过如何下载)
二、屏幕介绍
从左向右依次为
GND 3.3v输入负极
VCC 3.3v输入正极
SCL 时钟 (部分屏幕上是D0)
SDA MOSI数据 (部分屏幕上是D1)
RST 硬件复位
D/C 数据命令
CS (7针屏幕上多的一针)
三、屏幕和开发板连线方式
屏幕 |
开发板 |
GPIO |
GND |
GND |
|
VCC |
3.3V |
|
SCL |
D5 |
14 |
SDA |
D6 |
12 |
RST |
D7 |
13 |
D/C |
D8 |
15 |
四、中文取模设置
由于这个oled显示屏没有中文字库,要显示中文需要使用外部手段把中文像素化,这里就需要使用到文字取模工具,这里使用LCD2002软件,
打开LCD2002软件,首现点击选项进行进行取模设置
第一部分 显示 "西瓜头条一点"的取模,
点阵格式 选择阴码
取模方式选 择列行式
取模走向 选择顺向
自定义格式选择C51格式
其他保持默认即可,然后点击确认
在下方输入框中输入我们需要取模的字符,点击生成字模按钮,在下方生成字模数据,
我们简单的处理下数据,每个文字生成一个列表,这里只简单演示下,
第二部分,显示"小杜Lab"
取模设置我们不保持不变,字体宽度和高度我们设置为32像素
其他操作我们安装刚才的方式处理
对取模的数据我们进行详细的拆解说明,通过excel进行画图演示,
列行模式:先取列的数据,然后取行的数据,,我们把1至8行看成1行(1个数据),就好理解了。从左向右依次取每列数据,取完下一行按照同样的方式进行。
顺序:从第8行向第1行依次进行取值, 最后得到的值为 01000000
我们使用excel的条件格式对16*16的矩阵设置格式,如果值等于1,背景显示黑色,就能看到我们文字
如果我们选择阳码,就是现在的1为0,0为1,我们通过条件格式简单看下效果
最后编写代码,代码部分我就不多做说明了,代码中有详细的中文说明。大家可以慢慢查看。
文章中所有的工具和代码等,下载地址
https://github.com/dcl-lily/esp8266/tree/main/oled/video2
- 本文标签: micropython系列
- 本文链接: http://www.iamlk.cn/article/108
- 版权声明: 本文由Leonidax原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权