goo blog サービス終了のお知らせ 

南無ちゃんのブログ https://namva.net/blog2

上記のアドレスに引っ越しました。

TFT_eSPI・タッチパネル付表示器の例

2024-06-28 15:03:07 | プログラミング

 picoとQVGA液晶パネルの組合せで表示器としての動作例を再現して遊んでいましたが、今度は、せっかく表示器にタッチパネルが付いているので、タッチパネルのサンプルプログラムを動作させてみました。example/320x240/Keypad_240x320.inoというプログラムを試しました。その前に、タッチパネルが動作できるように、インターフェス信号の配線を追加して、以下のような接続にしました。

<<<pico側>>>    <<<LCD(ILI9341) 側>>>
信号名  ピン番号     信号名   ピン番号
3.3V       36          3.3V        1
GND        38          GND         2
GP17       22          /CS         3
GP22       29          /RESET      4
GP28       34          DC          5
GP19       25          SDI         6
GP18       24          SCK         7
3.3V       36          LED         8
                       SDO         9
GP18       24          T_CLK      10
GP1         2          T_CS       11
GP19       25      T_DIN      12
GP16       21          T_DO       13

 これに合わせて、User_setup.hを以下のように変更しました。
#define TFT_MISO  16
#define TFT_MOSI  19
#define TFT_SCLK  18
#define TFT_CS    17  
#define TFT_DC    28  
#define TFT_RST   22 
#define TOUCH_CS  1

 それなりに動作しましたが、起動毎にタッチパネルのキャリブレーションをする点が気になりました。プログラムに記述された通りなら、初回のみキャリブレーションを行い、2回目以降はファイルにセーブされたデータを読み出して、キャリブレーションなしで動作する筈です。

 原因は、元のプログラムではSPIFFSが使用されていますが、このファイルシステムが、どうもデフォルト状態のpicoでは上手く動作しないみたいです。ファイルシステムをSPIFFSからLittleFSに変更したら期待通りに初回のみキャリブレーションするようになりました。

 具体的には、次のよう変更しました。

1)Arduino IDEの「ツール」タブのFlash sizeを、取り敢えず 2MB(Sketch:1792KB,FS:256KB)にしました。

2)ソースプログラムを次のように変更しました。

 #include "SPIFFS.h" を#include "LittleFS.h"に置き換えて、"SPIFFS."を全部"LittleFS."に置き換えました。

 


最新の画像もっと見る

コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。