JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

Raspberry Pi Pico CircuitPython OLED表示テスト

2022-04-25 17:37:35 | Raspberry Pi Pico
 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で全画面白になります。

 ブレッドボードです。


最新の画像もっと見る

コメントを投稿