当前位置:首页>技术支持>典型实例>[Micropython]TPYBoard v202 控制OLED液晶显示屏

[Micropython]TPYBoard v202 控制OLED液晶显示屏

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


实验目的


 1.学习在PC机系统中扩展简单I/O 接口的方法

 2.进一步学习编制数据输出程序的设计方法

 3.学习TPYBoard v202控制OLED显示字符


所需元器件


   TPYBoard v202开发板一块

   数据线一条

   杜邦线若干

 OLED液晶屏一块


OLED显示屏简介


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

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


OLED-SPI接口定义


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


接线示意图


TPYBoard v202OLED显示屏
GNDGND
3.3VVCC
SCKD0/SCK
M0D1/SDA
G4RES
G5DC
G16CS


实物连接图


1.jpg


程序源码


# 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.high()

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.low()
  print('Unexpected error: {0}'.format(ex))
  display.poweroff()


TPYBoard v202驱动oled程序.rar