06 / 20
做一架触摸钢琴
八个铜片用电容触摸输入演奏一个八度。
运行此实验 →实验目标
按住屏幕上的铜片按键,对照音符频率。
工作原理
八个铜片用电容触摸输入演奏一个八度。 不是。本课程针对经典 ESP32 触摸外设;应核对具体芯片并标定未触摸读数。 此处为配套教学模型,硬件示例基于经典 ESP32 与 Arduino-ESP32 3.x;网络、声波、负载和机械运动均为简化演示。
动手试一试
- 打开此实验
- 按住屏幕上的铜片按键,对照音符频率。
接线
- 4,13,14,27,32,33,15,12 — 八个 C4–C5 触摸片,避免启动时影响绑带电平
- GPIO 25 / GND — 无源蜂鸣器
示例代码
const int pads[] = {4, 13, 14, 27, 32, 33, 15, 12};
const int notes[] = {262, 294, 330, 349, 392, 440, 494, 523};
// Original ESP32 only. Calibrate touch threshold; GPIO12/15 are boot straps.
void setup() {
ledcAttach(25, 1000, 8);
}
void loop() {
int note = 0;
for (int i = 0; i < 8; i++) {
if (touchRead(pads[i]) < 30) { note = notes[i]; break; }
}
ledcWriteTone(25, note);
delay(10);
}检查理解
每一种 ESP32 都有 touchRead 吗?
查看答案
不是。本课程针对经典 ESP32 触摸外设;应核对具体芯片并标定未触摸读数。