ESP8266-Arduino编程实例-CJMCU-1010(基于AT42QT101x)电容触控模块驱动

CJMCU-1010(基于AT42QT101x)电容触控模块驱动

1、CJMCU-1010(基于AT42QT101x)介绍

CJMCU-1010 模块是一款基于 AT42QT101x的电容触控模块。

AT42QT101x 单键电容式触摸控制器系列提供了一种将触摸键添加到任何应用程序的简单方法。 它实现了先进的过滤算法,以在嘈杂的环境中提供稳健的操作。 还可以配置灵敏度和低功耗模式。

只要检测到触摸,AT42QT1011 的输出就会保持高电平。 没有“Max On”超时。

在这里插入图片描述

其特性如下:

  • 按键数量:一个 – 可配置为单个按键或接近传感器
  • 关键轮廓尺寸:6 mm × 6 mm 或更大(取决于面板厚度); 可能有不同的尺寸和形状
  • 电极设计:实心或环形电极形状
  • 所需的 PCB 层数:一层
  • 电极材料:蚀刻铜、银、碳、氧化铟锡 (ITO)
  • 面板厚度:玻璃最大 12 mm,塑料最大 6 mm(电极尺寸和 Cs 相关)
  • 按键灵敏度:可通过电容器 (Cs) 设置
  • 功耗:1.8 V 时为 17 µA(典型值)
  • 应用:控制面板、消费电器、物联网、接近传感器应用、玩具、照明控制、机械开关或按钮更换

2、硬件准备

  • ESP8266 NodeMCU开发板一块
  • MJMCU-1010模块一个
  • 面板板一个
  • 杜邦线若干
  • 数据线一条

硬件接线如下:

ESP8266开发板 CJMCU-1010 模块
3v3 Vcc
Gnd Gnd
D0 OUT

3、软件准备

  • Arduino IDE或VSCode + PlatformIO

在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:

ESP8266 NodeMCU的引脚介绍在前面的文章中做了详细的介绍,请参考:

4、代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const int TOUCH_BUTTON_PIN = D0;  // Input pin for touch state

// Global Variables
int buttonState = 0; // Variable for reading button

void setup()
{
// Configure button pin as input
pinMode(TOUCH_BUTTON_PIN, INPUT);
pinMode(LED_BUILTIN, OUTPUT);
}

void loop()
{
// Read the state of the capacitive touch board
buttonState = digitalRead(TOUCH_BUTTON_PIN);

// If a touch is detected, turn on the LED
if (buttonState == HIGH)
{
digitalWrite(LED_BUILTIN, LOW);
}
else
{
digitalWrite(LED_BUILTIN, HIGH);
}
}

文章来源: https://iotsmart.blog.csdn.net/article/details/126770368