91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

科技觀察員 ? 來(lái)源:circuitdigest ? 作者:Ashish Choudhary ? 2022-08-12 15:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在本教程中,我們將討論ESP32 開(kāi)發(fā)板的 PWM(脈沖寬度調(diào)制)引腳。ESP32 開(kāi)發(fā)板的所有 GPIO 引腳(Power、GND、Tx、Rx 和 EN 除外)均可用于獲取 PWM 信號(hào)。作為ESP32 PWM 示例,我們將構(gòu)建一個(gè)簡(jiǎn)單的電路,根據(jù) PWM 信號(hào)改變 LED 亮度。

所需組件

ESP32

引領(lǐng)

330Ω電阻

10k 鍋

面包板

PWM 生成

在解釋 ESP32 上的 PWM 生成之前,讓我們討論一些與 PWM 相關(guān)的術(shù)語(yǔ)。

TON(開(kāi)啟時(shí)間):信號(hào)為高電平的持續(xù)時(shí)間。

TOFF(關(guān)閉時(shí)間):信號(hào)為低電平的持續(xù)時(shí)間。

周期:它是 PWM 信號(hào)的開(kāi)啟時(shí)間和關(guān)閉時(shí)間的總和。

TotalPeriod = T ON + T OFF

占空比:在 PWM 信號(hào)周期內(nèi)信號(hào)為高電平的時(shí)間百分比。

占空比 = T ON /T總計(jì)* 100

例如,如果一個(gè)總周期為 10ms 的脈沖保持 ON(高)5ms。然后,占空比將是:

占空比 = 5/10 * 100 = 50% 占空比

poYBAGL1_vKAZrAIAAAw58nUBWk412.png

PWM的頻率:PWM 信號(hào)的頻率決定了 PWM 完成一個(gè)周期的速度。一個(gè)周期是完成一個(gè) PWM 信號(hào)的 ON 和 OFF,如上圖所示。

ESP32 上的 PWM 生成

Arduino和 NodeMCU 中,我們使用模擬寫入()函數(shù)將 0 到 254 之間的值“寫入”到 LED 引腳。但是ESP32開(kāi)發(fā)板不支持analogWrite()函數(shù)。所以我們將使用另一個(gè)函數(shù)而不是analogWrite(),即ledcWrite()函數(shù)。ledcWrite ()與analogWrite()非常相似。它還需要兩個(gè)參數(shù):我們想要“寫入”PWM 值的 PWM 通道和我們想要寫入所選通道的 PWM 值。ESP32 有 16 個(gè) PWM 通道,您可以使用任何 GPIO 來(lái)生成 PWM 輸出。ESP32 提供了三個(gè)函數(shù)來(lái)分配一個(gè) PWM 通道到一個(gè)引腳,以及配置 PWM 信號(hào)的分辨率、頻率和占空比。這些功能是:

ledcAttachPin(gpio, channel)

ledcSetup(channel, frequency, resolution)

ledcWrite(channel, dutycycle)

電路原理

ESP32 PWM的電路圖如下所示。

poYBAGL1_u2ATfKJAAFu9_BvnC8196.png

該電路包含一個(gè) LED、一個(gè)電阻器和一個(gè) 10K 電位器。LED 的負(fù)極通過(guò)一個(gè) 330 Ω 的電阻連接到 ESP32 的 GND。您可以使用 230 Ω 和 500 Ω 之間的任何電阻值。將 LED 正極引腳連接到 GPIO 16,將 Pot 的信號(hào)引腳連接到 ESP32 的 ADC1 (VP) 引腳。

ESP32 PWM 代碼說(shuō)明

完整的代碼在頁(yè)面末尾給出。

此代碼不需要任何庫(kù),因此通過(guò)定義引腳開(kāi)始您的代碼,LED 連接到。就我而言,我使用 GPIO 16 連接 LED。

常量 int ledPin = 16; // 16對(duì)應(yīng)GPIO16

之后,在下一行設(shè)置 PWM 信號(hào)屬性。我將 PWM 頻率設(shè)置為 9000,分辨率設(shè)置為 10,您可以更改它以生成不同的 PWM 信號(hào)。ESP32 板支持從 1 位到 16 位的 PWM 分辨率。您還需要選擇一個(gè) PWM 通道。ESP32 共有 16 個(gè)(0 到 15)個(gè) PWM 通道。

常量 int 頻率 = 9000;
常量 int ledChannel = 0;
常量 int 分辨率 = 10;

現(xiàn)在在void setup()函數(shù)中,使用ledcSetup()函數(shù)使用您之前設(shè)置的屬性配置 LED PWM。在下一行中,定義連接 LED 的 GPIO 引腳。ledcAttachPin()函數(shù)用于定義 GPIO 引腳和生成信號(hào)的通道。在我的例子中,我使用了 GPIO 16 的 ledPin 和對(duì)應(yīng)于通道 0 的 ledChannel。

無(wú)效設(shè)置(){
  序列號(hào).開(kāi)始(9600);
  ledcSetup(ledChannel, 頻率, 分辨率);
  ledcAttachPin(ledPin, ledChannel);
}

在void 循環(huán)中,讀取連接 Pot 的模擬引腳并將讀數(shù)存儲(chǔ)在名為'dutyCycle'的變量中。LED 亮度會(huì)隨著電位器的旋轉(zhuǎn)而增加或減少。ledcWrite()與analogWrite()非常相似。

無(wú)效循環(huán)(){
   dutyCycle = 模擬讀?。ˋ0);
   ledcWrite(ledChannel, dutyCycle);
   延遲(15);
  }

測(cè)試 ESP32 PWM 信號(hào)

要測(cè)試 ESP32 PWM 信號(hào),請(qǐng)按照電路圖連接 LED 和電位器,然后將代碼上傳到您的 ESP32。確保您選擇了正確的板和 COM 端口?,F(xiàn)在旋轉(zhuǎn)電位器來(lái)增加或減少 LED 亮度。

poYBAGL1_uiASq7nAAS5d-ZcL-E172.png

常量 int ledPin = 16; // 16對(duì)應(yīng)GPIO16
uint16_t 占空比;
// 設(shè)置 PWM 屬性
常量 int 頻率 = 15000;
常量 int ledChannel = 0;
常量 int 分辨率 = 13;
無(wú)效設(shè)置(){
序列號(hào).開(kāi)始(9600);
// 配置 LED PWM 功能
ledcSetup(ledChannel, 頻率, 分辨率);
// 將通道附加到要控制的 GPIO
ledcAttachPin(ledPin, ledChannel);
}
無(wú)效循環(huán)(){
dutyCycle = 模擬讀?。ˋ0);
Serial.print(dutyCycle);
// 使用 PWM 改變 LED 亮度
ledcWrite(ledChannel, dutyCycle);
延遲(15);
}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎ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

    文章

    24595

    瀏覽量

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

    關(guān)注

    116

    文章

    5869

    瀏覽量

    225609
  • ESP32
    +關(guān)注

    關(guān)注

    26

    文章

    1194

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    ESP-Hi:基于ESP32-C3的開(kāi)源低成本AI機(jī)器狗技術(shù)解析與應(yīng)用展望

    ESP-Hi是基于ESP32-C3芯片的開(kāi)源AI機(jī)器狗項(xiàng)目,通過(guò)創(chuàng)新設(shè)計(jì)實(shí)現(xiàn)超低成本智能交互。項(xiàng)目利用芯片ADC與I2S接口實(shí)現(xiàn)語(yǔ)音功能,以PWM
    的頭像 發(fā)表于 01-14 16:30 ?2084次閱讀
    <b class='flag-5'>ESP</b>-Hi:基于<b class='flag-5'>ESP32</b>-C3的開(kāi)源低成本AI機(jī)器狗技術(shù)解析與應(yīng)用展望

    ESP32 Wi-Fi 控制 LED 燈的原理

    在智能家居、物聯(lián)網(wǎng)設(shè)備中,用手機(jī)通過(guò)Wi-Fi控制燈光、風(fēng)扇或插座,已經(jīng)非常普遍。而在嵌入式開(kāi)發(fā)中,ESP32是最常用的Wi-Fi模塊之一。本文將帶你系統(tǒng)理解:ESP32是如何通過(guò)Wi-Fi實(shí)現(xiàn)遠(yuǎn)程
    的頭像 發(fā)表于 01-09 19:04 ?294次閱讀
    <b class='flag-5'>ESP32</b> Wi-Fi <b class='flag-5'>控制</b> <b class='flag-5'>LED</b> 燈的原理

    PWM經(jīng)典應(yīng)用:LED亮度控制及呼吸燈實(shí)戰(zhàn)

    生成: 加熱控制: 本文特別分享PWM相關(guān)基礎(chǔ)知識(shí),并以Air8000核心板為例,演示LuatOS開(kāi)發(fā)中如何使用PWM功能實(shí)現(xiàn)LED亮度
    的頭像 發(fā)表于 01-05 20:50 ?247次閱讀
    <b class='flag-5'>PWM</b>經(jīng)典應(yīng)用:<b class='flag-5'>LED</b><b class='flag-5'>亮度</b><b class='flag-5'>控制</b>及呼吸燈實(shí)戰(zhàn)

    ESP32藍(lán)牙驅(qū)動(dòng)MAX98357對(duì)音頻音樂(lè)播放

    本文介紹了MAX98357音頻模塊的基本特性,并利用ESP32的藍(lán)牙功能程序驅(qū)動(dòng)此模塊,最后用手機(jī)藍(lán)牙連接ESP32播放手機(jī)音樂(lè)
    的頭像 發(fā)表于 12-19 19:55 ?2645次閱讀
    <b class='flag-5'>ESP32</b>藍(lán)牙驅(qū)動(dòng)MAX98357對(duì)音頻音樂(lè)播放

    基于PWMLED調(diào)光技術(shù)與呼吸燈實(shí)現(xiàn)方法!

    利用PWM技術(shù)控制LED亮度,不僅效率高、響應(yīng)快,還能實(shí)現(xiàn)細(xì)膩的視覺(jué)過(guò)渡。系統(tǒng)介紹PWM的工作機(jī)
    的頭像 發(fā)表于 12-15 13:03 ?431次閱讀
    基于<b class='flag-5'>PWM</b>的<b class='flag-5'>LED</b>調(diào)光技術(shù)與呼吸燈實(shí)現(xiàn)方法!

    VSCode + ESP-IDF環(huán)境下給ESP32-S3項(xiàng)目添加頭文件

    VSCode + ESP-IDF環(huán)境下給ESP32-S3項(xiàng)目添加頭文件
    的頭像 發(fā)表于 11-28 07:27 ?2302次閱讀

    LuatOS中PWM實(shí)現(xiàn)LED亮度調(diào)節(jié)與呼吸燈的實(shí)戰(zhàn)教程

    PWMLED亮度調(diào)節(jié)和呼吸燈效果實(shí)現(xiàn)方面有著廣泛應(yīng)用。在LuatOS環(huán)境中,如何高效運(yùn)用PWM功能是開(kāi)發(fā)者需要掌握的關(guān)鍵。本實(shí)戰(zhàn)教程將通過(guò)具體案例,引導(dǎo)開(kāi)發(fā)者快速上手,輕松實(shí)現(xiàn)
    的頭像 發(fā)表于 11-11 19:05 ?8479次閱讀
    LuatOS中<b class='flag-5'>PWM</b>實(shí)現(xiàn)<b class='flag-5'>LED</b><b class='flag-5'>亮度</b>調(diào)節(jié)與呼吸燈的實(shí)戰(zhàn)教程

    ESP32-WROOM-32 技術(shù)規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《ESP32-WROOM-32 技術(shù)規(guī)格書.pdf》資料免費(fèi)下載
    發(fā)表于 11-11 17:27 ?0次下載

    樂(lè)鑫ESP32-C6和ESP32-C61究竟該如何選擇?一文讀懂本質(zhì)區(qū)別

    樂(lè)鑫科技推出的ESP32-C6和ESP32-C61均支持Wi-Fi6,但定位不同。ESP32-C6是多協(xié)議樞紐,集成Wi-Fi6、藍(lán)牙5、Zigbee和Thread,適合智能家居網(wǎng)關(guān)和Matter
    的頭像 發(fā)表于 10-28 14:17 ?2041次閱讀
    樂(lè)鑫<b class='flag-5'>ESP32</b>-C6和<b class='flag-5'>ESP32</b>-C61究竟該如何選擇?一文讀懂本質(zhì)區(qū)別

    樂(lè)鑫科技ESP32-S3開(kāi)發(fā)板配單色LED,竟能玩出這么多花樣!代碼開(kāi)源,速來(lái)白嫖!

    從閃爍到呼吸,從流水到追逐,一文掌握所有LED特效技巧本文將帶領(lǐng)大家從零開(kāi)始,使用ESP32-S3開(kāi)發(fā)板實(shí)現(xiàn)多種單色LED效果控制。無(wú)論你是剛?cè)腴T的小白,還是有一定經(jīng)驗(yàn)的開(kāi)發(fā)者,都能輕
    的頭像 發(fā)表于 10-23 18:02 ?2198次閱讀
    樂(lè)鑫科技<b class='flag-5'>ESP32</b>-S3開(kāi)發(fā)板配單色<b class='flag-5'>LED</b>,竟能玩出這么多花樣!代碼開(kāi)源,速來(lái)白嫖!

    一文讀懂 PWM控制背光亮度原理

    的優(yōu)缺點(diǎn) 優(yōu)點(diǎn): 色彩精準(zhǔn):由于LED始終在最佳額定電流下工作(“開(kāi)”的時(shí)候),避免了模擬調(diào)光可能帶來(lái)的顏色偏色問(wèn)題。 調(diào)光精確:通過(guò)數(shù)字信號(hào)控制占空比,可以實(shí)現(xiàn)非常精細(xì)和線性的亮度調(diào)
    發(fā)表于 09-03 08:48

    ESP32-運(yùn)行網(wǎng)頁(yè)服務(wù)器(Web Server)-實(shí)用篇

    在前一篇文章《ESP32-運(yùn)行網(wǎng)頁(yè)服務(wù)器(WebServer)-入門篇》,我們介紹了ESP32運(yùn)行網(wǎng)頁(yè)服務(wù)器(WebServer)的原理,然后我們基于ESP32實(shí)現(xiàn)了一個(gè)demo代碼;看到很多同學(xué)都留言發(fā)表了自己的看法,有很多同
    的頭像 發(fā)表于 07-28 18:05 ?3646次閱讀
    <b class='flag-5'>ESP32</b>-運(yùn)行網(wǎng)頁(yè)服務(wù)器(Web Server)-實(shí)用篇

    ESP32開(kāi)發(fā)板元件資料

    ESP32開(kāi)發(fā)板元件
    發(fā)表于 07-21 14:47 ?15次下載

    樂(lè)鑫ESP32-C5全面進(jìn)入量產(chǎn)

    樂(lè)鑫信息科技 (688018.SH) 宣布,ESP32-C5 現(xiàn)已全面進(jìn)入量產(chǎn)。
    的頭像 發(fā)表于 05-06 16:50 ?1390次閱讀

    ESP32運(yùn)行網(wǎng)頁(yè)服務(wù)器 (Web-Server)-入門篇

    什么是ESP32WebServer?ESP32WebServer是在ESP32控制器上運(yùn)行的一個(gè)嵌入式網(wǎng)頁(yè)服務(wù)器。它能夠處理HTTP請(qǐng)求并作出響應(yīng),使用戶可以通過(guò)網(wǎng)絡(luò)瀏覽器與設(shè)備進(jìn)行
    的頭像 發(fā)表于 03-09 14:24 ?7555次閱讀
    <b class='flag-5'>ESP32</b>運(yùn)行網(wǎng)頁(yè)服務(wù)器 (Web-Server)-入門篇