esp32怎么外接按键

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了esp32怎么外接按键相关的知识,希望对你有一定的参考价值。

其实很简单的,如果看过我的前两节,这个代码都不需要解释,就是多引入了一个Touchpad模块,然后把14脚定义为触摸脚。在主循环中,sleep(0.5)定义了每0.5秒就读取一次14脚的数据,然后通过串口打印出来,在upycraft下面的框应该能看到每0.5秒出现一个值,通过对比触摸14脚与否的数值自己定义阀值,用于if函数的判断,实现触摸控制。
若熟悉了代码,完全可以升级一下代码实现双稳态控制,即摸一下就可以改变灯的亮灭;或再升级一下实现双击或长按等功能,然后与前面的呼吸跑马灯结合起来,就很酷了。
这讲的触摸控制跟按键控制实现的效果一模一样,只是我觉得按键太简单,触摸好玩一点哈哈。

附上esp32的引脚图:

可以看到我的14引脚不是乱设的,esp32的引脚只有8个支持touch,就是上面的T0-T7,我们还可以发现有各种AD、DA、SD等功能,等着你去玩耍。

ADC

下面我们来看一个有趣的ADC实验,即模拟和数字的转换。效果是通过旋转电位器从而控制灯的亮度,这是呼吸灯的升级版:

from machine import Pin, PWM, ADC #引入ADC模块
from time import sleep

frequency = 5000
led = PWM(Pin(12), frequency)

pot = ADC(Pin(34)) #定义34脚为ADC脚,可以读取模拟电压
pot.width(ADC.WIDTH_12BIT) #读取的电压转为0-4096
pot.atten(ADC.ATTN_11DB) #输入电压0-3.3v

while True:
pot_value = pot.read() //4 #使读取的电压变为0-1024
print(pot_value) #打印出读取到的电压以便调试
if pot_value < 15:
led.duty(0)
else:
led.duty(pot_value) #通过读取电位器的电压调节灯的占空比
sleep(0.1) #每100ms读取一次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
参考技术A 单击识别 了解常规按钮的内部结构,并将按钮连接单片机IO口进行单击识别。
2. .长按识别 通过简单的时间间隔计算,区别单击事件和双击事件。
3. .双击识别 通过加入嵌套延时函数

我的笔记本win10系统F1按键无效其它按键正常 感觉不是按键失灵 外接键盘F1正常 这是怎么恢复?

建议试试以下方法:
1,进入系统的安全模式测试是否可以使用。若安全模式下可以使用,考虑是系统或软件问题。
2、对系统进行彻底的杀毒。
3,若上述方法测试无效,备份重要数据还原或者格式化重装系统。
4,笔记本键盘出故障了,需要检测键盘或更换键盘。
参考技术A 驱动问题。系统识别慢。固态硬盘非常快捷。没反映就跳转了。外置系统会等一下驱动加载完毕才处理。故你能正常F1。不影响的

以上是关于esp32怎么外接按键的主要内容,如果未能解决你的问题,请参考以下文章

STM32白话文教程内置按键模块外接按键检测 三句话让你玩明白按键 水银倾斜模块

esp32通过按键调节电压增加

esp32蓝牙密码设置

Arduino ESP32 WIFI &蓝牙模式触控按键切换

Arduino ESP32 通过EEPROM存储按键状态

我的笔记本win10系统F1按键无效其它按键正常 感觉不是按键失灵 外接键盘F1正常 这是怎么恢复?