ウエブラジオのLCDに表示される画像(放送局のロゴマーク)などが時々崩れる症状が出ていました。
原因を調べてみたところ、LCDが原因ではなく画像ファイルを格納してあるSDカードとESP32までの配線に問題があることが分かりました。
下の画像のようにLCDと本体基板との間を繋げているフラットケーブルの長さが原因で、この配線をなるべく短くすると良いようです。
対 策
しかし、配線を短くすると余裕がなくなり作業性が悪くなります、考えた結果本体基板とLCDを一体化することにしました。
今使用している基板は使えないので最初から作り直しです。
ユニバーサル基板は両面スルーホールの95×75mmを必要な長さにカットして使用します、MP3デコーダーはピンヘッダーの関係で後ろ向きに取付けました、基板の裏側にはLCD取付用のピンヘッダーメスを取付けます。
LCD基板に取付けるとこんな感じになります、配線のごちゃごちゃはスピーカーと電源周りです。
それでも表示に不具合が出る場合は
TFTライブラリーの tft.cpp 215行目あたりの
if(_id==0){_freq = 40000000; TP_vers=0;}
80000000 → 40000000 に変更してみる。
また、タッチスクリーンのボタンを押しても反応しない場合は MiniWebRadio.ino の671行目あたりにある
tft.setRotation(1); // Use landscape format
LCD画面を上下反転してみる 3→1 に変える(ILI9341の場合)
結 果
時々画像が崩れて表示されていた起動画面、またタッチスクリーンのボタン、ロゴ画像も正常に表示されました。