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

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

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

3天內不再提示

利用ESP32 PWM信號控制LED的亮度

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

掃碼添加小助手

加入工程師交流群

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

所需組件

ESP32

引領

330Ω電阻

10k 鍋

面包板

PWM 生成

在解釋 ESP32 上的 PWM 生成之前,讓我們討論一些與 PWM 相關的術語。

TON(開啟時間):信號為高電平的持續(xù)時間。

TOFF(關閉時間):信號為低電平的持續(xù)時間。

周期:它是 PWM 信號的開啟時間和關閉時間的總和。

TotalPeriod = T ON + T OFF

占空比:在 PWM 信號周期內信號為高電平的時間百分比。

占空比 = T ON /T總計* 100

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

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

poYBAGL1_vKAZrAIAAAw58nUBWk412.png

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

ESP32 上的 PWM 生成

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

ledcAttachPin(gpio, channel)

ledcSetup(channel, frequency, resolution)

ledcWrite(channel, dutycycle)

電路原理

ESP32 PWM的電路圖如下所示。

poYBAGL1_u2ATfKJAAFu9_BvnC8196.png

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

ESP32 PWM 代碼說明

完整的代碼在頁面末尾給出。

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

常量 int ledPin = 16; // 16對應GPIO16

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

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

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

無效設置(){
  序列號.開始(9600);
  ledcSetup(ledChannel, 頻率, 分辨率);
  ledcAttachPin(ledPin, ledChannel);
}

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

無效循環(huán)(){
   dutyCycle = 模擬讀取(A0);
   ledcWrite(ledChannel, dutyCycle);
   延遲(15);
  }

測試 ESP32 PWM 信號

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

poYBAGL1_uiASq7nAAS5d-ZcL-E172.png

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

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

    關注

    243

    文章

    24329

    瀏覽量

    684032
  • PWM
    PWM
    +關注

    關注

    116

    文章

    5809

    瀏覽量

    222620
  • ESP32
    +關注

    關注

    21

    文章

    1044

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    ESP32-運行網頁服務器(Web Server)-實用篇

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

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

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

    樂鑫ESP32-C5全面進入量產

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

    LED6001 PWM調光單通道LED驅動器,具有集成增壓控制器數(shù)據手冊

    亮度可以通過兩個獨立的引腳通過 PWM 調光和模擬調光(10:1 比率)來控制。通過與 LED 燈串串聯(lián)并由專用引腳直接驅動的 MOSFET,可以獲得增強的
    的頭像 發(fā)表于 04-09 17:37 ?800次閱讀
    <b class='flag-5'>LED</b>6001 <b class='flag-5'>PWM</b>調光單通道<b class='flag-5'>LED</b>驅動器,具有集成增壓<b class='flag-5'>控制</b>器數(shù)據手冊

    ESP32運行網頁服務器 (Web-Server)-入門篇

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

    esp32如何接入豆包

    要在 ESP32 上接入豆包工具,本質上是讓 ESP32 設備與豆包的 API 進行通信,以獲取相關服務
    的頭像 發(fā)表于 02-05 13:40 ?2537次閱讀
    <b class='flag-5'>esp32</b>如何接入豆包

    《DNESP32S3使用指南-IDF版_V1.6》 第十七章 SW_PWM實驗

    第十七章 SW_PWM實驗 本章將介紹使用ESP32-S3 LED控制器(LEDC)。LEDC主要用于控制
    發(fā)表于 12-17 09:33

    ESP32-S3-WROOM-1/ESP32-S3-WROOM-1U技術規(guī)格書

    電子發(fā)燒友網站提供《ESP32-S3-WROOM-1/ESP32-S3-WROOM-1U技術規(guī)格書.pdf》資料免費下載
    發(fā)表于 12-07 15:30 ?11次下載

    PWMLED調光中的應用

    模擬信號的數(shù)字表示方法,它通過周期性地打開和關閉信號來模擬一個連續(xù)的信號。在LED調光中,PWM通過控制
    的頭像 發(fā)表于 11-28 16:33 ?4301次閱讀

    【AI技術支持】ESP32-C3-Lyra播放音頻無法控制音量及異聲問題處理

    【AI技術支持】ESP32-C3-Lyra播放音頻無法控制音量及異聲問題處理
    的頭像 發(fā)表于 11-22 01:01 ?2178次閱讀
    【AI技術支持】<b class='flag-5'>ESP32</b>-C3-Lyra播放音頻無法<b class='flag-5'>控制</b>音量及異聲問題處理

    DC/DC可調光LED恒流控制芯片SM32108E詳解

    亮度。 PWM 調光:DIM 端口可以接收 PWM 信號,通過調整 PWM 信號的占空比,可以實
    的頭像 發(fā)表于 11-20 14:20 ?2429次閱讀
    DC/DC可調光<b class='flag-5'>LED</b>恒流<b class='flag-5'>控制</b>芯片SM32108E詳解

    如何調試和測試PWM信號 PWMPWM信號產生器的區(qū)別

    調試和測試PWM信號 脈沖寬度調制(PWM)是一種常用的信號調制技術,廣泛應用于電機控制、LED
    的頭像 發(fā)表于 11-19 09:07 ?4224次閱讀

    PWM調制技術在LED亮度調節(jié)中的使用

    調制技術因其在調節(jié)精度、響應速度和能耗方面的優(yōu)勢,成為了LED亮度調節(jié)的首選技術之一。 PWM調制技術原理 PWM調制技術是一種通過改變脈沖寬度來
    的頭像 發(fā)表于 11-18 15:28 ?3789次閱讀

    【AI技術支持】ESP32模組PSRAM的CS引腳上拉導致功耗上升處理

    啟明云端/01你是否曾遇到過?在游戲機產品上,使用ESP32-WROOM-32E/ESP32-WROOM-32UE模組,ESP-IDF版本為IDFv5.1.1時,根據外圍設計原理圖介紹,在模組內置
    的頭像 發(fā)表于 10-31 08:01 ?2696次閱讀
    【AI技術支持】<b class='flag-5'>ESP32</b>模組PSRAM的CS引腳上拉導致功耗上升處理