2020年4月21日火曜日

ラズパイに安い1.3インチST-7789液晶を接続する

ケースもわしが作った

またしても「確かめてから買う」を怠ったために苦労しました。

えーと、Amazonで1.3インチ240x240ドットのカラー液晶がやけに安いです。なので、飛びついて買ったのですが、SPIに必須のはずのCS端子がありません。

ラズパイでこれを動かすには、いろいろ探したのですが……

端子名ラズパイPIN番号
GND20
VCC17
SCL23
SDA19
RES13
DC22
BLK18

上記のように接続し、こちらのライブラリを使います。

ラズパイでリポジトリをクローンし、
git clone https://github.com/solinnovay/Python_ST7789

cd Python_ST7789
sudo python setup.py build
sudo python setup.py install
cd examples/
python clock_EN.py 

これで画像がパラパラ表示された後、時計が動くはずです。

事前にpip install ST7789を実行したら別のライブラリが入ってしまってしばらく呻吟しました。



なお、例によってケースを3Dプリントで作りました。が、円錐形のピンに基板をぎゅっと押し込んで固定するというハラでしたが、基板を取り外すときに斜めに力がかかって折れました……やっぱり可撓性のあるツメとかじゃないとダメですね。

てへ。

【追記】冒頭の表示のまま8時間ほど放置していたら、表示が焼き付きました。OLEDと違って明日の朝までにはほとんどわからなくなっていると思いますけど、こういう特性のものだというのは把握しておいた方がいいかと思います。

【追記の追記】翌朝には消えていました。はい。


4 件のコメント:

  1. この液晶安いですよね、私も基板なし版で1枚160円で見つけて50枚買ってしまったので時間があるときに試してみようと思ってます。

    返信削除
    返信
    1. それは安いですね! 

      私は根性なしでかつ、フレキには恐怖に近い感情を抱いているので800円の基板付です。
      基板は付いているけどCSがないという……。

      削除
    2. 名前がうまく反映されないのでブログ作ってみました。
      CSなしでSPIのMODE3で制御しているようですね。
      DCがLowのときがコマンドでHiのときがデータを送ってる感じがします。
      早速試してみましたので良かったらまとめの方をどうぞ。

      https://syrtiss.blogspot.com/2020/05/st7789.html

      削除
    3. おおお、Twitterではいつもお見かけしております。いつもありがとうございます。

      なるほど、今回複数の液晶を接続して遊ぼうと思っているのですが、CSのかわりにDCを使ってパネルを切り替えることができそうな感じですね。ありがとうございます。

      最近、勤務先でググってもなんの情報も出てこないチップセットばかり扱っているので、趣味の世界では最初にぐぐってライブラリがあることを確認してから購入しています。堕落ですわ。

      堕落しておりますが、今後ともどうぞよろしくお願いします。

      削除

注: コメントを投稿できるのは、このブログのメンバーだけです。