[Micropython]TPYBoard v202 控制OLED液晶显示屏
版权声明:翻译整理属于TPYBoard,转载时请以超链接形式标明文章原始出处和作者信息及本声明
实验目的
1.学习在PC机系统中扩展简单I/O 接口的方法
2.进一步学习编制数据输出程序的设计方法
3.学习TPYBoard v202控制OLED显示字符
所需元器件
TPYBoard v202开发板一块
数据线一条
杜邦线若干
OLED液晶屏一块
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(已集成在屏中)。
OLED-SPI接口定义
GND | 电源地 |
VCC | 电源(2.8V~5.5V) |
D0/SCK | 时钟线 |
D1/SDA | 数据线 |
RES | 复位线 |
DC | 数据/命令 |
CS | 片选 |
接线示意图
TPYBoard v202 | OLED显示屏 |
GND | GND |
3.3V | VCC |
SCK | D0/SCK |
M0 | D1/SDA |
G4 | RES |
G5 | DC |
G16 | CS |
实物连接图
程序源码
# main.py -- put your code here! import machine from machine import Pin,I2C,SPI import ssd1306 import math import time spi = SPI(baudrate=10000000, polarity=1, phase=0, sck=Pin(14,Pin.OUT), mosi=Pin(13,Pin.OUT), miso=Pin(12)) display = ssd1306.SSD1306_SPI(128, 64, spi, Pin(5),Pin(4), Pin(16)) led_blue = machine.Pin(2, Pin.OUT) # 设置 GPIO2 为输出 led_blue.value(1) try: display.poweron() display.init_display() display.text('TPYBoard V202',1,1) display.text('Hi, TurnipSmart',1,16) display.text('I Love You',1,31) display.text('This is DNA!!',1,46) display.show() time.sleep(3) display.fill(0) #显示DNA for x in range(0, 128): display.pixel(x, 32+int(math.cos(x/64*math.pi)*30 +2), 1) display.pixel(x, 32+int(math.cos((x+64)/64*math.pi)*30+2), 1) display.show() except Exception as ex: led_blue.value(0) print('Unexpected error: {0}'.format(ex)) display.poweroff()