7. [Micropython]TPYBoard F407 驱动OLED液晶屏

版权声明:翻译整理属于TPYBoard,转载时请以超链接形式标明文章原始出处和作者信息及本声明

7.1. 实验目的

  • 学习在PC机系统中扩展简单I/O 接口的方法。
  • 进一步学习编制数据输出程序的设计方法。
  • 学习 F407 Micropython开发板控制OLED显示字符。

7.2. 所需元器件

  • TPYBoard F407 Micropython开发板一块
  • 数据线一条
  • 杜邦线若干
  • OLED液晶屏一块

7.3. 什么是OLED显示屏

7.3.1. OLED显示屏简介

有机发光二极管(organic light-emitting diode,OLED)是一种由柯达公司开发并拥有专利的显示技术,这项技术使用有机聚合材料作为发光二极管中的半导体(semiconductor)材料。聚合材料可以是天然的,也可能是人工合成的,可能尺寸很大,也可能尺寸很小。其广泛运用于手机、数码摄像机、DVD机、个人数字助理(PDA)、笔记本电脑、汽车音响和电视。OLED显示器很薄很轻,因为它不使用背光。

本例中使用0.96 寸OLED显示屏,该屏具有高亮度,低功耗屏,显示颜色纯正,在阳光下有很好的可视效果。模块供电可以是3.3V 也可以是5V,不需要修改模块电路,同时兼容3种通信方式:4 线SPI、3线SPI、 IIC,通信模式的选择可以根据提供的BOM表进行跳选。该模块一共有三种颜色:蓝色、白色、黄蓝双色。OLED 屏具有多个控制指令,可以控制OLED 的亮度、对比度、开关升压电路等指令。操作方便,功能丰富。同时为了方便应用在产品上,预留4个M2 固定孔,方便用户固定在机壳上。0.96寸OLED显示屏的驱动芯片为:SSD1306(已集成在屏中)。

实际显示效果

http://old.tpyboard.com/document/documents/tb407/oled_1.png

7.3.2. OLED接口定义

GND 电源地
VCC 电源地(2.8V~5.5V)
DO 时钟线
DI 数据线
RES 复位线
DC 数据/命令
CS 片选

7.4. 硬件的接线方法

在这OLED需要SPI接口与TPYBoard F407 Micropython开发板进行连接传输数据,SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在这OLED需要SPI接口与TPYBoard F407 Micropython开发板自带两个SPI接口,本实验中我们用的开发板的SPI1接口。

7.5. 具体接线方法

OLED液晶屏 TPYBoardF407 开发板(SPI1)
GND GND
VCC 3v3
D0 X16
D1 X18
RES X35
DC X36
CS 悬空

7.6. 实物接线图

http://old.tpyboard.com/document/documents/tb407/oled_2.jpg

接线OK后,引入font_.py文件和ssd1306.py文件,再可运行main.py了。

7.7. 程序源代码

import pyb
from ssd1306 import SSD1306


display = SSD1306(pinout={'dc': 'X36',
                                                  'res': 'X35'},
                                  height=64,
                                  external_vcc=False)

led_red = pyb.LED(1)
led_red.off()
display.poweron()
display.init_display()
display.draw_text(1,1,'Hello EveryOne',size=1,space=1)
display.draw_text(1,10,'Micropython F407',size=1,space=1)
display.draw_text(1,20,'Let Us Do it',size=1,space=1)
# 显示出你想要显示的内容
display.display()