ESP32 PWM kanssa Arduino IDE (analoginen lähtö)

tässä opetusohjelma näytämme, miten luoda PWM signaaleja ESP32 käyttäen Arduino IDE. Esimerkkinä rakennamme yksinkertaisen piirin, joka himmentää lediä ESP32: n LED-PWM-ohjaimella. Näytämme myös, miten voit saada saman PWM signaalin eri GPIOs samaan aikaan.

Ennen kuin jatkat tämän opetusohjelman sinulla pitäisi olla ESP32 add-on asennettu Arduino IDE., Seuraa yksi seuraavista tutorials asentaa ESP32 Arduino IDE, jos et ole jo.

  • Asentaminen ESP32 Hallituksen Arduino IDE (Windows ohjeet)
  • Asentaminen ESP32 Hallituksen Arduino IDE (Mac-ja Linux-ohjeet)

suosittelemme myös ottaen katso seuraavia resursseja:

  • aloittaminen ESP32 Dev Moduuli
  • ESP32 Pinout Viite: Joka GPIO nastat pitäisi käyttää?

Katso Video Opetusohjelma

Tämä opetusohjelma on saatavilla videomuodossa (katso alla) ja kirjallisessa muodossa (edelleen käsittelyssä).,

osia tarvitaan

tämän opetusohjelman noudattamiseen tarvitset nämä osat:

    ESP32 DOIT DEVKIT V1 – lautakunta-Lue parhaat ESP32-kehityslaudat

  • 3x 5mm LED
  • 3x 330 Ohm-Vastus
  • > leipälauta
  • > >
  • Kirppulangat

voit käyttää edeltäviä linkkejä tai mennä suoraan MakerAdvisor.com/tools löytää kaikki osat projekteihisi parhaaseen hintaan!,

ESP32 LED-PWM-Ohjain

ESP32 on LED-PWM-ohjain, jossa 16 itsenäistä kanavaa, jotka voidaan konfiguroida tuottamaan PWM-signaaleja, joilla on eri ominaisuuksia.

tässä vaiheet sinun täytyy seurata himmentää LED PWM käyttäen Arduino IDE:

1. Ensinnäkin, sinun täytyy valita PWM kanava. Kanavia on 16 0-15.

2. Sitten, sinun täytyy asettaa PWM signaalin taajuus. Ledille 5000 Hz: n taajuus on hyvä käyttää.

3., Sinun on myös asetettava signaalin toimintasyklin resoluutio: sinulla on päätöslauselmia 1-16 bittiä. Käytämme 8-bittistä resoluutiota, mikä tarkoittaa, että voit hallita LED-kirkkautta käyttämällä arvoa 0-255.

4. Seuraava, sinun täytyy määrittää, mihin GPIO tai GPIOs signaali näkyy. Tätä varten käytät seuraavaa funktiota:

ledcAttachPin(GPIO, channel)

tämä funktio hyväksyy kaksi argumenttia. Ensimmäinen on GPIO, että lähtö signaali, ja toinen on kanava, joka tuottaa signaalin.

5., Lopuksi, hallita LED kirkkautta PWM, käytät seuraavaa toimintoa:

ledcWrite(channel, dutycycle)

Tämä toiminto hyväksyy argumentteina kanavan, joka tuottaa PWM signaali, ja duty cycle.

himmennetään LED

katsotaan yksinkertainen esimerkki siitä, miten ESP32 LED PWM-ohjainta käytetään Arduino IDE-ohjaimella.

kaavamainen

Lanka an johti ESP32: een kuten seuraavassa kaaviossa. LED olisi yhdistettävä GPIO 16: een.,

(Tämä kaavamainen käyttää ESP32 DEVKIT V1 moduuli versio, jossa on 30 GPIOs – jos käytät toista mallia, tarkista pinout hallituksen käytät.)

Huomautus: voit käyttää mitä tahansa pin-koodia, kunhan se toimii ulostulona. Kaikki nastat, jotka voivat toimia lähdöt voidaan käyttää PWM nastat. Lisätietoja ESP32 GPIOs, lue: ESP32 Pinout Viite: Joka GPIO nastat pitäisi käyttää?

koodi

avaa Arduino IDE ja kopioi seuraava koodi.,

Näytä RAW-koodi

aloitat määrittelemällä pin-koodin, johon LED on kiinnitetty. Tällöin LED on kiinnitetty GPIO 16: een.

const int ledPin = 16; // 16 corresponds to GPIO16

sitten asetat PWM-signaalin ominaisuudet. Voit määrittää taajuus 5000 Hz, valitse kanava 0 tuottaa signaalin, ja aseta resoluutio 8 bittiä. Voit valita muita ominaisuuksia, eri kuin nämä, tuottaa erilaisia PWM signaaleja.,

const int freq = 5000; const int ledChannel = 0; const int resolution = 8;

setup(), sinun täytyy määrittää LED PWM ominaisuudet olet määrittänyt aiemmin käyttämällä ledcSetup () – funktio, joka ottaa argumenteikseen, että ledChannel, taajuus ja tarkkuus, seuraavasti:

ledcSetup(ledChannel, freq, resolution);

Seuraavaksi sinun täytyy valita GPIO saat signaalin. Tätä käyttöä varten ledcAttachPin () – toiminto, joka hyväksyy argumenteiksi GPIO, jossa haluat saada signaalin, ja kanava, joka tuottaa signaalin. Tässä esimerkissä saamme signaalin ledPin GPIO, joka vastaa GPIO 16., Signaalin tuottava kanava on ledChannel, joka vastaa kanavaa 0.

ledcAttachPin(ledPin, ledChannel);

silmukka, voit vaihdella toimintasuhteen välillä 0 ja 255 lisätä LED kirkkaus.

ja sitten, välillä 255-0 vähentää kirkkautta.

LED: n kirkkauden asettamiseksi sinun tarvitsee vain käyttää ledcWrite () – funktiota, joka hyväksyy argumenteiksi signaalin tuottavan kanavan ja toimintasyklin.

ledcWrite(ledChannel, dutyCycle);

Koska käytämme 8-bitin resoluutio, käyttömäärä tulee ohjata arvo välillä 0-255., Huomaa, että ledcWrite () – funktiossa käytämme signaalia tuottavaa kanavaa eikä GPIO: ta.

Testaus-Esimerkki

Lataa koodi ESP32. Varmista, että sinulla on oikea hallitus ja COM portti valittu. Katso piiriäsi. Sinun pitäisi olla himmennin LED, joka lisää ja vähentää kirkkautta.

Saa Saman Signaalin Eri GPIOs

Voit saada sama signaali samalla kanavalla eri GPIOs., Tämän saavuttamiseksi, sinun tarvitsee vain liittää ne GPIOs samalle kanavalle asetukset ().

muokataan edellinen esimerkki himmeäksi 3 Lediksi käyttäen samaa PWM-signaalia samasta kanavasta.

Piirustukset

Lisää kaksi Led-piiri, jonka jälkeen seuraava kaaviokuva:

(Tämä kaavamainen käyttää ESP32 DEVKIT V1 moduuli versio, jossa on 30 GPIOs – jos käytät toinen malli, tarkista pinout hallituksen käytät.,)

koodi

kopioi seuraava koodi Arduino IDE-tiedostoosi.

View raw-koodi

Tämä on sama koodi kuin edellinen, mutta joitakin muutoksia. Olemme määritelleet kaksi muuttujaa kahdelle uudelle ledille, jotka viittaavat GPIO 17: ään ja GPIO 5: een.

const int ledPin2 = 17; // 17 corresponds to GPIO17 const int ledPin3 = 5; // 5 corresponds to GPIO5

sitten, asetuksissa(), olemme lisänneet seuraavat rivit osoittaaksemme molemmat Gpiot kanavalle 0. Tämä tarkoittaa, että saamme saman signaalin, joka syntyy kanavalla 0, molemmilla GPIOs.

ledcAttachPin(ledPin2, ledChannel); ledcAttachPin(ledPin3, ledChannel);

projektin testaaminen

Lataa uusi sketsi ESP32: een., Varmista, että sinulla on oikea hallitus ja COM portti valittu. Katso nyt piiriäsi:

kaikki Gpiosit avaavat saman PWM-signaalin. Niin, kaikki kolme LED lisätä ja vähentää kirkkautta samanaikaisesti, jolloin synkronoitu vaikutus.

tiivistettynä, tässä viestissä olet oppinut käyttämään ESP32: n LED-PWM-ohjainta Arduino IDE: n kanssa himmennä lediä., Opittuja käsitteitä voidaan käyttää muiden lähtöjen ohjaamiseen PWM: llä asettamalla oikeat ominaisuudet signaaliin.

– Meillä on muita opetusohjelmia liittyvät ESP32, että pidät ehkä myös:

  • ESP32 Web Server – Arduino IDE
  • ESP32 tiedonkeruu Lämpötila MicroSD-Kortti
  • ESP32 Web-Palvelimen kanssa BME280 – Mini-sääasema
  • ESP32 vs ESP8266 – Plussat ja Miinukset

Tämä on ote kurssimme: Oppia ESP32 Arduino IDE. Jos pidät ESP32 ja haluat oppia lisää, suosittelemme, ilmoittautumalla Oppia ESP32 Arduino IDE-kurssi.

Leave a Comment