三、ESP32触摸式按键

释放双眼,带上耳机,听听看~!

 

ESP32有10个内部电容式触摸传感器。我们可以利用这些传感器制作触摸式按键。以下就是这些传感器相对应得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

 

arduino 也内置有相应的语法:touchRead(Touch Pin *);

例如,要读取触摸传感器0(T0),我们可以这样操作: int value = touchRead(4);

这里是读取得值是一个模拟量得,我们可以使用串行监视器检查传感器读取的值并正确调整代码。以下是相应的代码:

[scu name=”arduino-ide-post”]

/*******************************************************
   ESP32LED闪烁
   功能:实现触摸按键按一下改变LED得状态
   引脚:T0 (GPIO4)
   Designer: Code_Mouse
   Date:2018-9-1
   T0:GPIO 4
   T2:GPIO 2
   T3:GPIO 15
   T4:GPIO 13
   T5:GPIO 12
   T6:GPIO 14
   T7:GPIO 27
   T8:GPIO 33
   T9:GPIO 32
 *******************************************************/
#define TOUTCH_PIN 4 // ESP32 Pin D4
#define LED_PIN 2
int touch_value = 100;
int flg = 0;
void setup()
{
  Serial.begin(115200);
  delay(1000);
  Serial.println("ESP32 Touch Test");
  pinMode(LED_PIN, OUTPUT);
  digitalWrite (LED_PIN, LOW);
}
void loop()
{
  touch_value = touchRead(TOUTCH_PIN);
  Serial.println(touch_value);
  if (touch_value < 40)
  {
    flg = ~flg; digitalWrite (LED_PIN, flg);
  }
}

[/scu]

 

以下是实验得现象:

三、ESP32触摸式按键

就这样一个简易的触摸式按键就完成了。

 

给TA打赏
共{{data.count}}人
人已打赏
ESP32ESP32-基础

二、ESP32 LED的闪烁

2018-8-27 0:34:38

ESP32ESP32-基础

四、ESP32PWM功能

2018-9-1 22:45:18

6 条回复 A文章作者 M管理员
  1. Luca

    写的非常好,跟着这个学没错

  2. 中庸至道

    ?

  3. Mika

    学习学习

  4. 老干妈炒榴莲

    教程确实很不错

  5. 老鐘

    改進一下程式碼,讓觸摸開關更精確

    #define TOUTCH_PIN 4 //Touch 0:GPIO 4
    #define LED_PIN 2 //GPIO 2
    int touch_value = 100;
    int flg = 0;
    int cnt = 0;

    void setup()
    {
    Serial.begin(115200);
    delay(1000);
    Serial.println(“ESP32 Touch Test”);
    pinMode(LED_PIN, OUTPUT);
    digitalWrite (LED_PIN, LOW);
    }
    void loop()
    {
    touch_value = touchRead(TOUTCH_PIN);
    Serial.println(touch_value);
    if (touch_value 1500)
    {
    flg = ~flg;
    digitalWrite (LED_PIN, flg);
    cnt = 0;
    }
    }
    }

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
'); })();