材料準備
連接電路
首先,我們需要將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文章
1592瀏覽量
108458 -
歐姆電阻
+關注
關注
0文章
71瀏覽量
15599 -
ESP32
+關注
關注
18文章
980瀏覽量
17565 -
Micropython
+關注
關注
0文章
68瀏覽量
4805
發布評論請先 登錄
相關推薦
MicroPython+ESP32+Pycharm
如何在ESP32上使用MicroPython
是否有人使用過這些esp32 s3盒子中的任何一個來運行MicroPython?
視頻教程-micropython基礎入門(esp32/esp8266單片機開發)-物聯網技術
![視頻教程-<b class='flag-5'>micropython</b>基礎入門(<b class='flag-5'>esp32</b>/<b class='flag-5'>esp</b>8266單片機開發)-物聯網技術](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
[ESP32]學習筆記02
![[<b class='flag-5'>ESP32</b>]學習筆記02](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
ESP32刷入MicroPython以及連接WiFi
![<b class='flag-5'>ESP32</b>刷入<b class='flag-5'>MicroPython</b>以及連接WiFi](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
使用MicroPython開發ESP32(01):快速入門
![使用<b class='flag-5'>MicroPython</b>開發<b class='flag-5'>ESP32</b>(01):快速入門](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
如何在ESP32/ESP8266上使用MicroPython
![如何在<b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP</b>8266上使用<b class='flag-5'>MicroPython</b>](https://file.elecfans.com/web2/M00/63/77/pYYBAGL_NriAWGiVAAJnszk1qi8528.png)
使用ESP32連接騰訊云實現遠程控制
構建ESP32 MicroPython Wifi的機器人汽車
![構建<b class='flag-5'>ESP32</b> <b class='flag-5'>MicroPython</b> Wifi的機器人汽車](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論