Raspberry Pi Pico + CircuitPython + MuIDE環境でOLEDの表示テストをします。
接続回路図です。
OLEDは、I2C接続で,SCL=GP21,SDA=20としました。
まず、OLED表示用のライブラリをCircuitPythonのLibrariesダウンロードページからダウンロードします。赤丸で囲んだmpyファイルをダウンロードします。
zipファイルを解凍し、解凍したフォルダ内のlibフォルダから、
adafruit_ssd1306.mpy
adafruit_framebuf.mpy
をPico(CIRCUITPY)のlibフォルダにコピーします。
次に、解凍したフォルダ内のexamplesフォルダの中から
font5x8.binをPico(CIRCUITPY)のルートにコピーします。
これで、準備完了です。
スクリプトです。(code.py)
このライブラリ(ssd1306)は、文字と簡単なグラフィックスを描くことができます。
「Hello World!」と簡単なグラフィックスを表示し、左下に数字をカウントアップして表示します。
----------------------------------------------------------------
"""
Raspberry Pi Pico OLED test
2022.4.25
JH7UBC Keiji Hata
"""
import board
import busio
import time
# Import the SSD1306 module.
import adafruit_ssd1306
# Create the I2C interface.
i2c = busio.I2C(board.GP21, board.GP20)
oled = adafruit_ssd1306.SSD1306_I2C(128, 64, i2c)
#OLED clear
oled.fill(0)
#display rectangle and "Hello World!"
oled.rect(10,0,100,18,1)
oled.show()
oled.text("Hello World!",20,5,1)
oled.show()
oled.pixel(10,25,1)
oled.show()
oled.hline(30,30,20,1)
oled.show()
oled.vline(50,35,20,1)
oled.show()
oled.line(55,30,75,50,1)
oled.show()
oled.fill_rect(80,30,20,20,1)
oled.show()
n=0
while True:
oled.fill_rect(20,40,30,10,0)
oled.show()
oled.text(str(n),20,40,1)
oled.show()
n = n + 1
time.sleep(1)
----------------------------------------------------------------
文字表示とグラフィックスの説明です。
c=1で表示、c=0で消去です。
oled.text(" ",x,y,c) x,yを始点として文字を表示します。
oled.pixel(x,y,c) x,yにdotを表示します。
oled.hline(x,y,w,c) x,yを始点として長さwの水平な線を引きます。
oled.vline(x,y,h,c) x,yを始点として長さwの垂直な線を引きます。
oled.line(x1,y1,x2,y2,c) x1,y1からx2,y2まで線を引きます。
oled.rect(x,y,w,h,c) x,yを始点(左上)として、幅w、高さhの四角形を描きます。
oled.fill_rect (x,y,w,h,c) x,yを始点(左上)として、幅w、高さhの四角形を描き、中を塗りつぶします。
oled.fill(c) 画面全体をc色で塗りつぶします。つまり、c=0で全画面クリア、c=1で全画面白になります。
oled.hline(x,y,w,c) x,yを始点として長さwの水平な線を引きます。
oled.vline(x,y,h,c) x,yを始点として長さwの垂直な線を引きます。
oled.line(x1,y1,x2,y2,c) x1,y1からx2,y2まで線を引きます。
oled.rect(x,y,w,h,c) x,yを始点(左上)として、幅w、高さhの四角形を描きます。
oled.fill_rect (x,y,w,h,c) x,yを始点(左上)として、幅w、高さhの四角形を描き、中を塗りつぶします。
oled.fill(c) 画面全体をc色で塗りつぶします。つまり、c=0で全画面クリア、c=1で全画面白になります。
ブレッドボードです。
※コメント投稿者のブログIDはブログ作成者のみに通知されます