驴友花雕 发表于 前天 10:16

【花雕学编程】Arduino动手做(241)--ESP32 Dev之触摸传感器






驴友花雕 发表于 前天 10:25

【花雕学编程】Arduino动手做(241)--ESP32 Dev之触摸传感器

ESP32 有 10 个内部电容式触摸传感器。例如,可以将其用作触摸按钮(英文:Touch Sensor)。

这些传感器与多个 GPIO 连接:

T0:GPIO 4
T1:GPIO 0
T2:GPIO 2
T3:GPIO 15
T4:GPIO 13
T5:GPIO 12
T6:GPIO 14
T7:GPIO 27
T8:GPIO 33
T9:GPIO 32

为了读取它们,必须使用函数: touchRead(Touch Pin #);





驴友花雕 发表于 前天 10:33

【花雕学编程】Arduino动手做(241)--ESP32 Dev之触摸传感器

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百四十一:ESP32 Dev Board CH340 - USB-C口 ESP-WROOM-32 开发板
{花雕动手做}项目之三:使用内置触摸传感器控制LED,串口输出触摸数值与LED状态

实验开源代码

/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百四十一:ESP32 Dev Board CH340 - USB-C口 ESP-WROOM-32 开发板
{花雕动手做}项目之三:使用内置触摸传感器控制LED,串口输出触摸数值与LED状态
*/

#define TOUTCH_PIN T0 // 定义ESP32的触摸引脚为T0,对应引脚D4
#define LED_PIN 2 // 定义LED引脚为2
int touch_value = 100; // 初始化触摸传感器的值

void setup()
{
Serial.begin(115200); // 初始化串行通信,波特率为115200
delay(1000); // 延迟1秒,给串行监视器启动时间
Serial.println("ESP32 Touch Test"); // 打印测试信息
pinMode(LED_PIN, OUTPUT); // 设置LED引脚为输出模式
digitalWrite (LED_PIN, LOW); // 初始化LED为关闭状态
}

void loop()
{
touch_value = touchRead(TOUTCH_PIN); // 读取触摸传感器的值
Serial.print("Touch value: "); // 输出触摸值的描述
Serial.println(touch_value); // 打印触摸传感器的值

if (touch_value < 50) // 如果触摸值小于50
{
    digitalWrite (LED_PIN, HIGH); // 打开LED
    Serial.println("LED is ON"); // 输出LED状态
}
else
{
    digitalWrite (LED_PIN, LOW); // 关闭LED
    Serial.println("LED is OFF"); // 输出LED状态
}
delay(1000); // 延迟1秒
}

驴友花雕 发表于 前天 10:43

【花雕学编程】Arduino动手做(241)--ESP32 Dev之触摸传感器

代码解读

1、引脚定义:使用 #define 宏定义触摸传感器和LED的引脚,便于代码的可读性和维护。

2、串行通信初始化:在 setup 函数中,使用 Serial.begin(115200) 初始化串行通信,以便在串行监视器中查看触摸传感器的值。

3、引脚模式设置:使用 pinMode 函数将LED引脚设置为输出模式,并初始化为低电平(关闭状态)。

4、触摸传感器读取与输出:在 loop 函数中,使用 touchRead 函数读取触摸传感器的值,并通过串行通信打印出来。

5、条件控制LED和状态输出:根据触摸传感器的值,通过 digitalWrite 函数控制LED的开关状态,并在串行监视器上输出LED的当前状态。

通过这些修改,串行监视器不仅可以输出触摸传感器的数值,还可以输出LED的状态,便于调试和观察运行情况。



驴友花雕 发表于 前天 10:44

【花雕学编程】Arduino动手做(241)--ESP32 Dev之触摸传感器

实验串口返回情况


驴友花雕 发表于 前天 10:55

【花雕学编程】Arduino动手做(241)--ESP32 Dev之触摸传感器

实验场景图


页: [1]
查看完整版本: 【花雕学编程】Arduino动手做(241)--ESP32 Dev之触摸传感器