ESP32-DevKitCと2.8インチ液晶モジュール(240×320、タッチパネル、SDカード)をSPI接続して動作確認
ESP32-DevKitCの開発ツール arduino-esp32 のインストール手順 Arduino IDE上で動作する ESP32-DevKitC の開発ツール arduino-esp32(Arduino core for the ESP32)をインストールした際の手順メモです。 Arduino IDE 2.0.0で ESP32-.
TFT_eSPIライブラリのインクルード、User_Setup.hの編集
TFT_eSPIライブラリのインクルードGitHubサイトからTFT_eSPIライブラリのzipファイル( TFT_eSPI-master.zip )をPCにダウンロードして保存(「Code」ボタンをクリックして「Download ZIP」)。Arduino IDEのメニューの「スケッチ」→「ライブラリをインクルード」→「.ZIP形式の ライブラリを インストール」で ダウンロードしたZIPファイルを追加します。
User_Setup.hのGPIO番号を結線した環境に合わせて設定変更 C:\Users\[ユーザー名]\Documents\Arduino\libraries\TFT_eSPI-master または、ライブラリのアップデートを行った際などに下記のフォルダ名になっている場合もあります。 C:\Users\[ユーザー名]\Documents\Arduino\libraries\TFT_eSPI「User_Setup.h」の200行目付近の「// For ESP32 Dev board・・・」の下にある#defineを今回の環境用にピン番号を変更します。左側がデフォルトのUser_Setup.h 設定、右側の黄色点線枠が環境に合わせてGPIO番号を変更した箇所です。左端の // を削除して上書き保存します。
左側は初期のUser_Setup.h 右側は今回結線した環境向けのUser_Setup.h(200行目付近)スケッチでTFT液晶、タッチパネル、HSPI接続SDカードの動作確認
(1)TFT_eSPIライブラリのサンプルスケッチ Keypad_240x320.ino(2024/7/27 追記)Arduino IDEのメニュー の「スケッチ例」–> TFT_eSPI –> 320×240 -> Keypad_240x320 を選択すると、スケッチ「Keypad_240x320.ino」が開きます。
スケッチを書き込む前に、Arduino IDEの右上の「シリアルモニタ」アイコンをマウスでクリックしてシリアルモニタを9600bpsで開いておきます(2024/7/27 追記)。
Keypad_240x320.inoを実行中 sendボタンで送信した数値がシリアルモニタに表示。赤丸部分をクリックしてシリアルモニタを表示(2024/7/27 追記)。 (2)HSPI接続SDカードへの書き込みとTFT液晶にその進行表示(2022/9/24 コード訂正)SDカードは事前にFAT32でフォーマットしておきます。SDカードのマウントに失敗した時は、赤文字で「Card Mount Failed」と表示します。
スケッチ(2)を実行中:カウントアップしていく数字を表示 スケッチ(2)の実行結果:SDカードへの書き込み esp32-devkitc_ili9341-sdcard_test.ino※ここをクリックするとコード表示を開閉できます。 #include #include #include TFT_eSPI tft = TFT_eSPI(); SPIClass spiSD(HSPI); int count=0; void setup(void) < // SDカード初期化 spiSD.begin(14, 33, 13, 15); //SCK,MISO,MOSI,CS // TFT液晶初期化 tft.init(); tft.setRotation(1); tft.setTextSize(1); tft.fillScreen(TFT_BLACK); tft.setTextColor(TFT_YELLOW, TFT_BLACK); tft.drawString("Initializing SD library & card", 0, 20, 4); delay(1000); // SDカードマウント確認 if (!SD.begin(15, spiSD)) < tft.setTextColor(TFT_RED, TFT_BLACK); tft.drawString("Card Mount Failed", 0, 50, 4); return; >else < tft.setTextColor(TFT_YELLOW, TFT_BLACK); tft.drawString("Card Mount Successful", 0, 50, 4); >delay(1000); // SDカードファイル書き込み File dataFile = SD.open("/datalog.txt", FILE_WRITE); dataFile.println("File written"); dataFile.close(); tft.drawString("File written", 0, 80, 4); > void loop() < // SDカードのdatalog.txtにcountを追加 File dataFile = SD.open("/datalog.txt", FILE_APPEND); dataFile.println(count); dataFile.close(); // TFT液晶にcountを表示 tft.setTextColor(TFT_YELLOW, TFT_BLACK); tft.drawNumber(count, 0, 120, 8); // カウントアップ count++; delay(1000); >本ブログ内の2.8インチ240x320TFT液晶対応スケッチ
Raspberry Pi Zero 2 W + Raspberry Pi OS + Python3でI2CやSPI接続のセンサを制御 Raspberry Pi Zero 2 W(以下、Zero 2 W)にRaspberry Pi OS 32bit版をセットアップしました。メモリ(SDRAM)搭載量が512MBと少ないのでRaspberry Pi OSが満足に動作す.
Raspbery Pi 5と2.8インチ液晶モジュール(240×320)を使ったCO2濃度、気圧、温度、湿度&WiFi時計(2):CO. Raspberry Pi 5 とBME280センサ(気圧、温度、湿度)とSCD4xセンサ(CO2濃度、温度、湿度) モジュールをI2C接続、その測定データをSPI接続した2.8インチTFT液晶 (240×3.
Raspbery Pi 5と2.8インチ液晶モジュール(240×320)を使ったCO2濃度、気圧、温度、湿度&WiFi時計(1):CO. Raspberry Pi 5 とBME280センサ(気圧、温度、湿度)とSCD30センサ(CO2濃度、温度、湿度) モジュールをI2C接続、その測定データをSPI接続した2.8インチTFT液晶 (240×3.