59浏览
查看: 59|回复: 5

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

[复制链接]
【花雕学编程】Arduino动手做(241)--ESP32 Dev之触摸传感器图3

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

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

驴友花雕  中级技神
 楼主|

发表于 前天 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 #);

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



回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 前天 10:33

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

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

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验二百四十一:ESP32 Dev Board CH340 - USB-C口 ESP-WROOM-32 开发板
  4.   {花雕动手做}项目之三:使用内置触摸传感器控制LED,串口输出触摸数值与LED状态
  5. */
  6. #define TOUTCH_PIN T0 // 定义ESP32的触摸引脚为T0,对应引脚D4
  7. #define LED_PIN 2 // 定义LED引脚为2
  8. int touch_value = 100; // 初始化触摸传感器的值
  9. void setup()
  10. {
  11.   Serial.begin(115200); // 初始化串行通信,波特率为115200
  12.   delay(1000); // 延迟1秒,给串行监视器启动时间
  13.   Serial.println("ESP32 Touch Test"); // 打印测试信息
  14.   pinMode(LED_PIN, OUTPUT); // 设置LED引脚为输出模式
  15.   digitalWrite (LED_PIN, LOW); // 初始化LED为关闭状态
  16. }
  17. void loop()
  18. {
  19.   touch_value = touchRead(TOUTCH_PIN); // 读取触摸传感器的值
  20.   Serial.print("Touch value: "); // 输出触摸值的描述
  21.   Serial.println(touch_value); // 打印触摸传感器的值
  22.   
  23.   if (touch_value < 50) // 如果触摸值小于50
  24.   {
  25.     digitalWrite (LED_PIN, HIGH); // 打开LED
  26.     Serial.println("LED is ON"); // 输出LED状态
  27.   }
  28.   else
  29.   {
  30.     digitalWrite (LED_PIN, LOW); // 关闭LED
  31.     Serial.println("LED is OFF"); // 输出LED状态
  32.   }
  33.   delay(1000); // 延迟1秒
  34. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 前天 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之触摸传感器

实验串口返回情况

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

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 前天 10:55

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

实验场景图

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail