#include <SPI.h>
#include <SD.h>
// Пины SD-карты (согласно вашей схеме)
#define SD_CS 5
#define SD_SCK 12
#define SD_MOSI 11
#define SD_MISO 13
// Пины кнопок и переключателя
#define BTN_SCREEN_ON_OFF 21
#define BTN_PLAY_PAUSE 47
#define BTN_VOL_UP 48
#define BTN_VOL_DOWN 1
#define BTN_NEXT_PREV 3
#define SWITCH_TOUCH_LOCK 14
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println("\n=== START ===");
// 1. Инициализация SD-карты
SPI.begin(SD_SCK, SD_MISO, SD_MOSI);
if (!SD.begin(SD_CS)) {
Serial.println("SD Card ERROR!");
} else {
Serial.println("SD Card OK");
File root = SD.open("/");
Serial.println("Files on card:");
while (true) {
File entry = root.openNextFile();
if (!entry) break;
Serial.print(" ");
Serial.println(entry.name());
entry.close();
}
root.close();
}
// 2. Настройка кнопок (вход с подтяжкой к питанию)
pinMode(BTN_SCREEN_ON_OFF, INPUT_PULLUP);
pinMode(BTN_PLAY_PAUSE, INPUT_PULLUP);
pinMode(BTN_VOL_UP, INPUT_PULLUP);
pinMode(BTN_VOL_DOWN, INPUT_PULLUP);
pinMode(BTN_NEXT_PREV, INPUT_PULLUP);
pinMode(SWITCH_TOUCH_LOCK, INPUT_PULLUP);
Serial.println("Ready. Press buttons...");
}
void loop() {
// Читаем состояния (LOW = нажата)
if (digitalRead(BTN_SCREEN_ON_OFF) == LOW) Serial.println("Screen ON/OFF");
if (digitalRead(BTN_PLAY_PAUSE) == LOW) Serial.println("Play/Pause");
if (digitalRead(BTN_VOL_UP) == LOW) Serial.println("Vol+");
if (digitalRead(BTN_VOL_DOWN) == LOW) Serial.println("Vol-");
if (digitalRead(BTN_NEXT_PREV) == LOW) Serial.println("Next/Prev (single)");
if (digitalRead(SWITCH_TOUCH_LOCK) == LOW)
Serial.println("Touch LOCK ON");
else
Serial.println("Touch LOCK OFF");
delay(200);
}Loading
esp32-s3-devkitc-1
esp32-s3-devkitc-1
Loading
ili9341-cap-touch
ili9341-cap-touch