树莓派PICO-oled避坑指导

一、前文

  注意:本教程使用的编辑器为Thonny,语言为micropython

  案例将使用096英寸128x64的iicoled屏,库为ssd1306py

树莓派 memory 树莓派pico_引脚

二、从零开始配置环境(对于新手玩家)

    1.配置树莓派PICO

官网下载UF2文件,按照教程按住PICO上的bootsel按键并与电脑连接,此时电脑会出现一个RPI-PR2的盘,将文件拖入,即可完成PICO的micropython的配置过程。

树莓派 memory 树莓派pico_树莓派 memory_02

2.配置Thonny环境

官网下载Thonny,一路Next安装即可。界面菜单栏选择

运行->选择解释器->解释器->MicroPython(Raspberry pi PICO)->确定

树莓派 memory 树莓派pico_树莓派_03

 

树莓派 memory 树莓派pico_java_04

如果你在接入树莓派PICO后能看到PICO文件目录,即完成项目的提前准备。

三、对树莓派PICO安装库

下载控制oled所需要的库,并在Thonny文件栏PC目录找到lib

文件夹,右键上载到PICO,

树莓派 memory 树莓派pico_引脚_05

 

树莓派 memory 树莓派pico_树莓派_06

完成后可以在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

树莓派 memory 树莓派pico_开发语言_07

 

树莓派 memory 树莓派pico_java_08

这里要特别注意:我们选择SDA和SCL引脚为GP4和GP5,而不

树莓派 memory 树莓派pico_树莓派_09

是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进行一些设置

树莓派 memory 树莓派pico_树莓派 memory_10

六、结尾

  1.本为参考了知乎文章树莓派pico使用MicroPython驱动oled屏显示中文和英文 - 知乎 (zhihu.com)

   2.本文若有欠缺或不足,恭听指教