chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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中使用PWM

CHANBAEK ? 來(lái)源:小小小向日葵 ? 作者:騎驢去相親 ? 2023-07-13 11:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

關(guān)于ESP32PWM的簡(jiǎn)要說(shuō)明

ESP32 SoC 滿(mǎn)載了非常有用的外設(shè),PWM 就是其中之一。是的。ESP32 的芯片中有一個(gè)專(zhuān)用的 PWM 硬件模塊。脈寬調(diào)制或簡(jiǎn)稱(chēng)PWM是一種成熟且廣泛使用的供電技術(shù)。

您可以使用 ESP32 的 PWM 來(lái)驅(qū)動(dòng) LED、電機(jī)(普通直流電機(jī)和無(wú)刷電機(jī))和智能燈。ESP32 中的 PWM 控制器由兩個(gè)主要子模塊組成:LED 控制或 LEDC 外設(shè)和電機(jī)控制脈寬調(diào)制器或 MCPWM 外設(shè)。

盡管我們將 ESP32 中的 PWM 演示限制為衰落 LED,但最好了解一下 ESP32 中帶有輸入捕獲模塊的電機(jī)控制 PWM (MCPWM) 模塊。

如果您曾經(jīng)使用過(guò)無(wú)刷直流 (BLDC) 電機(jī),您就會(huì)意識(shí)到感測(cè)轉(zhuǎn)子位置(使用霍爾效應(yīng)傳感器)對(duì)于精確速度控制的重要性。

ESP32發(fā)光二極管(LEDC)

ESP32 的 LEDC 外設(shè)由 16 個(gè)能夠生成獨(dú)立波形的 PWM 通道組成,主要用于 RGB LED 控制,但也可用于其他用途。

關(guān)于 ESP32 中的 LED PWM 控制器,您應(yīng)該注意幾個(gè)有趣的點(diǎn)。

16 個(gè)獨(dú)立的 PWM 通道,分為兩組,每組 8 個(gè)通道。

1 位和 16 位之間的可編程分辨率。

PWM波的頻率取決于PWM的分辨率。

自動(dòng)增加/減少占空比,無(wú)需處理器干預(yù)。

配置ESP32的PWM通道

你還記得Arduino編程中的'analogWrite()'函數(shù)嗎?它是負(fù)責(zé)在Arduino UNO(和其他“Arduino”板)中生成PWM的功能。

由于 ESP32 的 LED PWM 中的幾乎所有內(nèi)容都是用戶(hù)可配置的(通道、分辨率和頻率),因此我們將使用一組不同的(專(zhuān)用)函數(shù)來(lái)配置 ESP32 中的 PWM,而不是使用“analogWrite()”功能。

以下是驅(qū)動(dòng)程序公開(kāi)的所有 LEDC API 的列表。這些函數(shù)是為 ESP32 的 Arduino IDE 端口編寫(xiě)的。

ledcSetup(頻道、頻率、resolution_bits);

ledcAttachPin(pin, channel);

ledcWrite(channel, Occupational cycle);

ledcRead(channel);

ledcWriteTone(通道,頻率);

ledcWriteNote(channel, note, octave);

ledcReadFreq(channel);

ledcDetachPin(pin);

在 8 個(gè)函數(shù)中,我們將專(zhuān)注于前三個(gè),因?yàn)樗鼈儗?duì)于生成 PWM 更有用(也是最低要求)。

在 ESP32 中配置 PWM 通道時(shí)需要記住的幾個(gè)要點(diǎn):

由于有 16 個(gè) PWM 通道,“channel”參數(shù)采用 0 到 15 之間的任何值。

接下來(lái)是PWM信號(hào)的頻率。您可以根據(jù)需要設(shè)置頻率,例如 1 KHz、5 KHz、8 KHz 和 10 KHz。

PWM 的分辨率也是可配置的,ESP32 PWM 可以編程在 1 位到 16 位分辨率之間的任何位置。

PWM頻率和分辨率成反比,并且取決于時(shí)鐘源。因此,在選擇頻率和分辨率值時(shí)要小心。

最后,為PWM輸出分配一個(gè)GPIO引腳。您可以分配任何 GPIO 引腳,但在分配時(shí)要小心(不要使用已經(jīng)使用的 GPIO 引腳,如 UART、SPI 等)。

下表顯示了幾種常用的PWM頻率和分辨率。

圖片

在ESP32中使用PWM的LED衰落

隨著 ESP32 中 PWM 的所有必要信息的發(fā)布,我們現(xiàn)在可以繼續(xù)實(shí)施我們的第一個(gè)項(xiàng)目 ESP32 PWM 使 LED 褪色。這是一個(gè)非常簡(jiǎn)單的項(xiàng)目,連接到 ESP32 GPIO 引腳的 LED 的亮度會(huì)逐漸反復(fù)增加和減少。[面向初學(xué)者的 ESP32 項(xiàng)目]

這個(gè)項(xiàng)目更多的是了解 LEDC 的功能:ledcSetup、ledcAttachPin 和 ledcWrite,以及如何在 ESP32 中生成 PWM,而不是衰落的 LED 本身。

所需組件

ESP32 開(kāi)發(fā)套件開(kāi)發(fā)板

3 個(gè) 5 毫米發(fā)光二極管

?220Ω電阻

3 x 5KΩ 電位計(jì)

面包板

連接線(xiàn)

微型 USB 連接線(xiàn)

電路圖

下圖顯示了使用 ESP32 PWM 控制器淡入 LED 淡入淡出的連接。

圖片

法典

您可以使用任何 GPIO 引腳來(lái)輸出 PWM 信號(hào)。所以,我正在使用GPIO 16,這也是UART2 RX引腳。接下來(lái),我們必須使用“l(fā)edcSetup”功能設(shè)置LEDC通道。第一個(gè)參數(shù)是通道。0 到 15 之間的任何值都可以作為通道給出。

下一個(gè)參數(shù)是頻率。您可以提供任何頻率,但為了方便起見(jiàn),我將頻率設(shè)置5KHz。此外,您必須設(shè)置PWM的分辨率。此值必須是介于1和 16之間的數(shù)字。我選擇了10位分辨率。

有關(guān)其余設(shè)置,請(qǐng)參閱以下代碼,其中我注釋了重要行。

圖片

注意:您可以將多個(gè) GPIO 引腳連接到同一個(gè)LEDC PWM 通道。如果這樣做,所有 GPIO 引腳將共享通道的屬性(分辨率和頻率)。

ADC的ESP32脈寬調(diào)制器

ESP32 中 PWM 的一個(gè)重要特點(diǎn)是所有16個(gè)通道都可以獨(dú)立配置,即每個(gè)通道都可以有自己的分辨率和頻率。為了演示這一點(diǎn),我們利用ADC外設(shè),通過(guò)轉(zhuǎn)動(dòng)電位計(jì)獨(dú)立調(diào)整三個(gè)不同LEDC PWM通道的占空比。

三個(gè) 5KΩ 電位器連接到 ESP32 的三個(gè) ADC 輸入引腳。根據(jù)ADC的輸出,我們將設(shè)置三個(gè)PWM通道的占空比,這些通道配置了不同的參數(shù)。

為了便于理解,我將三個(gè) LED:紅色、綠色和藍(lán)色連接到三個(gè) GPIO 引腳。這三個(gè)GPIO引腳連接到三個(gè)不同的LEDC PWM通道,每個(gè)通道都使用自己的頻率和分辨率進(jìn)行初始化。

圖片

要記住的另一個(gè)重要點(diǎn)是 ESP32 的 ADC 分辨率為 12 位。因此,我們必須仔細(xì)地將其映射到PWM分辨率,以獲得全方位的控制。

電路圖

下圖顯示了使用ADC(電位計(jì))調(diào)整PWM通道占空比的連接。

圖片

法典

圖片

結(jié)論

有關(guān) ESP32 PWM 外設(shè)的完整教程。您學(xué)習(xí)了如何在 ESP32 中使用 PWM 來(lái)淡入 LED 的淡入淡出,如何配置 PWM 通道、設(shè)置頻率和分辨率。您還學(xué)習(xí)了如何獨(dú)立配置 ESP32 中的 PWM 通道。

聲明:本文內(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
    led
    +關(guān)注

    關(guān)注

    243

    文章

    24446

    瀏覽量

    687560
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17650

    瀏覽量

    190311
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    116

    文章

    5847

    瀏覽量

    223866
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4517

    瀏覽量

    227669
  • ESP32
    +關(guān)注

    關(guān)注

    24

    文章

    1085

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    利用ESP32 PWM信號(hào)控制LED的亮度

    在本教程,我們將討論ESP32 開(kāi)發(fā)板的 PWM(脈沖寬度調(diào)制)引腳。ESP32 開(kāi)發(fā)板的所有 GPIO 引腳(Power、GND、Tx、Rx 和 EN 除外)均可用于獲取
    的頭像 發(fā)表于 08-12 15:21 ?1.9w次閱讀
    利用<b class='flag-5'>ESP32</b> <b class='flag-5'>PWM</b>信號(hào)控制LED的亮度

    什么是PWM?如何在esp32初始化配置?

    什么是PWM?如何在esp32初始化配置?
    發(fā)表于 02-17 07:19

    何在ESP-IDF的組件中使用傳感器服務(wù)器和客戶(hù)端模型?如何使用esp32 ble Mesh協(xié)議構(gòu)建傳感器網(wǎng)絡(luò)?

    我想通過(guò)將傳感器連接到節(jié)點(diǎn)之一來(lái)將傳感器數(shù)據(jù)泛洪到BLE Mesh網(wǎng)絡(luò)的所有設(shè)備。我無(wú)法理解如何在ESP-IDF的組件中使用傳感器服務(wù)器和客戶(hù)端模型,以及如何使用
    發(fā)表于 03-09 06:41

    何在Windows 10上啟動(dòng)/設(shè)置ESP8266/ESP32 RTOS環(huán)境?

    我在 Arduino IDE 上有一些關(guān)于 ESP8266/ESP32 的經(jīng)驗(yàn)。 請(qǐng)告訴我,如何在 Windows 10 上啟動(dòng)/設(shè)置 ESP8266/
    發(fā)表于 05-19 10:33

    ESP32教程之如何在Windows系統(tǒng)上搭建開(kāi)發(fā)環(huán)境

    本文檔的主要內(nèi)容詳細(xì)介紹的是ESP32教程之如何在Windows系統(tǒng)上搭建開(kāi)發(fā)環(huán)境。
    發(fā)表于 12-13 15:34 ?40次下載
    <b class='flag-5'>ESP32</b>教程之如<b class='flag-5'>何在</b>Windows系統(tǒng)上搭建開(kāi)發(fā)環(huán)境

    如果在Zephyr內(nèi)如何使用ESP32藍(lán)牙

    在Zephyr ESP32 藍(lán)牙驅(qū)動(dòng)簡(jiǎn)析一文簡(jiǎn)要分析了esp32 藍(lán)牙如何集成進(jìn)Zephyr,本文接著說(shuō)明如果在Zephyr內(nèi)使用ESP32藍(lán)牙。 在Zepher
    的頭像 發(fā)表于 06-07 16:42 ?4894次閱讀

    ESP32_PWM學(xué)習(xí)總結(jié)

    esp32——PWM學(xué)習(xí)總結(jié)什么是PWMesp32初始化配置定時(shí)器配置通道配置修改輸出占空比方式使用軟件改變
    發(fā)表于 12-22 19:39 ?12次下載
    <b class='flag-5'>ESP32_PWM</b>學(xué)習(xí)總結(jié)

    esp32小車(chē)實(shí)驗(yàn)

    esp32小車(chē)實(shí)驗(yàn)了解esp32呼吸燈實(shí)驗(yàn)驅(qū)動(dòng)直流電機(jī)認(rèn)識(shí)第一個(gè)傳感器使用wifi進(jìn)行調(diào)參了解esp32環(huán)境搭建以及初識(shí)esp32我們所用的開(kāi)發(fā)板跟視頻
    發(fā)表于 01-12 17:16 ?19次下載
    <b class='flag-5'>esp32</b>小車(chē)實(shí)驗(yàn)

    ESP32系列芯片的規(guī)格

    ESP32是一款2.4GHz Wi-Fi和藍(lán)牙組合芯片,采用TSMC超低功耗40nm設(shè)計(jì)技術(shù)它旨在實(shí)現(xiàn)最佳功率和射頻性能,顯示出魯棒性、多功能性和靈活性在各種應(yīng)用和電源場(chǎng)景的可靠性。ESP32系列芯片包括
    發(fā)表于 04-25 16:21 ?7次下載

    何在ESP32/ESP8266上使用MicroPython

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

    使用Visuino DIY如何在M5StickC ESP32上顯示時(shí)間

    電子發(fā)燒友網(wǎng)站提供《使用Visuino DIY如何在M5StickC ESP32上顯示時(shí)間.zip》資料免費(fèi)下載
    發(fā)表于 11-21 09:36 ?0次下載
    使用Visuino DIY如<b class='flag-5'>何在</b>M5StickC <b class='flag-5'>ESP32</b>上顯示時(shí)間

    【DFRobot Beetle ESP32-C3開(kāi)發(fā)板試用體驗(yàn)】WEBSOKET—PWM—LED

    的,用ESP32C3寫(xiě)一個(gè)websocket服務(wù)器,用網(wǎng)頁(yè)來(lái)實(shí)現(xiàn)控制板載LED燈亮度的例子。 【實(shí)現(xiàn)思路】1、ESP32建立webserver。2、書(shū)寫(xiě)一個(gè)ajax的網(wǎng)頁(yè)。3、配置LED燈的pwm。 1
    的頭像 發(fā)表于 11-28 14:11 ?2551次閱讀
    【DFRobot Beetle <b class='flag-5'>ESP32</b>-C3開(kāi)發(fā)板試用體驗(yàn)】WEBSOKET—<b class='flag-5'>PWM</b>—LED

    ESP32 PWM驅(qū)動(dòng)電機(jī)

    ESP32 尋跡模塊測(cè)試 尋跡模塊測(cè)試 所選設(shè)備 ESP32使用PWM 示例代碼 尋跡模塊測(cè)試 所選設(shè)備 ’ ESP32 引腳 說(shuō)明 16 需要先拉低在拉高,才能驅(qū)動(dòng)電機(jī) 13
    發(fā)表于 03-20 11:37 ?4次下載
    <b class='flag-5'>ESP32</b> <b class='flag-5'>PWM</b>驅(qū)動(dòng)電機(jī)

    如何使用ESP32的LEDC進(jìn)行PWM控制?

    LEDC(LED控制器)是ESP32的一個(gè)功能強(qiáng)大的PWM(脈沖寬度調(diào)制)控制器。
    發(fā)表于 05-19 11:14 ?4164次閱讀
    如何使用<b class='flag-5'>ESP32</b>的LEDC進(jìn)行<b class='flag-5'>PWM</b>控制?

    何在Arduino IDE安裝ESP32開(kāi)發(fā)環(huán)境

    要在Arduino IDE中使ESP32開(kāi)發(fā)板,您需要先安裝相應(yīng)的開(kāi)發(fā)環(huán)境。以下是在Arduino IDE安裝ESP32開(kāi)發(fā)環(huán)境的步驟。
    的頭像 發(fā)表于 07-13 16:48 ?2.3w次閱讀
    如<b class='flag-5'>何在</b>Arduino IDE<b class='flag-5'>中</b>安裝<b class='flag-5'>ESP32</b>開(kāi)發(fā)環(huán)境