aitendoの丸形液晶 M128GC9A01Aについて、前回、M5+UI FLOWで挑戦するも、失敗。
商品リンク:https://www.aitendo.com/product/20938
今度は、raspberry pi pico互換のRP2040-ZEROで挑戦する。
まずはSPI接続。
以下、スイッチサイエンスさんより画像を借用。
RP2040-ZEROのSPIは2系統あり、片方は裏面のパッドや左右のピンに点在してしまっているので、今回はSPI0を使い右側で固めて配線することにする。電源は左側固定で、さらにジャンパ使うのであまり意味はないが。
- GND → GND
- VCC → 3V3
- SCL → GP6/SPI0 SCK
- SDA → GP5/SPI0 TX
- RES → GP0
- DC → GP1
- CS → GP5/SPI0 CSn
- BLK → 未使用
試しては無いが、たぶん3, 4以外は任意のピンでよいとは思う。
ライブラリはこちら:https://github.com/russhughes/gc9a01py/tree/mainを使わせていただく。
libのgc9a01py.pyをダウンロードし、ThonnyでRP2040-ZEROのルートにこのライブラリのpyファイルを格納すればOK。
下図のように、デバイスのルート直下にファイルが表示されていれば大丈夫。これで、「import gc9a01py as GC9A01」というようにして呼び出せるようになる。
from machine import Pin, SPIimport gc9a01py as GC9A01# GC9A01初期化SPI_PORT = 0SPI_BAUDRATE = 60000000RESET_PIN = Pin(0, Pin.OUT)CS_PIN = Pin(5, Pin.OUT)DC_PIN = Pin(1, Pin.OUT)spi = SPI(SPI_PORT, baudrate=SPI_BAUDRATE, sck=Pin(6), mosi=Pin(7))tft = GC9A01.GC9A01(spi=spi, dc=DC_PIN, cs=CS_PIN, reset=RESET_PIN, backlight=None, rotation=0)tft.fill(GC9A01.RED)for i in range(240):tft.pixel(i, i, GC9A01.GREEN)tft.pixel(120, i, GC9A01.BLUE)tft.pixel(i, 120, GC9A01.WHITE)
これがうまく動くと、冒頭の画像のようになる。赤背景に、緑青白の線を引いただけ。
速度を気にするなら矩形や線描写のメソッドを使ったほうがいいはず。
以上。
0 件のコメント:
コメントを投稿