树莓派PICO-oled避坑指导
一、前文
注意:本教程使用的编辑器为Thonny,语言为micropython
案例将使用096英寸128x64的iicoled屏,库为ssd1306py
二、从零开始配置环境(对于新手玩家)
1.配置树莓派PICO
从官网下载UF2文件,按照教程按住PICO上的bootsel按键并与电脑连接,此时电脑会出现一个RPI-PR2的盘,将文件拖入,即可完成PICO的micropython的配置过程。
2.配置Thonny环境
官网下载Thonny,一路Next安装即可。界面菜单栏选择
运行->选择解释器->解释器->MicroPython(Raspberry pi PICO)->确定
如果你在接入树莓派PICO后能看到PICO文件目录,即完成项目的提前准备。
三、对树莓派PICO安装库
下载控制oled所需要的库,并在Thonny文件栏PC目录找到lib
文件夹,右键上载到PICO,
完成后可以在PICO的目录下看到lib文件夹
三、主程序
将oled的SCL与GP5连接,SDA与GP4连接。新建.py文件夹,写入主程序,点击运行按钮
import ssd1306py as lcd
#lcd.imit_i2c(SCL引脚,SDA引脚,宽,长,i2c控制器编号官方图给出)
lcd.init_i2c(5,4, 128, 64, 0)
lcd.text('font8x8', 0, 0, 8)
lcd.text('font16x16', 0, 20, 16)
lcd.text('font24x24', 0, 40, 24)
lcd.show()
务必保证接线正确,否则会提示OSError: [Errno 5] EIO
这里要特别注意:我们选择SDA和SCL引脚为GP4和GP5,而不
是GP0和GP1引脚,因为当你的PICO与电脑连接时,他们被UART0控制器所占用,Thonny会提示报错。
四、让PICO独立工作
如果你想要PICO离开电脑独立上电工作,你需要将主程序上载,并且主程序必须名为main.py,否则PICO无法识别运行
五、让oled显示中文
在这里我先给出程序,具体看程序中的注释
import ssd1306py as lcd
font16 = {
#这里的0xe4bda0为中文“你”的UTF-8字符编码
0xe4bda0:
#点阵编码16X16
[0x08, 0x08, 0x08, 0x11, 0x11, 0x32, 0x34, 0x50, 0x91, 0x11, 0x12, 0x12, 0x14,
0x10, 0x10, 0x10, 0x80, 0x80, 0x80, 0xFE, 0x02, 0x04, 0x20, 0x20, 0x28, 0x24, 0x24,
0x22, 0x22, 0x20, 0xA0, 0x40], #你
0xe5a5bd:
[0x10, 0x10, 0x10, 0x10, 0xFC, 0x24, 0x24, 0x25, 0x24, 0x48, 0x28, 0x10, 0x28,
0x44, 0x84, 0x00, 0x00, 0xFC, 0x04, 0x08, 0x10, 0x20, 0x20, 0xFE, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0xA0, 0x40] #好
}
lcd.init_i2c(5, 4, 128, 64, 0)
lcd.set_font(font16, 16)
lcd.text_cn('你好', 0, 0, 16)
lcd.show()
这里要注意:由于12864oled的工作特性,你需要在点阵取模软件PCtoLCD 2002进行一些设置
六、结尾
1.本为参考了知乎文章树莓派pico使用MicroPython驱动oled屏显示中文和英文 - 知乎 (zhihu.com)
2.本文若有欠缺或不足,恭听指教