基于Adafruit_SSD1306的ssd1306OLED局部刷新
刚好最近在做树莓派项目的时候用到了Adafruit_SSD1306模块来控制ssd1306主控的显示屏,发现模块并没有提供局部刷新的方法。看了源码后发现在display方法中用到了列指针和页指针,于是修改了一下,给添加了局部刷新的方法。
连接方式如图,图片源于网络,侵删!

import Adafruit_SSD1306
from Adafruit_SSD1306 import SSD1306_COLUMNADDR
from Adafruit_SSD1306 import SSD1306_PAGEADDR
from Adafruit_SSD1306 import SSD1306_128_64
from Adafruit_SSD1306 import SSD1306_128_32
class Mixin:
def image_local(self, image):
"""
仅去除了源代码中对大小的限制,添加了新的图片容器
"""
if image.mode != '1':
raise ValueError('Image must be in mode 1.')
imwidth, imheight = image.size
'''
if imwidth != self.width or imheight != self.height:
raise ValueError('Image must be same dimensions as display ({0}x{1}).' \
.format(self.width, self.height))
'''
# Grab all the pixels from the image, faster than getpixel.
pix = image.load()

本文介绍了如何在基于Adafruit_SSD1306库的ssd1306OLED显示项目中实现局部刷新功能。在查看源码并发现没有内置局部刷新选项后,作者通过设置列指针和页指针进行修改,成功添加了该功能。内容适用于树莓派等嵌入式项目。
最低0.47元/天 解锁文章
2627

被折叠的 条评论
为什么被折叠?



