材料准备
连接电路
首先,我们需要将LED灯、电阻和开关、ESP32连接起来。具体步骤如下:
可以看到跟上一节 LED 一样,只是输入/输出状态的一个改变。从上图可以看到,我们只需要在开发板上电后判断 KEY 引脚的电平,当被按下时候引脚为低电平“0”。
编写代码
按键被按下时候可能会发生抖动,抖动如下图,有可能造成误判,因此我们需要使用延时函数来进行消抖(防误触)。
常用的方法就是当检测按键值为 0 时,延时一段时间,大约 10ms,再判断按键引脚值仍然是 0,是的话说明按键被按下。延时使用 time 模块
time模块的使用方法如下
- import time
- time.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 下开发显得很简单。
-
led灯
+关注
关注
22文章
1593浏览量
108905 -
欧姆电阻
+关注
关注
0文章
71浏览量
15651 -
ESP32
+关注
关注
18文章
990浏览量
18120 -
Micropython
+关注
关注
0文章
68浏览量
4951
发布评论请先 登录
相关推荐
MicroPython+ESP32+Pycharm
如何在ESP32上使用MicroPython
是否有人使用过这些esp32 s3盒子中的任何一个来运行MicroPython?
视频教程-micropython基础入门(esp32/esp8266单片机开发)-物联网技术

[ESP32]学习笔记02
![[<b class='flag-5'>ESP32</b>]学习笔记02](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
ESP32刷入MicroPython以及连接WiFi

使用MicroPython开发ESP32(01):快速入门

如何在ESP32/ESP8266上使用MicroPython

使用ESP32连接腾讯云实现远程控制
构建ESP32 MicroPython Wifi的机器人汽车

评论