Подключение сенсорной кнопки TTP223 к ESP32
Сенсорная кнопка
TTP223 к ESP32 — три провода: VCC на 3,3 В, земля и OUT на любой цифровой вход. Выход повторяет уровень питания, поэтому от 3,3 В он безопасен для ESP32.
Схема подключения сенсорной кнопки TTP223 к ESP32
| TTP223 | ESP32 |
|---|---|
| OUT | GPIO27 |
| VCC | 3V3 |
| GND | GND |
Схема из примера «Сенсорная кнопка TTP223: коснулся — переключил».
Выводы TTP223
| Вывод | Назначение |
|---|---|
| OUT | цифровой выход: высокий уровень при касании |
| VCC | питание, 3,3 или 5 В |
| GND | общий провод |
Код для ESP32
// Сенсорная кнопка: одно касание — одно переключение.
//
// Пока палец на площадке, выход TTP223 высокий. Если переключать свет
// по самому уровню, он замигает на всё время касания, поэтому ловим
// момент касания: низкий уровень сменился высоким.
//
// Нажмите и держите площадку на детали.
const int TOUCH_PIN = 27;
const int LED = 2;
bool wasTouched = false;
bool lit = false;
void setup() {
Serial.begin(115200);
pinMode(TOUCH_PIN, INPUT);
pinMode(LED, OUTPUT);
}
void loop() {
bool touched = digitalRead(TOUCH_PIN) == HIGH;
if (touched && !wasTouched) {
lit = !lit;
digitalWrite(LED, lit);
Serial.println(lit ? "касание — включено" : "касание — выключено");
}
wasTouched = touched;
delay(10);
}
Скетч можно править и запускать в симуляторе без платы и установки среды.
Что учесть на ESP32
- Читайте выход как обычную кнопку, но без подтяжки: уровень задаёт сам модуль.
- У самой ESP32 есть встроенные сенсорные входы (
touchRead()), но готовый модуль проще: он отдаёт чёткий цифровой уровень.
В железе
Модуль калибруется при включении: во время подачи питания площадки не касайтесь, иначе «нормой» запомнится касание. Выход держит уровень питания модуля, поэтому с ESP32 его питают от 3,3 В.
Частые ошибки при подключении к ESP32
- Питание 5 В вместо 3,3 В: на выходе 5 В — вход ESP32 этого не терпит.
- OUT на загрузочный вывод (GPIO0, GPIO2, GPIO12): если в момент включения на нём не тот уровень, плата не загрузится.
- Касание площадки в момент включения: датчик калибруется по нему и потом реагирует вяло или инвертированно.
- Не замечена перемычка режима: модуль работает как переключатель, а скетч ждёт удержания (или наоборот).
- Питание модуля 5 В на ESP32: выход тоже 5 В, больше допустимого для входа.
- Толстая панель или металл над площадкой: чувствительность падает, датчик перестаёт замечать палец.
Ещё по теме
Другие детали для ESP32
HC-SR04DHT22 (AM2302)BME280DS3231SSD1306 OLED 0,96″LCD 1602 с I2CMAX7219TM1637MPU6050 (GY-521)Модуль релеWS2812B (NeoPixel)KY-040Клавиатура 4×4HX711ФоторезисторМодуль microSDRGB-светодиодСервопривод SG9074HC595ИК-приёмник (VS1838B)TFT ST7735 1,8″Шаговый двигательКнопкаПотенциометрПьезопищалкаСветодиодDS18B20Ползунковый переключательHC-SR501Датчик влажности почвыMQ-2LM35Джойстик KY-023DHT11HTU21DSN65HVD230