之前已经实现过了,把OLED当作一个状态显示器。但是,仅仅显示文字肯定是不够炫酷的,因为有屏幕的地方就应该有Bad Apple。
这次我们尝试一下把OLED播放一下 Bad Apple.
Bad Apple看似是一段视频,但是我们这么来想这个问题。视频打散成很多张图片,按照每秒12贞的播放,那不就是一个视频了么。
首先,我们来体验一次把图片展示在OLED上面,需要展示的图片要是pbm格式(PBM格式由Jef Poskanzer在20世纪80年代发明,为了便于通过电子邮件,用ASCII码表示单色位图,能够承受一般的文本格式的变动。)
from ssd1306 import SSD1306_I2C ,framebuf
from machine import Pin, SoftI2C
oled = None
class BadAppleOled:
def init_oled(self):
global oled
i2c = SoftI2C(sda=Pin(21), scl=Pin(22),freq=600000)
i2c.scan()
print(i2c)
oled = SSD1306_I2C(128, 64, i2c)
def show_pic(self):
global oled
show_pbm = '/data/pyamp/example/pbm/rangcha.pbm'
with open(show_pbm, 'rb') as f:
f.readline()
f.readline()
data = bytearray(f.read())