先日、PCM5102Aの逆接で死なせてしまったCYD(esp32-2432s028)Ver.3
改めてCYDと言う名前の所以を説明すると、単純にチープイエローディスプレーの略だそうです
現行のCYDはST7789ディスプレーにESP32がついていて、たまにaliで安売りしてます。
思いもよらずセルフジャンク化させてしまったが、よく調べてみたらダイオードが死んでるだけだった。
早速手持ちの適当なダイオードに取り替えたら無事に復活しました。
ArduinoNANOもダイオード取り換えで復活!
TEF6686モジュールももう一つあるし、復活したCYDを使ってもう一台TEF6686_FMチューナーを作ってみることにした。
ただ使用できるGPIOも制限があるし、TFTディスプレイがST7789なのでうまくできるかが心配だ・・
先ずはCYDの使えるGPIOを増やすため、アンプ・SDカードはパターンカット、LEDはそのまま直付けでOK、CDSは取り外してIR受信モジュールに変更(GPIO36)
TEF668Xのクリスタルオプションを決定するGPIOが15Pinに指定されているため、パターンをカットしてSDカードに使っているGPIO5へバイパスする
接続は以下の通り
GPIO4 (LED)--------------------------MODEボタン
GPIO16 (LED)------------------------BANDボタン
GPIO17 (LED)------------------------BWボタン
GPIO26 (アンプ)---------------------I2C ※パターンカット
GPIO27 FREE-------------------------I2C
GPIO18 (SDカードモジュール)---ロータリーエンコーダーA(プルアップ抵抗あり) ※パターンカット
GPIO19 (SDカードモジュール)---ロータリーエンコーダーS/W ※パターンカット
GPIO23 (SDカードモジュール)---ロータリーエンコーダーB(プルアップ抵抗あり) ※パターンカット
GPIO22 FREE-------------------------アナログSメーター接続の予定
GPIO35 FREE
GPIO5 (SDカードモジュール) ※パターンカットしてTFT_CSへバイパス
GPIO15 ※私の場合GNDに落としてOKでした
GPIO36 CDSからIRレシーバーモジュールに変更 できればIRリモコンで操作できるようにしたい
スケッチは以下の通り変更
#define ESP32_I2C_SDA 26 // GPIO21
#define ESP32_I2C_SCL 27 // GPIO22
#define ROTARY_PIN_A 19 // 34
#define ROTARY_PIN_B 23 // 36
#define ROTARY_BUTTON 18 // 39
//#define PIN_POT 35
//#define BATTERY_PIN 13
#define BANDBUTTON 4
#define BWBUTTON 16 // 25
#define MODEBUTTON 17 // 26
#define CONTRASTPIN 21 // 2
//#define STANDBYLED 19
//#define SMETERPIN 27
//#define TOUCHIRQ 33
//#define EXT_IRQ 14
pinMode(BANDBUTTON, INPUT_PULLUP);
pinMode(MODEBUTTON, INPUT_PULLUP);
pinMode(BWBUTTON, INPUT_PULLUP);
pinMode(ROTARY_BUTTON, INPUT_PULLUP);
pinMode(ROTARY_PIN_A, INPUT);
pinMode(ROTARY_PIN_B, INPUT);
//pinMode (STANDBYLED, OUTPUT);
//pinMode(TOUCHIRQ, INPUT);
//pinMode(EXT_IRQ, INPUT_PULLUP);
//digitalWrite(STANDBYLED, HIGH);
TFT_espi User_Setup.h は以下の通り
#define ST7789_DRIVER
#define TFT_WIDTH 240 // ST7789 240 x 240 and 240 x 320
#define TFT_HEIGHT 320 // ST7789 240 x 320
#define TFT_INVERSION_ON
#define TFT_BL 21 // LED back-light control pin
#define TFT_BACKLIGHT_ON HIGH
#define TFT_MISO 12
#define TFT_MOSI 13
#define TFT_SCLK 14
#define TFT_CS 5 // Chip select control pin
#define TFT_DC 2 // Data Command control pin
//#define TFT_RST 4 // Reset pin (could connect to RST pin)
#define TFT_RST -1
#define TOUCH_MISO 39
#define TOUCH_MOSI 32
#define TOUCH_SCLK 25
#define TOUCH_CS 33 // Chip select pin (T_CS) of touch screen
#define TOUCH_IRQ 36
#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH
#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters
#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters
#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm
#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-.
#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-.
//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT
#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts
// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded
// this will save ~20kbytes of FLASH
#define SMOOTH_FONT
緊張しながらUSBケーブルを差し込むと、オープニング画面が立ち上がりTFTチップのバージョンも表示された。
ロータリーエンコーダーでの周波数変更や各ボタンの操作もOK
とりあえず成功なのだが、音がしないし信号強度の表示が0のままで何かがおかしい・・
もう一息なのだがその日はそこで終了した。
その後も2~3日プログラム見直したり色々やってみたが、問題を解決できず
それとは別問題があり、バックライトがチカチカするので電圧不足かと思い、何気にTEF6686モジュールに直接5Vをかけてみたらザーという音がでて思わず”やった~!”と声がでてしまった。
NHK-R1ならFMアンテナでも受信できます。北朝鮮の日本語放送も受信できましたよ
とりあえず試作はうまくいったし、バックライトのチカチカをなんとして体裁の良いケースに収めたいと思います。
実はずーと前からハードオフに通い、CYDがうまく収まりそうな手頃なジャンクを探しているのだが、なかなか納得のいくモノに出会えないんだよな~






