JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

Arduino UNO R4 (WiFi) 2.2" TFT表示テスト

2024-06-04 20:46:06 | Arduino
 Arduino UNO R4 WiFiで2.2インチTFTの表示テストをします。

 2.2インチTFTは3.3V系のデバイスなので、次の回路図ように電圧変換モジュールFXMA108を間に入れて接続します。(抵抗で分圧する方法もあります)


 Arduino Pro Miniで既に表示テストをしています。その記事は、JH7UBCホームページのこちらの記事です。

 Arduino UNO R4(WiFi)に接続する前にArduino UNO R3でテストをしました。
 まず、ライブラリ管理で必要なライブラリAdafruit_ILI9341.hとAdafruit_GFX.hをインストールします。

 次に、ファイル→スケッチ例→Adafruit ILI9341と進み、graphicstestを読み込みます。

 このままでは動きませんので、スケッチを次のように修正します。
 (赤字の部分を加えます

 // For the Adafruit shield, these are the default.
#define TFT_RST 8 // 追加
#define TFT_DC 9
#define TFT_CS 10

// Use hardware SPI (on Uno, #13, #12, #11) and the above for CS/DC
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);

 これでR3にコンパイル書き込みをしました。グラフィックが表示されたあと文字が表示され、90°ずつ回転して表示されました。



 次に、R3をR4 WiFiに交換してテストをしました。

 ところが、同じスケッチをコンパイルすると「wiring_private.h」というファイルがありませんというエラーメッセージがでてNGでした。

 解決法をネットで探すとAdafruiteのサイトのForumsに解決策を書いた記事がありました。記事はこちら

 ドキュメント内のArduinoフォルダにあるlibrarisフォルダ内のAdafruite_ILI9341フォルダにあるAdafruite_ILI9341.cppをエディタ(メモ帳)などで次のように書き換え保存します。

52-54行目の次の部分を

#ifndef RASPI
#include "wiring_private.h"
#endif

次のように変更します。

#if defined(__has_include)
#if __has_include("wiring_private.h")
#include "wiring_private.h"
#endif // __has_include("wiring_private.h")
#else //defined(__has_include)
#include "wiring_private.h"
#endif //defined(__has_include)

 私は、上の3行を//でコメントアウトして下の6行をコピペしました。

 以上の変更を行った結果エラーがでなくなり、コンパイル書き込みしたら、うまく表示されました。めでたし、めでたし。


 表示速度は、やはりR4の方が速いです。

 それにしてもR3とR4は別物ですね。

最新の画像もっと見る

コメントを投稿