一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于ESP32+MicroPython點(diǎn)亮LED燈

CHANBAEK ? 來(lái)源:FunIO ? 作者:好好學(xué)習(xí)哇 ? 2023-06-13 16:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    1. 連接開(kāi)發(fā)板
    1. micropython 關(guān)于 GPIO 的描述
    1. 控制 led 的亮滅

對(duì)于應(yīng)用程序,我們第一個(gè)程序是打印。對(duì)于嵌入式,我們第一個(gè)程序是點(diǎn)燈。

1. 連接開(kāi)發(fā)板

將開(kāi)發(fā)板鏈接到電腦,打開(kāi) Thonny,配置串口,如下:

圖片

配置串口

然后就會(huì)發(fā)現(xiàn) IED 的 shell 顯示已經(jīng)連接到 esp32 解釋器,如下:

圖片

連接esp32

這時(shí)候 IDE 已經(jīng)串口連接到開(kāi)發(fā)板了,若沒(méi)有連接,請(qǐng)自行翻看環(huán)境配置章節(jié)內(nèi)容。

2. micropython 關(guān)于 GPIO 的描述

led 的控制,是通過(guò)將 GPIO 配置成輸出模式,然后控制輸出電平的高低來(lái)實(shí)現(xiàn)的。

對(duì)于任何嵌入式開(kāi)發(fā),數(shù)據(jù)手冊(cè)和 demo 是必不可少的,對(duì)于 Micropython 開(kāi)發(fā),我們必看的是 MicroPython 官方的文檔GPIO 章節(jié) ^[1]^ 。如下:

圖片

配置gpio

大概意思是說(shuō) GPIO 的使用是通過(guò) machine.Pin 類(lèi)來(lái)實(shí)現(xiàn)的:

from machine import Pin

p0 = Pin(0, Pin.OUT)    # create output pin on GPIO0
p0.on()                 # set pin to "on" (high) level
p0.off()                # set pin to "off" (low) level
p0.value(1)             # set pin to on/high

p2 = Pin(2, Pin.IN)     # create input pin on GPIO2
print(p2.value())       # get value, 0 or 1

p4 = Pin(4, Pin.IN, Pin.PULL_UP) # enable internal pull-up resistor
p5 = Pin(5, Pin.OUT, value=1) # set pin high on creation
p6 = Pin(6, Pin.OUT, drive=Pin.DRIVE_3) # set maximum drive strength

引腳范圍(含):0-19、21-23、25-27、32-39。這些對(duì)應(yīng) ESP32 芯片實(shí)際的 GPIO 管腳號(hào)。注意許多最終用戶(hù)板使用他們自己的臨時(shí)引腳編號(hào)(例如標(biāo)記為 D0、D1 等)。有關(guān)電路板邏輯引腳和物理芯片引腳之間的映射,請(qǐng)參閱您的電路板文檔。

支持四種驅(qū)動(dòng)強(qiáng)度,引腳使用Pin()這個(gè)構(gòu)造函數(shù)或Pin.init()方法,通過(guò)drive的關(guān)鍵字參數(shù) ,可以設(shè)置不同的對(duì)應(yīng)最大安全源/灌電流和近似內(nèi)部驅(qū)動(dòng)器電阻

  • Pin.DRIVE_0:5 毫安/ 130 歐姆
  • Pin.DRIVE_1:10 毫安/ 60 歐姆
  • Pin.DRIVE_2:20mA / 30 歐姆(如果未配置則為默認(rèn)強(qiáng)度)
  • Pin.DRIVE_3:40 毫安/ 15 歐姆

Pin()和 Pin.init()的 hold 關(guān)鍵字參數(shù)將啟用 ESP32 的“pad hold”功能。當(dāng)設(shè)置為 True 時(shí),引腳配置(方向,拉電阻和輸出值)將保持不變,任何進(jìn)一步的改變(包括改變輸出電平)將不應(yīng)用。設(shè)置 hold=False 將立即應(yīng)用任何未完成的引腳配置更改并釋放引腳。當(dāng)一個(gè)引腳已經(jīng)保持時(shí),使用 hold=True 將應(yīng)用任何配置更改,然后立即重新應(yīng)用 hold。

筆記:

  • Pin 1 和 3 分別是 REPL UART TX 和 RX
  • Pins 6, 7, 8, 11, 16, and 17 用于連接嵌入式 flash,不建議用于其他用途
  • 引腳 34-39 僅供輸入,也沒(méi)有內(nèi)部上拉電阻
  • 有關(guān)睡眠期間管腳行為的討論,請(qǐng)參見(jiàn)深度睡眠模式^[2]^

有一個(gè)更高級(jí)別的抽象 machine.Signal^[3]^ ??捎糜诜崔D(zhuǎn)引腳的信號(hào)

3. 控制 led 的亮滅

下面我們看一下我們的原理圖,首先看一下我們關(guān)于 LED 的原理圖:

圖片

led原理圖

我們可知,控制 led 的引腳為 IO2,當(dāng)引腳輸出高電平,led 亮,輸出低電平,led 滅。

我們現(xiàn)在 ide 的 shell 里面控制 led,在 shell 界面里面按行輸入下面內(nèi)容,每輸入一行點(diǎn)擊一次回車(chē),當(dāng)出現(xiàn)>>>的時(shí)候輸入下一行,如下:

圖片

命令行控制led

當(dāng)輸入pin.on()時(shí)候,觀(guān)察 led 會(huì)亮起,當(dāng)輸入pin.off()led 會(huì)熄滅。

注意:

on 和 off 控制的是 GPIO 輸出高低,只是湊巧本開(kāi)發(fā)板是共陰極的,因此 on 的時(shí)候引腳輸出高,正好 led 亮。

對(duì)于共陽(yáng)極的 led,on 是熄滅,off 是亮起。

上面我們是在控制臺(tái)打印的,想讓 esp32 上電就運(yùn)行程序需要將程序下載到 esp32 中,方法如下,點(diǎn)擊boot.py,在輸入如下內(nèi)容:

from machine import Pin
import time

pin = Pin(2, Pin.OUT)

while True:
    pin.on()
    time.sleep(1)
    pin.off()
    time.sleep(1)

如下圖:

圖片

led閃爍

保存后,先點(diǎn)擊運(yùn)行當(dāng)前腳本按鈕,看一下寫(xiě)的是否有錯(cuò)誤,正確的話(huà)此時(shí) led 就會(huì)閃爍了。

按一下開(kāi)發(fā)板的復(fù)位鍵,程序發(fā)現(xiàn)程序就可以開(kāi)機(jī)運(yùn)行了。

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

    關(guān)注

    22

    文章

    1596

    瀏覽量

    109727
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5679

    瀏覽量

    104606
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    38

    文章

    3335

    瀏覽量

    59019
  • ESP32
    +關(guān)注

    關(guān)注

    21

    文章

    1017

    瀏覽量

    19250
  • Micropython
    +關(guān)注

    關(guān)注

    0

    文章

    68

    瀏覽量

    5299
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【FireBeetle 2 ESP32-S3開(kāi)發(fā)板測(cè)評(píng)】MicroPython開(kāi)發(fā)體驗(yàn)

    【FireBeetle 2 ESP32-S3開(kāi)發(fā)板測(cè)評(píng)】MicroPython開(kāi)發(fā)體驗(yàn)
    的頭像 發(fā)表于 07-23 09:02 ?2540次閱讀
    【FireBeetle 2 <b class='flag-5'>ESP32</b>-S3開(kāi)發(fā)板測(cè)評(píng)】<b class='flag-5'>MicroPython</b>開(kāi)發(fā)體驗(yàn)

    如何使用Micropython+ESP32點(diǎn)亮第一個(gè)LED呢?

    首先,我們需要將LED、電阻和ESP32連接起來(lái)。
    的頭像 發(fā)表于 11-08 12:27 ?4327次閱讀
    如何使用<b class='flag-5'>Micropython+ESP32</b><b class='flag-5'>點(diǎn)亮</b>第一個(gè)<b class='flag-5'>LED</b>呢?

    ESP32+micropython開(kāi)源項(xiàng)目挑戰(zhàn)之--像素

    ESP32
    YS YYDS
    發(fā)布于 :2023年07月02日 17:48:46

    【樂(lè)鑫ESP32-DevKitC-32D模組開(kāi)發(fā)板免費(fèi)試用】(3)mpy的WiFi連接和gpio控制LED

    p13.off()時(shí),再次輸出低電平,LED也再次點(diǎn)亮如下圖。到這里,我們完成了關(guān)于mpy的repl交互環(huán)境下PIN的簡(jiǎn)單編程和LED閃爍blink,其他
    發(fā)表于 07-15 15:56

    ESP32如何點(diǎn)亮一盞LED

    物理GPIO引腳,除了一些具有特殊用途的GPIO外,大部分GPIO都可以復(fù)用。本文就通過(guò)點(diǎn)亮一盞LED并通過(guò)一個(gè)按鍵控制其亮滅來(lái)簡(jiǎn)單學(xué)習(xí)如何控制ESP32芯片GPIO的輸入與輸出。本
    發(fā)表于 02-11 06:41

    視頻教程-micropython基礎(chǔ)入門(mén)(esp32/esp8266單片機(jī)開(kāi)發(fā))-物聯(lián)網(wǎng)技術(shù)

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

    ESP32刷入MicroPython以及連接WiFi

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

    ESP32入門(mén)之GPIO:點(diǎn)亮一盞LED

    物理GPIO引腳,除了一些具有特殊用途的GPIO外,大部分GPIO都可以復(fù)用。本文就通過(guò)點(diǎn)亮一盞LED并通過(guò)一個(gè)按鍵控制其亮滅來(lái)簡(jiǎn)單學(xué)習(xí)如何控制ESP32芯片GPIO的輸入與輸出。本
    發(fā)表于 12-07 17:06 ?10次下載
    <b class='flag-5'>ESP32</b>入門(mén)之GPIO:<b class='flag-5'>點(diǎn)亮</b>一盞<b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    使用MicroPython開(kāi)發(fā)ESP32(01):快速入門(mén)

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

    如何在ESP32/ESP8266上使用MicroPython

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

    ESP32+MicroPython開(kāi)發(fā)環(huán)境的搭建

    ESP32 一般有兩種開(kāi)發(fā)方式,c 語(yǔ)言開(kāi)發(fā)和 python 開(kāi)發(fā)。
    的頭像 發(fā)表于 06-13 17:00 ?1.1w次閱讀
    <b class='flag-5'>ESP32+MicroPython</b>開(kāi)發(fā)環(huán)境的搭建

    基于ESP32+MicroPython實(shí)現(xiàn)聯(lián)網(wǎng)并進(jìn)行UDP通信

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

    構(gòu)建ESP32 MicroPython Wifi的機(jī)器人汽車(chē)

    電子發(fā)燒友網(wǎng)站提供《構(gòu)建ESP32 MicroPython Wifi的機(jī)器人汽車(chē).zip》資料免費(fèi)下載
    發(fā)表于 07-12 09:12 ?8次下載
    構(gòu)建<b class='flag-5'>ESP32</b> <b class='flag-5'>MicroPython</b> Wifi的機(jī)器人汽車(chē)

    esp32、esphome、hass的舊LED帶到智能LED

    電子發(fā)燒友網(wǎng)站提供《帶esp32、esphome、hass的舊LED帶到智能LED帶.zip》資料免費(fèi)下載
    發(fā)表于 07-12 09:15 ?0次下載
    帶<b class='flag-5'>esp32</b>、esphome、hass的舊<b class='flag-5'>LED</b><b class='flag-5'>燈</b>帶到智能<b class='flag-5'>LED</b><b class='flag-5'>燈</b>帶

    如何使用MicroPythonESP32來(lái)編寫(xiě)按鍵程序?

    首先,我們需要將LED、電阻和開(kāi)關(guān)、ESP32連接起來(lái)。
    的頭像 發(fā)表于 11-08 12:35 ?2675次閱讀
    如何使用<b class='flag-5'>MicroPython</b>和<b class='flag-5'>ESP32</b>來(lái)編寫(xiě)按鍵程序?