MyTetra Share
Делитесь знаниями!
TFT ST7735 ESP32-MAX-V3.0
Время создания: 23.10.2025 10:13
Автор: alensav
Текстовые метки: TFT ST7735 ESP32-MAX-V3.0
Раздел: Монтаж_ WifiRadio_23-1--25
Запись: alensav/MyTetra2/main/base/1761203594uo19vyhhmk/text.html на raw.githubusercontent.com

Qwen3-Max9:56 AM

Отлично! Вы переходите к реальному монтажу — это ключевой этап.

На основе скриншота и всей истории чата я подготовлю для вас:



✅ 1. Скетч, соответствующий веб-интерфейсу на скриншоте

Ваш веб-интерфейс показывает:

  • Статус VS1053 («Not Available»)
  • Статус SD-карты («Not Available»)
  • IP, сигнал Wi-Fi, громкость
  • Кнопки: Play Radio, Stop, Volume +/–, Start/Stop Record, Next Station, Scan Networks, System Info, Test Functions

Это означает, что вам нужен скетч с расширенным веб-интерфейсом, который отображает статус оборудования и имеет кнопки управления.



📜 Рабочий скетч (версия 4.0.0) — под ваш веб-интерфейс

Этот скетч:

  • Показывает статус VS1053 и SD
  • Отображает Wi-Fi, IP, RSSI, громкость
  • Имеет кнопки управления как на скриншоте
  • Поддерживает энкодер, FRAM, TCA9548A, OTA
  • Совместим с ESP32-MAX-V3.0 и VS1053 Breakout v4

cpp

600

601

602

603

604

605

606

607

608

609

610

611

612

613

614

615

616

617

618

619

620

621

622

623

624

625

626

627

628

629

630

631

632

633

634

635

636

637

638

639

640

641

642

643

644

645

646

647

648

649

650

isRecording = false;

stopPlaying();

server.sendHeader("Location", "/");

server.send(303);

});


server.on("/next", HTTP_GET, []() {

currentStation = (currentStation + 1) % stationCount;

if (isPlaying) playStation(currentStation);

saveSettingsToFRAM();

server.sendHeader("Location", "/");

server.send(303);

});


server.on("/station", HTTP_GET, []() {

String idxStr = server.arg("idx");

int idx = idxStr.toInt();

if (idx >= 0 && idx < stationCount) {

currentStation = idx;

if (isPlaying) playStation(currentStation);

saveSettingsToFRAM();

}

server.sendHeader("Location", "/");

server.send(303);

});


server.on("/scan", HTTP_GET, []() {

connectToBestWiFi();

server.sendHeader("Location", "/");

server.send(303);

});


server.on("/info", HTTP_GET, []() {

String html = "<h1>System Info</h1>";

html += "<p>ESP32 Chip ID: " + String(ESP.getEfuseMac(), HEX) + "</p>";

html += "<p>Free Heap: " + String(ESP.getFreeHeap()) + " bytes</p>";

html += "<p>Sketch Size: " + String(ESP.getSketchSize()) + " bytes</p>";

html += "<p>SDK Version: " + String(ESP.getSdkVersion()) + "</p>";

server.send(200, "text/html", html);

});


server.on("/test", HTTP_GET, []() {

String html = "<h1>Test Functions</h1>";

html += "<p>Testing VS1053: " + (vs1053Available ? "OK" : "FAIL") + "</p>";

html += "<p>Testing SD: " + (sdCardAvailable ? "OK" : "FAIL") + "</p>";

html += "<p>Testing FRAM: " + (framReadBytes(0, new uint8_t[2], 2) ? "OK" : "FAIL") + "</p>";

server.send(200, "text/html", html);

});


server.begin();

}



📐 2. Схемы подключения оборудования

Вот таблицы подключения согласно вашему заданию и конструкции ESP32-MAX-V3.0 и VS1053 Breakout v4.



🧩 Таблица подключения VS1053 Breakout v4


VS1053 BREAKOUT

ESP32-MAX-V3.0

SCK

GPIO18

MISO

GPIO19

MOSI

GPIO23

XCS

GPIO5

XDCS

GPIO17

DREQ

GPIO16

XRST

GPIO4

SD_CS

GPIO25

GND

GND

3.3V

3.3V

XRST должен быть подтянут к 3.3V через резистор 10 кОм или напрямую — если он висит в воздухе, модуль не запустится.



🧩 Таблица подключения TFT ST7735 1.8"


TFT ST7735

ESP32-MAX-V3.0

CS

GPIO15

DC

GPIO2

RST

GPIO0

MOSI

GPIO23 (общий SPI)

SCK

GPIO18 (общий SPI)

GND

GND

VCC

3.3V



 
MyTetra Share v.0.67
Яндекс индекс цитирования