2021年4月23日更新:
我们已经扩展了这个如何,它现在包括在显示器上绘制形状和对象的部分,如何转换位图图像为OLED显示器,以及如何动画图像。
原文:
的覆盆子π皮科当涉及到数字显示时,有很多选择。我们可以使用LCD屏幕,输出到VGA / DVI或使用定制的屏幕如Pico显示或Pico Explorer基地的“诱导多能性”显示。但有时我们需要一个小而便宜的选择来完成任务。OLED像本教程中使用的0.96英寸模型这样的屏幕,使用MicroPython是很简单的,而且它们只需要几美元(或英镑),是项目的理想选择。
在本教程中,我们将学习如何通过I2C接口将OLED屏幕连接到Raspberry Pi Pico,然后我们将通过tonny编辑器安装MicroPython库,并学习如何使用它将文本写入显示。
OLED屏幕使用I2C协议与树莓派Pico接口。这意味着我们只需要。
- 运行MicroPython的树莓派Pico
- 4 x母对母跳线
- 一个I2C OLED屏幕128 x 64
如何将OLED屏幕连接到树莓皮皮
使用以下连接。
1.连接接地屏幕的任何GND在Pico(黑线)上。
2.连接VDD / VCC到3V3在Pico(红线)上。
3.连接SCK / SCL至I2C0 SCL(GP1,物理引脚2,橙色线)。
4.连接SDA到I2C0 SDA(GP0,物理引脚1,黄线)。
5.连接你的树莓派Pico到你的电脑并打开tonny应用程序。
在连接了硬件并打开了tonny之后,我们现在需要安装一个库,以便Python与屏幕通信。
6.点击Tools > Manage Packages为Python库打开tonny的包管理器。
7.输入“ssd1306”,然后点击“搜索PyPI”。
8.点击“micropython-ssd1306”在返回的结果中,然后点击安装.这将把库复制到Pico上的lib文件夹中。
9.单击“关闭”,返回主界面。
覆盆子皮皮的OLED屏幕编程
要将一行文本写入OLED屏幕,我们只需要六行MicroPython。
1.从机器库中,导入Pin和I2C类.它们用于与连接在Pico的GPIO上的OLED屏幕通信。
从机器进口引脚,I2C
2.导入OLED屏幕库.
从ssd1306导入SSD1306_I2C
3.创建一个对象i2c,其中存储了正在使用的I2C通道,在本例中为零,我们连接到的SDA和SCL引脚,最后是我们连接到OLED屏幕的频率。
i2c = i2c (0, sda =销(0),sci =销(1),频率= 400000)
4.创建一个对象,oled,将用于与OLED屏幕通信。它有三个参数,屏幕的宽度和高度(128 x 64像素)和I2C连接细节。
oled = SSD1306_I2C(128, 64, i2c)
5.写一行特克斯T到屏幕左上角,位置0,0。
oled。text("Tom's Hardware", 0,0)
6.最后使用show命令将输出呈现到屏幕上。
oled.show ()
最终的代码应该是这样的
from machine import Pin, I2C from ssd1306 import SSD1306_I2C I2C =I2C(0,sda=Pin(0), scl=Pin(1), freq=400000) oled = SSD1306_I2C(128, 64, I2C) oled。text("Tom's Hardware", 0,0) old .show()
7.保存并运行代码。和Thonny中的任何Python脚本一样,点击File >> Save,并将文件以oled-test.py的形式保存到Raspberry Pi Pico中。当准备好了,点击绿色播放按钮开始代码,你的文本将出现在OLED屏幕上。
用Pico在OLED屏幕上绘制简单形状
只需单个命令就可以将简单的形状和线路绘制到显示器上。每个命令都需要oled.show ()为了被人看到。注意,大多数这些方法都有一个颜色参数,但是在单色屏幕中,您总是会设置一个颜色为“1”(0表示像素关闭)。
- oled.pixel (x, y, c):在x,y位置绘制一个像素,并使用c设置像素的颜色,1被点亮,0被关闭。例子:
oled.pixel(10、10、1)
- oled.hline (x, y, w, c):从点x,y画一条水平线,宽度(w)以像素为单位,颜色(c)。例子:
oled.hline(2、3、4、1)
- oled.vline (x, y, h, c):从点x,y画一条垂直线,高度(h)以像素为单位,颜色(c)。例子:
OLED.VLINE(0,0,64,1)
- oled.line (x1, y1, x2, y2, 1):用颜色(c)从x1, y1点到x2, y2点画一条对角线。例子:
oled。行(0,0,128,64,1)
- oled.rect (x, y, w, h, c):绘制一个矩形,从点x.y开始,并设定宽度(w)和高度(h)。使用(c)设置像素的颜色。例如:
oled。矩形(0,0,64,32,1)
- oled.fill_rect (x, y, w, h, c):绘制一个从x.y点开始的填充矩形,并设置宽度(w)和高度(h)使用(c)来设置像素的颜色。例如:
oled。Fill_rect (0, 0, 64, 32, 1)
用Pico在OLED屏幕上显示图形
我们可以在屏幕上显示更多的文字。使用一种巧妙的技术,我们可以将JPEG图像转换为字节串。
我们将使用上面的代码作为工作的基础。因此,如果您还没有这样做,请将上面的最终代码复制并粘贴到tonny中。
1.导入framebuf库。这个库允许代码创建位图图像并在显示器上显示它们。
从机器导入Pin,从ssd1306导入SSD1306_I2C导入framebuf
2.创建一个新对象TH,它将存储组成图像的字节数组。现在将数组的内容保留为空,稍后我们将填充这个空白。
i2c= i2c (0,sda=Pin(0), scl=Pin(1), freq=400000) oled = SSD1306_I2C(128, 64, i2c) TH = bytearray()
3.创建一个对象FB,它将把图像加载到framebuffer中。我们传递bytearray对象的名称、图像的尺寸(64 x 64像素),然后将图像配置为1位的单色图像。
fb = framebuf。FrameBuffer (TH, 64年,64年,framebuf.MONO_HLSB)
4.清除屏幕,然后将图像移到屏幕上。然后使用show更新屏幕。位块将图像绘制到屏幕上,在这种情况下,它将64 x 64的图像放置在屏幕的死中心。其中32是水平(x)位置,0是垂直(y)位置。
oled.fill (0) oled.blit (fb, 32岁,0)oled.show ()
我们的对象TH目前没有图像要显示。为了创建图像的bytearray,我们首先需要一个合适的图像。屏幕的大小是128 × 64像素,但64 × 64像素的图像将非常适合屏幕的中心。图像必须为JPEG格式。
要将图像转换为bytearray,我们将使用Don Hui的(Novaspirit) img2bytearray python脚本。
1.下载ZIP压缩文件并将其解压缩到您的机器上。这将创建一个文件夹img2bytearray,用于存储Hui的Python文件。
2.将图像复制到img2bytearray文件夹。
3.打开命令提示符/终端窗口,导航到img2bytearray文件夹。
4.要转换图像,我们调用命令img2byteArray。我们需要提供三个额外参数。首先是图像文件的名称,然后是图像的尺寸,在本例中是64 × 64像素。
python3 img2bytearray.py YOUR-IMAGE.jpg 64 64
5.该命令输出一个字节流。复制b的文本'…'并将其粘贴到TH对象的括号中。
TH =中bytearray (b“…”)
最终的代码应该是这样的
从机器导入引脚,I2C来自SSD1306 Import SSD1306_I2C导入FrameBUF I2C = I2C(0,SDA = PIN(0),SCL = PIN(1),FREQ = 400000)OLED = SSD1306_I2C(128,44,I2C)TH = BYTEARRAY(b’...’) fb = framebuf.FrameBuffer(TH,64,64, framebuf.MONO_HLSB) oled.fill(0) oled.blit(fb,32,0) oled.show()
6.保存并运行代码。和Thonny中的任何Python脚本一样,点击File >> Save,并将文件以oled-test.py的形式保存到Raspberry Pi Pico中。当准备好了,点击绿色播放按钮开始代码,你的图像将出现在OLED屏幕上。
用Pico在OLED屏幕上动画图形
用OLED显示屏制作动画,就是移动或改变物体,给人一种移动的错觉。在上面的GIF中,你可以看到Tom 's Hardware hammer和logo在屏幕上滚动。为了实现这一点,我们使用了两个字节数组,分别用于hammer (TH)和logo (logo)。
同样,我们将在前面示例的代码基础上进行构建。
1.导入以前的代码库。
从机器导入Pin,从ssd1306导入SSD1306_I2C导入framebuf
2.设置OLED屏幕的I2C引脚。
i2c= i2c (0,sda=Pin(0), scl=Pin(1), freq=400000)
3.创建一个while True循环连续运行代码。
而真正的:
4.创建第TH字节数组.在那里,我们存储组成Tom 's Hardware hammer的字节。
TH =中bytearray (b \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 [P \ x00 \ x00 \ x00 \ x00 \ x00 \ x03 \ xad \ xec \ x0f \ x00 \ x00 \ x00 \ x00 \房车\ xb6 \ x1a \ x80 \ x00 \ x00 \ x00 \ x16 \ xdb [m \ x80 \ x00 \ x00 \ x00um \ xb5 \ xb6 \ x80 \ x00 \ x00 \ x00 [\ xb5n \ xdb \ x00 \ x00 \ x00 \ x01 \ xadW \ xb5m \ x80 \ x00 \ x00 \ x01w \ xed [\ xb6 \的混合体0 \ x00 \ x00 \ x03 \ xa8 \ x1a \ xec + \ x00 \ x00 \ x00 \ x05@ \ x17P \ x1d \ x00 \ x00 \ x00 \ x0e \ x00 \ r \ xb0 \ x06 \ x80 \ x00 \ x00 \ (\ x00 \ n \ xd0 \ x00 \ x00 \ x00 \ x00 \ (\ x00 \ x17的\ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00@ \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x1f \ xa0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ n \ xd0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ r“\ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x17 \ xb0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ n \ xd0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x1b ' \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ r \ xb0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x16 \ xa0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x0bp \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x1d \ xa0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ n \ xd0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x17p \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x1a \ xa0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ r \ xd0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x16 \ xb0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x1b ' \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ r \ xb0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x16 \ xd0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x1bp \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ r \ xa8 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x16 \ xb0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x1b ' \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x15 \ xb0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x1e \ xd0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x13p \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x1d\ xa8 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x16 \ xb0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x15 \ xd0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x1a \ xb8 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x17的\ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x1a \ xd8 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x17h \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x1a \ xb0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x1d \ xd8 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 + h \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x16 \ xb0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x1b \ xd8 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x16的\ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x0b \ xa0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 ')
5.创建一个对象FB,它将把图像加载到framebuffer中,然后清除屏幕。我们传递bytearray对象的名称、图像的尺寸(64 x 64像素),然后将图像配置为1位的单色图像。
fb = framebuf。FrameBuffer (TH, 64年,64年,framebuf.MONO_HLSB) oled.fill (0)
6.使用范围从-64到128的for循环来创建锤子的基本滑动动画。负值将锤子隐藏在屏幕的左边,从左到右缓慢地滚动锤子,直到它超出了可见范围。通过改变里面“i”的值oled.blit ()我们创造了运动的错觉。
For I in range(- 64128): oled.blit(fb, I,0) oled.show()
7.为Tom 's Hardware标识创建一个新的bytearray。
LOGO =字节组(B'\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00\ X00 \ X00 \X00\x00\x00\x00\x01\x800\xc0\xc7\xf8~0\xc3\x0c\x1f\x87\xf8\x0c\x00\x00\x01\x800\xc1\xcf\xec\x7f0\xc7\x1c\x1f\xc7\xf8\x0c\x00\x00\x01\x800\xc1\xc1\x8ec\x99\xc6\x1c\x18\xe6\x00\x0c\x0c&`\x180\xc3\xe0\x06a\x99\xe6\x1e\x18f\x00\x1f>\x7f\xf8~0\xc3a\x8ea\x99\xe66\x18f\x00\x0cws\x98d?\xc3a\xbca\x99\xee6\x1f\xc7\xf0\x0ccs\x98`?\xc61\xb8a\x8fs\x18|0\xcc\x1d\x86|\x06\x18\xc1\xd8g\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
8.创建一个对象FB,它将把图像加载到framebuffer中,然后清除屏幕。我们传递bytearray对象的名称、图像的尺寸(128 x 64像素),然后将图像配置为1位的单色图像。
fb = framebuf。FrameBuffer(标志,128,64,framebuf.MONO_HLSB)
9.剩下的代码基本上和之前一样,唯一的区别是for循环的范围更改为-128到128,以适应更大的Tom 's Hardware标志在屏幕上滚动。
OLED.FEX(0)在范围内(-128,128):OLED.BLIT(FB,I,0)OLED.SHOW()
您的代码应该如下所示
从机进口引脚,从ssd1306进口SSD1306_I2C进口framebuf I2C = I2C(0,SDA =引脚(0),SCL =引脚(1),频率= 40万)OLED = SSD1306_I2C(128,64,I2C),而真正的I2C:TH=字节组(b'\ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 [P \ X00 \ X00 \ X00 \ X00 \ X00 \ X03 \ XAD \ XEC \ X0F \ X00 \ X00 \X00\x00\rv\xb6\x1a\x80\x00\x00\x00\x16\xdb[m\x80\x00\x00\x00um\xb5\xb6\x80\x00\x00\x00[\xb5n\xdb\x00\x00\x00\x01\xadW\xb5m\x80\x00\x00\x01w\xed[\xb6\x80\x00\x00\x03\xa8\x1a\xec+\x00\x00\x00\x05@\x17P\x1d\x00\x00\x00\x0e\x00\r\xb0\x06\x80\x00\x00\x08\x00\n\xd0\x00\x00\x00\x00\x08\x00\x17`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x1f\xa0\x00\x00\x00\x00\x00\x00\n\xd0\x00\x00\x00\x00\x00\x00\r`\x00\x00\x00\x00\x00\x00\x17\xb0\x00\x00\x00\x00\x00\x00\n\xd0\x00\x00\x00\x00\x00\x00\x1b`\x00\x00\x00\x00\x00\x00\r\xb0\x00\x00\x00\x00\x00\x00\x16\xa0\x00\x00\x00\x00\x00\x00\x0bp\x00\x00\x00\x00\x00\x00\x1d\xa0\x00\x00\x00\x00\x00\x00\n\xd0\x00\x00\x00\x00\x00\x00\x17p\x00\x00\x00\x00\x00\x00\x1a\xa0\x00\x00\x00\x00\x00\x00\r\xd0\x00\x00\x00\x00\x00\x00\x16\xb0\x00\x00\x00\x00\x00\x00\x1b`\x00\x00\x00\x00\x00\x00\r\xb0\x00\x00\x00\x00\x00\x00\x16\xd0\x00\x00\x00\x00\x00\x00\x1bp\x00\x00\x00\x00\x00\x00\r\xa8\x00\x00\x00\x00\x00\x00\x16\xb0\x00\x00\x00\x00\x00\x00\x1b`\x00\x00\x00\x00\x00\x00\x15\xb0\x00\x00\x00\x00\x00\x00\x1e\xd0\x00\x00\x00\x00\x00\x00\x13p\x00\x00\x00\x00\x00\x00\x1d\xa8\x00\x00\x00\x00\x00\x00\x16\xb0\x00\x00\x00\x00\x00\x00\x15\xd0\x00\x00\x00\x00\x00\x00\x1a\xb8\x00\x00\x00\x00\x00\x00\x17`\x00\x00\x00\x00\x00\x00\x1a\xd8\x00\x00\x00\x00\x00\x00\x17h\x00\x00\x00\x00\x00\x00\x1a\xb0\x00\x00\x00\x00\x00\x00\x1d\xd8\x00\x00\x00\x00\x00\x00+h\x00\x00\x00\x00\x00\x00\x16\xb0\x00\x00\x00\x00\x00\x00\x1b\xd8\x00\x00\x00\x00\x00\x00\x16`\x00\x00\x00\x00\x00\x00\x0b\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') fb = framebuf.FrameBuffer(TH,64,64, framebuf.MONO_HLSB) oled.fill(0) for i in range(-64,128): oled.blit(fb,i,0) oled.show() LOGO = bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x800\xc0\xc7\xf8~0\xc3\x0c\x1f\x87\xf8\x0c\x00\x00\x01\x800\xc1\xcf\xec\x7f0\xc7\x1c\x1f\xc7\xf8\x0c\x00\x00\x01\x800\xc1\xc1\x8ec\x99\xc6\x1c\x18\xe6\x00\x0c\x0c&`\x180\xc3\xe0\x06a\x99\xe6\x1e\x18f\x00\x1f>\x7f\xf8~0\xc3a\x8ea\x99\xe66\x18f\x00\x0cws\x98d?\xc3a\xbca\x99\xee6\x1f\xc7\xf0\x0ccs\x98`?\xc61\xb8a\x8fs\x18|0\xcc\x1d\x86|\x06\x18\xc1\xd8g\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') fb = framebuf.FrameBuffer(LOGO,128,64, framebuf.MONO_HLSB) oled.fill(0) for i in range(-128,128): oled.blit(fb,i,0) oled.show()
保存并运行代码。和Thonny中的任何Python脚本一样,点击File >> Save,并将文件以oled-test.py的形式保存到Raspberry Pi Pico中。当准备好了,点击绿色播放按钮开始代码和你的动画将滚动到OLED屏幕。