材料準(zhǔn)備

連接電路
首先,我們需要將LED燈、電阻和開關(guān)、ESP32連接起來。具體步驟如下:
可以看到跟上一節(jié) LED 一樣,只是輸入/輸出狀態(tài)的一個(gè)改變。從上圖可以看到,我們只需要在開發(fā)板上電后判斷 KEY 引腳的電平,當(dāng)被按下時(shí)候引腳為低電平“0”。
編寫代碼

按鍵被按下時(shí)候可能會(huì)發(fā)生抖動(dòng),抖動(dòng)如下圖,有可能造成誤判,因此我們需要使用延時(shí)函數(shù)來進(jìn)行消抖(防誤觸)。
常用的方法就是當(dāng)檢測(cè)按鍵值為 0 時(shí),延時(shí)一段時(shí)間,大約 10ms,再判斷按鍵引腳值仍然是 0,是的話說明按鍵被按下。延時(shí)使用 time 模塊
time模塊的使用方法如下
- import time
 - time.sleep(1) # 睡眠 1 秒
 - time.sleep_ms(500) # 睡眠 500 毫秒
 - time.sleep_us(10) # 睡眠 10 微妙
 - start = time.ticks_ms() # 獲取毫秒計(jì)時(shí)器開始值
 
代碼簡(jiǎn)說
代碼的注釋很清楚了
 從上面代碼可以看到,初始化各個(gè)對(duì)象后,進(jìn)入循環(huán),當(dāng)檢測(cè)到 KEY 的值為0(按鍵被按下)時(shí)候,先做了 10ms 的延時(shí),再次判斷;
state 為 LED 狀態(tài)的值,每次按鍵按下后通過使用 not 來改變。這里注意的是在 python 里使用‘not’而不是‘’的方式。not 返回的是 True 和 False,即0,1。而 是取反操作,會(huì)導(dǎo)致出錯(cuò)。
運(yùn)行程序
可以看到每當(dāng)按鍵 KEY 被按下后,LED 的亮滅狀態(tài)發(fā)生改變。
總結(jié)
按鍵作為我們學(xué)習(xí)的第一個(gè)輸入設(shè)備,有了輸入設(shè)備我們就可以跟硬件做人機(jī)交互了,這對(duì)后面的學(xué)習(xí)非常有意義??梢钥吹桨存I在 MicroPython 下開發(fā)顯得很簡(jiǎn)單。
- 
                                led燈
                                +關(guān)注
關(guān)注
22文章
1603瀏覽量
110870 - 
                                歐姆電阻
                                +關(guān)注
關(guān)注
0文章
71瀏覽量
15902 - 
                                ESP32
                                +關(guān)注
關(guān)注
22文章
1057瀏覽量
20594 - 
                                Micropython
                                +關(guān)注
關(guān)注
0文章
69瀏覽量
5648 
發(fā)布評(píng)論請(qǐng)先 登錄
【FireBeetle 2 ESP32-S3開發(fā)板測(cè)評(píng)】MicroPython開發(fā)體驗(yàn)
    
MicroPython+ESP32+Pycharm
如何在ESP32上使用MicroPython
是否有人使用過這些esp32 s3盒子中的任何一個(gè)來運(yùn)行MicroPython?
視頻教程-micropython基礎(chǔ)入門(esp32/esp8266單片機(jī)開發(fā))-物聯(lián)網(wǎng)技術(shù)
    
[ESP32]學(xué)習(xí)筆記02
    
ESP32刷入MicroPython以及連接WiFi
    
使用MicroPython開發(fā)ESP32(01):快速入門
    
如何在ESP32/ESP8266上使用MicroPython
    
使用ESP32連接騰訊云實(shí)現(xiàn)遠(yuǎn)程控制
基于ESP32+MicroPython實(shí)現(xiàn)聯(lián)網(wǎng)并進(jìn)行UDP通信
    
構(gòu)建ESP32 MicroPython Wifi的機(jī)器人汽車
    
          
        
        
如何使用MicroPython和ESP32來編寫按鍵程序?
                
 
    
           
            
            
                
            
評(píng)論