本記事の内容
Seeeduino xiao RP2040にI2C通信で「128×64 OLED LCDディスプレイSSD1306液晶」を接続させて、任意の文字を表示させる方法をまとめました。
Seeeduino xiaoで2系統のI2C通信を実行して、BMP180で温度気圧取得、SSD1306液晶に表示させる方法は、以下の記事を参考にしてください。
必要なもの
- Seeeduino xiao RP2040
- KeeYees OLEDディスプレイモジュール SSD1306
今回は画面に任意の文字を表示させるだけなので、必要なものがシンプルです。
created by Rinker
¥2,632
(2024/10/06 22:45:18時点 楽天市場調べ-詳細)
配線
最初に、Seeeduino xiao RP2040のピン配置図を掲載します。こちらはwikiの情報に加えて、当ブログで確かめた内容(ADC、I2C_0)も付記しています。
配線図は以下の通りです。今回はWiki推奨のI2C_1系統でOLEDディスプレイと接続させています。
プログラムコード
こちらは、Seeeduino xiao RP2040のWikiにも掲載されている公式の方法になります。
ssd1306.pyのアップロード
ssd1306.pyはSeeeduino xiaoの公式ページの赤四角からダウンロードできます。ダウンロードしたら、Thonny IDEで該当ファイルを開き、「Upload to /」でアップロードします。
メインコードの作成
メインコードでは、4・5行目でI2Cを実行させて、display.text()の中に表示させたい文字列を記載します。
from machine import I2C, Pin
from ssd1306 import SSD1306_I2C
from utime import sleep
i2c = I2C(1, scl=Pin(7), sda=Pin(6), freq=200000)
display = SSD1306_I2C(128, 64, i2c)
while True:
display.fill(0)
display.fill_rect(0, 0, 32, 32, 1)
display.fill_rect(2, 2, 28, 28, 0)
display.vline(9, 8, 22, 1)
display.vline(16, 2, 22, 1)
display.vline(23, 8, 22, 1)
display.fill_rect(26, 24, 2, 4, 1)
display.text('MicroPython', 40, 0, 1)
display.text('SSD1306', 40, 12, 1)
display.text('OLED 128x64', 40, 24, 1)
display.show()
display.textの中身は、x座標、y座標、表示色を指定しています。
display.text('Hello World', 0, 0, 1) # x=0, y=0, colour=1 でテキストを描画
その他、線や長方形の描写方法は、MicroPythonの公式サイトを参考にしてください。
実行結果とまとめ
今回は全体をコンパクトにまとめるため、ミニブレッドボード上で組み立てました。余裕があればGroveシールドを用いて、リポ電池によるバッテリー駆動でも遊べます。
コメント