趣味のマイコンいじり

安価なマイコンを利用して作成したアプリの紹介です。

ESP8266::MicroPython 1.44/1.8インチ ST7735ディスプレイ表示

<MicroPythonでのST7735コントロール
      ESP8266のボード上でのMicroPythonのコードによるST7735のLCD
      表示を検討して見ました。コントロール用のライブラリモジュール
      としては、Arduinoのものを移植して行いました。結果としては、
      MicroPythonを利用した場合には処理速度がかなり遅くなる様で、
      実用的な描画速度は実現できませんでしたが、その様子は次の
      様なものでした。 

        f:id:I_Satoh:20191023151143p:plain

        1.LCDの解像度は1.44インチは128x128で1.8インチは
               128x160のフルカラー(今回はAdafruitと同じく565の
               16bitsカラーで利用)
        2.LCDのコントローラはST7735でSPI制御方式
        3.電源電圧は、1.8インチは5Vで1.44インチは3.3Vで使用
        4.ライブラリモジュールはAdafruitのArduino用ものを
               MicroPython用に移植して利用
        5.MicroPythonのボードはESP8266のWeMos D1 mini を利用

 [動作状況]     

     
 

<テスト内容>
  ST7735LCDの動作検証に関しては次の事を目標としました。

      1.ST7735のLCDをESP8266のMicroPythonで動作させた時の
             状況を確認
      2.ライブラリモジュールとしてArduino用のものを移植可能か
             どうかの確認
      3.その状態で、このLCD駆動用のサンプルコードを
              作成して見る

     結果としては、オリジナルの移植元のコードが大きかったので、
     描画用の沢山の関数から必要なもののみを選択し、ホストで
     コンパイル済みのmpy形式に変換して利用すれば、ESP8266の
     MicroPythonでも利用可能な事が判りました。(文字の表示、
     直線、円、四角の描画の関数を選択)また、このLCDでは描画を
     ドット単位で行う為、描画用に大きなRAM領域を使用する事なく
     複雑な描画が可能で有る事も判りました。ただし、MicroPython
     上で動作させると描画速度が非常に遅くなり、余り実用的でない
      感じを受けました。

 [機器の接続]    

     f:id:I_Satoh:20191023151930p:plain

       f:id:I_Satoh:20191023152036p:plain

      

       f:id:I_Satoh:20191023152109p:plain

 [コード実装状況]

       f:id:I_Satoh:20191023152224p:plain

    [コードダウンロード]
  Code download URL : https://drive.google.com/open?id=1YY0catejcR4Fw8eEMI2DtrcQutG7ywzW