ESP8266使用Micropython驱动SPI接口oled屏幕显示中文

  • A+
所属分类:micropython系列

最终效果

111020 1258 ESP8266Micr1 - ESP8266使用Micropython驱动SPI接口oled屏幕显示中文

上一篇文章我们学习了i2c接口的oled屏幕驱动显示英文,

https://www.qnjslm.com/ITHelp/1136.html

本次来学习SPI接口的oled屏幕驱动,并显示中文

本次使用的oled屏幕为SPI驱动方式,就是屏幕上有6针或者7针接口,

(多一针的区别是我们可不可以主动读取屏幕像素点内容,一般我们用不上)

 
 

一、提前准备:

10.96oled驱动屏幕,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格式

其他保持默认即可,然后点击确认

111020 1258 ESP8266Micr2 - ESP8266使用Micropython驱动SPI接口oled屏幕显示中文

 
 

在下方输入框中输入我们需要取模的字符,点击生成字模按钮,在下方生成字模数据,

111020 1258 ESP8266Micr3 - ESP8266使用Micropython驱动SPI接口oled屏幕显示中文

 
 

我们简单的处理下数据,每个文字生成一个列表,这里只简单演示下,

111020 1258 ESP8266Micr4 - ESP8266使用Micropython驱动SPI接口oled屏幕显示中文

 
 

 
 

第二部分,显示"小杜Lab"

取模设置我们不保持不变,字体宽度和高度我们设置为32像素

其他操作我们安装刚才的方式处理

111020 1258 ESP8266Micr5 - ESP8266使用Micropython驱动SPI接口oled屏幕显示中文

 
 

 
 

对取模的数据我们进行详细的拆解说明,通过excel进行画图演示,

列行模式:先取列的数据,然后取行的数据,,我们把1至8行看成1行(1个数据),就好理解了。从左向右依次取每列数据,取完下一行按照同样的方式进行。

顺序:从第8行向第1行依次进行取值, 最后得到的值为 01000000

111020 1258 ESP8266Micr6 - ESP8266使用Micropython驱动SPI接口oled屏幕显示中文

 
 

我们使用excel的条件格式对16*16的矩阵设置格式,如果值等于1,背景显示黑色,就能看到我们文字

111020 1258 ESP8266Micr7 - ESP8266使用Micropython驱动SPI接口oled屏幕显示中文

 
 

如果我们选择阳码,就是现在的1为0,0为1,我们通过条件格式简单看下效果

111020 1258 ESP8266Micr8 - ESP8266使用Micropython驱动SPI接口oled屏幕显示中文

 
 

最后编写代码,代码部分我就不多做说明了,代码中有详细的中文说明。大家可以慢慢查看。

文章中所有的工具和代码等,下载地址

https://github.com/dcl-lily/esp8266/tree/main/oled/video2

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

头像

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: