0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用MicroPython和ESP32來編寫按鍵程序?

冬至子 ? 來源:醉里挑燈舞劍 ? 作者:Franze ? 2023-11-08 12:35 ? 次閱讀

材料準備

圖片

連接電路

首先,我們需要將LED燈、電阻和開關、ESP32連接起來。具體步驟如下:

可以看到跟上一節(jié) LED 一樣,只是輸入/輸出狀態(tài)的一個改變。從上圖可以看到,我們只需要在開發(fā)板上電后判斷 KEY 引腳的電平,當被按下時候引腳為低電平“0”。

編寫代碼

圖片

按鍵被按下時候可能會發(fā)生抖動,抖動如下圖,有可能造成誤判,因此我們需要使用延時函數來進行消抖(防誤觸)。

常用的方法就是當檢測按鍵值為 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() # 獲取毫秒計時器開始值

代碼簡說

代碼的注釋很清楚了
從上面代碼可以看到,初始化各個對象后,進入循環(huán),當檢測到 KEY 的值為0(按鍵被按下)時候,先做了 10ms 的延時,再次判斷;

state 為 LED 狀態(tài)的值,每次按鍵按下后通過使用 not 來改變。這里注意的是在 python 里使用‘not’而不是‘’的方式。not 返回的是 True 和 False,即0,1。而 是取反操作,會導致出錯。

運行程序

可以看到每當按鍵 KEY 被按下后,LED 的亮滅狀態(tài)發(fā)生改變。

總結

按鍵作為我們學習的第一個輸入設備,有了輸入設備我們就可以跟硬件做人機交互了,這對后面的學習非常有意義??梢钥吹桨存I在 MicroPython 下開發(fā)顯得很簡單。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led燈
    +關注

    關注

    22

    文章

    1592

    瀏覽量

    107754
  • 歐姆電阻
    +關注

    關注

    0

    文章

    71

    瀏覽量

    15555
  • ESP32
    +關注

    關注

    17

    文章

    951

    瀏覽量

    16992
  • Micropython
    +關注

    關注

    0

    文章

    68

    瀏覽量

    4703
收藏 人收藏

    評論

    相關推薦

    【FireBeetle 2 ESP32-S3開發(fā)板測評】MicroPython開發(fā)體驗

    【FireBeetle 2 ESP32-S3開發(fā)板測評】MicroPython開發(fā)體驗
    的頭像 發(fā)表于 07-23 09:02 ?1720次閱讀
    【FireBeetle 2 <b class='flag-5'>ESP32</b>-S3開發(fā)板測評】<b class='flag-5'>MicroPython</b>開發(fā)體驗

    請問ESP32如何查看MicroPython的版本?

    ESP32如何查看MicroPython的版本?
    發(fā)表于 06-05 07:35

    MicroPython+ESP32+Pycharm

    使用Pycharm2024.1+MicroPython開發(fā)ESP32 在使用過程中,代碼可以正常寫入,但是在REPL界面中無法正確讀取到文件 期待得到您的回答
    發(fā)表于 07-07 17:38

    如何在ESP32上使用MicroPython

    ESP32移植MicroPython簡介安裝esptool下載MicroPython固件寫入固件連接Putty測試程序簡介本教程制作于Windows系統(tǒng)。通過python環(huán)境下運行es
    發(fā)表于 01-11 07:58

    為什么使用MicroPython開發(fā)ESP32

    為什么使用MicroPython開發(fā)ESP32?
    發(fā)表于 02-22 08:08

    是否有人使用過這些esp32 s3盒子中的任何一個運行MicroPython?

    想知道是否有人使用過這些 esp32 s3 盒子中的任何一個運行 MicroPython?我已經能夠為 MicroPython 刷寫 ESP32
    發(fā)表于 04-12 06:35

    視頻教程-micropython基礎入門(esp32/esp8266單片機開發(fā))-物聯(lián)網技術

    micropython基礎入門(esp32/esp8266單片機開發(fā)) 10...
    發(fā)表于 11-13 15:36 ?55次下載
    視頻教程-<b class='flag-5'>micropython</b>基礎入門(<b class='flag-5'>esp32</b>/<b class='flag-5'>esp</b>8266單片機開發(fā))-物聯(lián)網技術

    [ESP32]學習筆記02

    [ESP32學習筆記02]使用ViusalStudio2017開發(fā)ESP32、按鍵輸入檢測前言一、安裝Visual Studio 2017二、配置開發(fā)環(huán)境1.安裝ViusalGDB2.下面我們安裝
    發(fā)表于 12-03 17:36 ?23次下載
    [<b class='flag-5'>ESP32</b>]學習筆記02

    ESP32刷入MicroPython以及連接WiFi

    一、ESP32刷入MicroPython1.ESP32驅動2.下載MicroPython3.刷入micropython4.進入ESP32二、
    發(fā)表于 12-04 19:51 ?28次下載
    <b class='flag-5'>ESP32</b>刷入<b class='flag-5'>MicroPython</b>以及連接WiFi

    使用MicroPython開發(fā)ESP32(01):快速入門

    文章目錄為什么使用MicroPython開發(fā)ESP32快速入門開發(fā)板準備開發(fā)工具選擇固件下載與燒錄我的總結為什么使用MicroPython開發(fā)ESP32ESP32是非常熱門的一款物聯(lián)網
    發(fā)表于 12-29 18:49 ?22次下載
    使用<b class='flag-5'>MicroPython</b>開發(fā)<b class='flag-5'>ESP32</b>(01):快速入門

    如何在ESP32/ESP8266上使用MicroPython

    在本教程中,我們將了解 MicroPython,它與 Python 有何不同,以及如何在 ESP32/ESP8266 上開始使用 MicroPython。此外,我們將看到一個 LED
    發(fā)表于 08-19 15:09 ?1.4w次閱讀
    如何在<b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP</b>8266上使用<b class='flag-5'>MicroPython</b>

    使用ESP32連接騰訊云實現遠程控制

    上次給大家分享了如何使用ESP32實現藍牙通信,今天跟大家聊聊如何使用ESP32連接騰訊云實現遠程控制。本次實驗用到MQTT協(xié)議,同樣,我用miropython編寫程序實現,最終可以通過騰訊連連微信
    的頭像 發(fā)表于 11-22 09:19 ?3530次閱讀

    [esp32教程]2、按鍵中斷

    基于Ubuntu,利用esp-idf進行esp32的教學
    的頭像 發(fā)表于 05-05 09:04 ?7042次閱讀
    [<b class='flag-5'>esp32</b>教程]2、<b class='flag-5'>按鍵</b>中斷

    基于ESP32+MicroPython實現聯(lián)網并進行UDP通信

    使用 esp32 開發(fā)程序,非常重要的功能就是使用 wifi,下面我們就講一下 esp32 連接 wifi 的方法。
    的頭像 發(fā)表于 06-13 17:05 ?5871次閱讀
    基于<b class='flag-5'>ESP32+MicroPython</b>實現聯(lián)網并進行UDP通信

    構建ESP32 MicroPython Wifi的機器人汽車

    電子發(fā)燒友網站提供《構建ESP32 MicroPython Wifi的機器人汽車.zip》資料免費下載
    發(fā)表于 07-12 09:12 ?7次下載
    構建<b class='flag-5'>ESP32</b> <b class='flag-5'>MicroPython</b> Wifi的機器人汽車