材料准备esp32开发板led灯220欧姆电阻面包板usb数据线电脑按键开关(最好是自复位的)
连接电路
首先,我们需要将led灯、电阻和开关、esp32连接起来。具体步骤如下:
可以看到跟上一节 led 一样,只是输入/输出状态的一个改变。从上图可以看到,我们只需要在开发板上电后判断 key 引脚的电平,当被按下时候引脚为低电平“0”。
编写代码
按键被按下时候可能会发生抖动,抖动如下图,有可能造成误判,因此我们需要使用延时函数来进行消抖(防误触)。
常用的方法就是当检测按键值为 0 时,延时一段时间,大约 10ms,再判断按键引脚值仍然是 0,是的话说明按键被按下。延时使用 time 模块
time模块的使用方法如下
import timetime.sleep(1) # 睡眠 1 秒time.sleep_ms(500) # 睡眠 500 毫秒time.sleep_us(10) # 睡眠 10 微妙start = time.ticks_ms() # 获取毫秒计时器开始值代码简说
代码的注释很清楚了
从上面代码可以看到,初始化各个对象后,进入循环,当检测到 key 的值为0(按键被按下)时候,先做了 10ms 的延时,再次判断;
state 为 led 状态的值,每次按键按下后通过使用 not 来改变。这里注意的是在 python 里使用‘not’而不是‘’的方式。not 返回的是 true 和 false,即0,1。而 是取反操作,会导致出错。
运行程序
可以看到每当按键 key 被按下后,led 的亮灭状态发生改变。
总结
按键作为我们学习的第一个输入设备,有了输入设备我们就可以跟硬件做人机交互了,这对后面的学习非常有意义。可以看到按键在 micropython 下开发显得很简单。
2019年下半年晶圆代工厂支出下滑,2020年有望强劲复苏
realme X2 Pro正式发布该机采用了3D玻璃设计屏占比达到了91.7%
情人节该送男朋友什么礼物呢?2022情人节礼物推荐
宝马i3动力电池质保里程数提升到了16万公里
技嘉AORUSAX370-Gaming5评测 在功能及稳定性等方面做的非常出色
如何使用MicroPython和ESP32来编写按键程序?
芯明天压电移相器介绍
吉时利2001 7位半数字多用表的特点及功能应用
高速8051微控制器:引领成长与创新之路
史上最大 破吉尼斯纪录的游戏手柄双十二开售
等离子体的产生及技术应用
柔性触觉传感器或将在人形机器人时代大放异彩
谁才是最好的全面屏手机?四大旗舰一番对比后vivoX20给出了答案
智能门禁的新秀——人脸识别门禁
苹果推出全新AI技术:HUGS,仅需30分钟即可生成短视频
工业互联网的内涵是什么?工业互联网与传统互联网有什么区别?
多载波WCDMA的可行性
奥比中光与高校开展产学研合作 助力夯实3D视觉行业人才基础
应用笔记(三)| 运用DMA 功能实现高级定时器和ADC 的同步触发采样
ARM中国合资公司:未来还计划登陆A股市场,最快在年内IPO