韩国美女高清爽快一级毛片-韩国美女毛片-韩国美女人成网站在线看看-韩国美女丝袜一区二区-韩国美女一级毛片-韩国美女一级片

24小時(shí)聯(lián)系電話:18217114652、13661815404

中文

您當(dāng)前的位置:
首頁>
電子資訊>
公司新聞>
如何在 ESP32 中使用 ...

公司新聞

如何在 ESP32 中使用 PWM


如何在 ESP32 中使用 PWM

脈寬調(diào)制 ( PWM ) 是一種廣泛使用的電力傳輸技術(shù)。ESP32 有專用的 PWM 硬件。信號(hào)或電源的脈寬調(diào)制 (PWM) 是一種修改周期信號(hào)(例如正弦信號(hào)或方波信號(hào))的占空比的技術(shù)。周期信號(hào)的占空比是其正部分相對(duì)于周期的相對(duì)寬度。

PWM 電路的典型結(jié)構(gòu)是使用具有兩個(gè)輸入和一個(gè)輸出的比較器來實(shí)現(xiàn)的。其中一個(gè)輸入連接到鋸齒波振蕩器,而另一個(gè)可用于調(diào)制信號(hào)。在輸出端,頻率通常等于鋸齒信號(hào)的頻率,占空比是載波的函數(shù)。PWM 電路的主要缺點(diǎn)是可能存在射頻干擾。通過將控制器靠近負(fù)載并過濾電源,可以最大限度地減少這些問題。

ESP32 PWM 可以驅(qū)動(dòng) LED、電機(jī)(普通直流電機(jī)、無刷電機(jī))、智能燈等。典型的 PWM 信號(hào)具有 PWM 頻率、PWM 分辨率和 PWM 占空比。如果我們改變 PWM 的占空比參數(shù),那么脈沖的寬度也會(huì)改變。分辨率是一種衡量標(biāo)準(zhǔn),可讓我們了解我們可以控制多少個(gè)離散的占空比級(jí)別。PWM 分辨率 = log2(級(jí)別數(shù))。分辨率越高,對(duì)占空比的控制就越精細(xì)。

Arduino中我們使用該analogWrite()函數(shù)來實(shí)現(xiàn)PWM。但模擬寫入功能尚未在 ESP32 Arduino 版本中實(shí)現(xiàn)。而是ledcWrite()引入了一個(gè)名為的新函數(shù)。使用引腳 5 連接 LED 并使用以下代碼進(jìn)行測試:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

#define LED_GPIO   5

#define PWM1_Ch    0

#define PWM1_Res   8

#define PWM1_Freq  1000

 

int PWM1_DutyCycle = 0;

 

void setup()

{

  ledcAttachPin(LED_GPIO, PWM1_Ch);

  ledcSetup(PWM1_Ch, PWM1_Freq, PWM1_Res);

}

 

void loop()

{

  while(PWM1_DutyCycle < 255)

  {

    ledcWrite(PWM1_Ch, PWM1_DutyCycle++);

    delay(10);

  }

  while(PWM1_DutyCycle > 0)

  {

    ledcWrite(PWM1_Ch, PWM1_DutyCycle--);

    delay(10);

  }

}

這是帶電位器的伺服電機(jī)的測試代碼:

#include <ESP32Servo.h>

Servo servo1; // create a servo object

#define potWiper 36

#define servoPin 19

#define twoTo12th 4095

#define delay1 150

 

int intValue;

 

void setup() {

 

servo1.attach(servoPin); // attach the servo to servoPin

 

Serial.begin(9600); // setup display monitor (work at 9600 baud) }

 

void loop() {

intValue = analogRead(potWiper); // read value at pin potWiper pin

intValue = map(intValue, 0, twoTo12th, 0, 180); // convert value read to value from 0 to 180

servo1.write(intValue); // move the servo to position intValue

Serial.print("Servo Angle = "); // display the

Serial.println(intValue); // servo angle on display monitor

delay(delay1); // allow the servo time to get to position

}

這是一個(gè)非常短的片段/草圖,您可以將其用于直流電機(jī)和鍋:

1

2

3

4

5

6

7

8

9

10

const byte led_pin = 15;

const byte pot_pin = 4;

void setup() {

ledcAttachPin (led_pin,0);

ledcSetup(0,5000,8); // channel 0, pwm freq 5 khz, Resolution 8 bits

}

 

void loop() {

ledcWrite(0,analogRead(pot_pin);

}

一個(gè) L293 板/模塊可以控制 2 個(gè)直流電機(jī)并提供 500ma 電流。為控制每臺(tái)電機(jī)2組控制,提供引腳。您可以將此模塊與上述代碼一起使用來構(gòu)建基本的機(jī)器人汽車。

請(qǐng)輸入搜索關(guān)鍵字

確定
主站蜘蛛池模板: 久久草在线视频国产一 | 思思91精品国产综合在线 | 久久精品国1国二国三 | 99久久久久久久 | 亚洲天堂一区二区三区 | 精品中文字幕乱码一区二区 | 免费看色片网站 | 99中文在线 | 欧美精品福利在线视频 | 狼人伊人干 | 2046影院视频大全在线观看 | 99热久久国产综合精品久久国产 | 久久香蕉精品 | 伊人影院99 | 四虎国产永久在线精品免费观看 | 九九夜夜 | 奇米888四色在线精品 | 国产一区二区在线播放 | 香蕉久久高清国产精品免费 | 国产高清看片日韩欧美久久 | 久久精品国产免费 | 四虎影永久在线观看精品 | www.香蕉视频在线观看 | 99精品国产自在现线观看 | 免费看美女吃男生私人部位 | 欧美一级毛片在线一看 | 奇米影视一区 | 国产欧美一区二区三区免费看 | 国产一区二区免费播放 | 色人阁在线 | 天天干天天操天天拍 | 成人短视频在线在线观看 | 亚洲黄色激情视频 | 国产精品四虎视频一区 | 爱我久久视频免费观看影视 | 手机看片日韩欧美 | 爱爱网站免费 | 国产福利在线 | 日韩在线欧美高清一区 | 精品久久久久久中文字幕一区 | 91视频精选 |