ESP32๏ผˆ3.0ไปฅ้™๏ผ‰LEDC้–ขๆ•ฐใงใ‚จใƒฉใƒผ็™บ็”Ÿ/ๅฏพๅฟœๆ–นๆณ• – imo Lab.
PR

ESP32๏ผˆ3.0ไปฅ้™๏ผ‰LEDC้–ขๆ•ฐใงใ‚จใƒฉใƒผ็™บ็”Ÿ/ๅฏพๅฟœๆ–นๆณ•

่จ˜ไบ‹ๅ†…ใซๅบƒๅ‘ŠใŒๅซใพใ‚Œใฆใ„ใพใ™ใ€‚

ใ€€ArduinoIDE็’ฐๅขƒใงๆ˜จๆ—ฅใพใงๆ™ฎ้€šใซไฝฟใˆใฆใ„ใŸใฎESP32ใฎLEDC้–ขๆ•ฐ๏ผˆPWM๏ผ‰ใ€‚ๆ€ฅใซใ‚ณใƒณใƒ‘ใ‚คใƒซใ‚จใƒฉใƒผใŒ็™บ็”Ÿใ—ใฆไฝฟใˆใชใใชใ‚Šใพใ—ใŸใ€‚ใใฎๅŽŸๅ› ใจๅฏพ็ญ–ๆ–นๆณ•ใงใ™ใ€‚

ใ‚นใƒใƒณใ‚ตใƒผใƒชใƒณใ‚ฏ

ๆฆ‚่ฆ

Compilation error: 'ledcSetup' was not declared in this scope

ใ€€ๆ˜จๆ—ฅใพใงๆ™ฎ้€šใซๆคœ่จŽใ—ใฆใ„ใŸใ‚ฝใƒผใ‚นใง็ช็„ถใ“ใ†ใ„ใฃใŸใ‚จใƒฉใƒผใŒ็™บ็”Ÿใ—ใฆใ‚ณใƒณใƒ‘ใ‚คใƒซใŒใงใใชใใชใฃใฆใ—ใพใ„ใพใ—ใŸใ€‚็ต่ซ–ใ‹ใ‚‰่จ€ใ†ใจใƒœใƒผใƒ‰ใฎใƒใƒผใ‚ธใƒงใƒณใ‚ขใƒƒใƒ—๏ผˆ3.0.0ไปฅ้™๏ผ‰ใŒๅŽŸๅ› ใงใ€ไธ€้ƒจใฎLEDC้–ขๆ•ฐใซๅ‰Š้™ค/ๅค‰ๆ›ดใŒๅ…ฅใฃใฆใพใ™ใ€‚

ใ‚นใƒใƒณใ‚ตใƒผใƒชใƒณใ‚ฏ

ใ‚ˆใไฝฟใ„ใใ†ใช้–ขๆ•ฐใ‚’ๆŠœ็ฒ‹ใ—ใฆ่งฃ่ชฌ

ใ€€่จญๅฎš้–ขไฟ‚ใฎ้–ขๆ•ฐใซๅค‰ๆ›ดใŒๅ…ฅใฃใฆใ‚‹ใ‚ˆใ†ใงใ™ใ€‚

ledcSetup()
ledcAttachPin()

ใ€€ไธŠ่จ˜2ใคใฎ้–ขๆ•ฐใŒๅ‰Š้™คใ•ใ‚Œใพใ—ใŸใ€‚ใจใ„ใ†ใ‹ไปฅไธ‹ใฎ้–ขๆ•ฐใซไฝฟใ„ๆ–นใŒ็ตฑๅˆใ•ใ‚ŒใŸๆ„Ÿใ˜ใงใ™ใ€‚

bool ledcAttach(uint8_t pin, uint32_t freq, uint8_t resolution);

ใ€€ใƒใƒฃใƒณใƒใƒซใฏ่‡ชๅ‹•ใง่จญๅฎšใ•ใ‚Œใ‚‹ใ‚ˆใ†ใซๅค‰ๆ›ดใŒๅ…ฅใฃใŸใ‚ˆใ†ใงใ™ใ€‚ๅผ•ๆ•ฐใฏใปใผไปฅๅ‰ใฎใ‚‚ใฎใจๅŒๆง˜ใ€ๅ‡บๅŠ›ใƒ”ใƒณ/ๅ‘จๆณขๆ•ฐ/่งฃๅƒๅบฆใ€‚

bool ledcAttachChannel(uint8_t pin, uint32_t freq, uint8_t resolution, int8_t channel);

ใ€€ใƒใƒฃใƒณใƒใƒซใ‚’ๆŒ‡ๅฎšใ™ใ‚‹ๅ ดๅˆใฏใ“ใฎ้–ขๆ•ฐใ‚’ไฝฟ็”จใ€‚

bool ledcWrite(uint8_t pin, uint32_t duty);

ใ€€PWMๅ‡บๅŠ›ใ™ใ‚‹้–ขๆ•ฐใ‚‚่‹ฅๅนฒๅค‰ๆ›ดใŒๅ…ฅใ‚Šใพใ—ใŸใ€‚ไปŠใพใงใฏใƒใƒฃใƒณใƒใƒซๆŒ‡ๅฎšใงใ—ใŸใŒใ€ๅ‡บๅŠ›ใ™ใ‚‹ใƒ”ใƒณ็•ชๅทใซๅค‰ๆ›ดใ•ใ‚Œใฆใพใ™ใ€‚

ไฝฟ็”จไพ‹

ใ€€็ฐกๅ˜ใชไฝฟ็”จไพ‹ใงใ™ใ€‚

  ledcAttach(25, 20000, 8);
  ledcWrite(25, 127);

ใ€€๏ผ‘่กŒ็›ฎใง่จญๅฎšใ€25ใƒ”ใƒณใซๅ‘จๆณขๆ•ฐ20kHzใ€่งฃๅƒๅบฆ8bit๏ผˆ256๏ผ‰ใ€‚2่กŒ็›ฎใงPWMๅ‡บๅŠ›ใ€25ใƒ”ใƒณใซใƒ‡ใƒฅใƒผใƒ†ใ‚ฃๆฏ”50%ใงๅ‡บๅŠ›ใ€‚

ใ€€ใจใ‚Šใ‚ใˆใšไปŠๅ›žใฎใ‚จใƒฉใƒผใซๅฝฑ้Ÿฟใ—ใฆใ„ใŸ้–ขๆ•ฐใ ใ‘ๆŠœ็ฒ‹ใ—ใฆใพใจใ‚ใฆใŠใใพใ—ใŸใ€‚ๅพ“ๆฅใฎใ‚ฝใƒผใ‚นใ‚’ๆต็”จใ—ใฆใ„ใ‚‹ๅ ดๅˆใพใš้–“้•ใ„ใชใใ‚ณใƒณใƒ‘ใ‚คใƒซใ‚จใƒฉใƒผใŒ็™บ็”Ÿใ—ใพใ™ใ€‚ใพใ•ใ‹ใƒœใƒผใƒ‰ๆ›ดๆ–ฐใงใ“ใ†ใ„ใฃใŸๅค‰ๅŒ–็‚นใŒๅ…ฅใ‚‹ใจใฏๆ€ใฃใฆใ„ใชใ‹ใฃใŸใฎใงๅŽŸๅ› ใŒใ‚ใ‹ใ‚‹ใพใง็ตๆง‹ๆ‚ฉใฟใพใ—ใŸใ€‚ไป–ใซใ‚‚ใกใ‚‡ใ“ใกใ‚‡ใ“ๅค‰ๆ›ดใŒๅ…ฅใฃใฆใ„ใ‚‹ใ‚ˆใ†ใงใ™ใฎใง่ฉณ็ดฐ็ขบ่ชใ—ใŸใ„ๅ ดๅˆใฏใ“ใกใ‚‰ใ‹ใ‚‰๏ผˆ2024/6็พๅœจ๏ผ‰ใ€‚

ใ‚ณใƒกใƒณใƒˆ

  1. ใ‚ฎใ‚ขใƒชใƒผๅคงไฝ ใ‚ˆใ‚Š:

    ledc๏ผŠ้–ขๆ•ฐใฎๅค‰ๆ›ดๆƒ…ๅ ฑใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚ใ‚ณใƒณใƒ‘ใ‚คใƒซใงใใ‚‹ใ‚ˆใ†ใซใชใ‚Šใพใ—ใŸใ€‚

ใ‚ฟใ‚คใƒˆใƒซใจURLใ‚’ใ‚ณใƒ”ใƒผใ—ใพใ—ใŸ