ラズパイで1.3インチのCS無し液晶を使う【2021】(Kernel5.4版)

 以前の記事ラズパイに小さいLCDを付けてデスクトップを表示するで紹介した1.3インチの小さい液晶を使う方法ですが、RaspberryPi OSのカーネルが5.4にバージョンアップしたため記事の手順が使えなくなりました。2021/1現在デスクトップを表示する方法はまだ分かっていませんが、Pythonを使って画像を表示するというところまではできたので紹介します。

1.3インチの液晶(CS端子なし)

 この記事で紹介するのは、AmazonやAliExpressにて格安で売っている1.3インチの液晶です。小さいながらも解像度が240×240あるため様々なところで利用できます。SPI接続で利用するのですが、CS端子無いので他の液晶と使い方が異なります。(SPIモード3を利用する。)

接続について

 今回は、GoogleAIYVoiceKitV2付属のVoiceBonnet上に付けたためピンは下記のように配置しました。RST(RESET),DC,BLK(LED Backlight)は変更可能です。

LCDのピンGPIO
(GPIO番号)
PinNo
(40ピンの番号)
備考
GNDGND20
VCC3.3v17
SDLGPIO1123SCLK
SDAGPIO1019MOSI
RESGPIO2216変更可
DCGPIO2418変更可
BLKGPIO2522変更可

Pythonから利用する

 試行錯誤と検索を繰り返してやっと下記の「あっきぃ日誌」に辿り着きました。Pinomoriの1.3インチの液晶について書かれています。しかし、Pinomoriの液晶はCS端子が付いているため、今回使っているCS端子の無い液晶の場合ST7789ライブラリに手を加える必要があります。

 

ライブラリの変更点

 元のライブラリをForkして改変しました。変更点は下記のコミットを参照してください。コンストラクタのパラメーターにspi_modeを追加しただけです。

Fix for LCD without CS_PIN · mongonta0716/st7789-python@ff213de · GitHub

下記の手順でライブラリをインストールしサンプルを実行すると猫の画像が表示されます。

mkdir ~/GitRepos
cd ~/GitRepos
git clone https://github.com/mongonta0716/st7789-python
cd st7789-python/library
python setup.py build
sudo python setup.py install
cd ../examples
python image.py cat.jpg

Python3でも使用可能

 Python3でインストールすればPython3環境でも利用できました。

mkdir ~/GitRepos
cd ~/GitRepos
git clone https://github.com/mongonta0716/st7789-python
cd st7789-python/library
python3 setup.py build
sudo python3 setup.py install
cd ../examples
python3 image.py cat.jpg

デスクトップの表示について

 参考にさせていただいたあっきぃ日誌に詳細が書いてありますが、Kernel5.4で重要な変更があったにもかかわらず、モジュールfbtftとfbcp_deviceは動かず削除されてしまったため、別の対応が必要なようです。多分DeviceTreeを使う方法だと思うのですが、もうちょっと調べてみてからやろうと思います。

コメントを残す

メールアドレスが公開されることはありません。