Inhoudsopgave:

PWM Met ESP32 - LED dimmen met PWM op ESP 32 met Arduino IDE - Ajarnpa
PWM Met ESP32 - LED dimmen met PWM op ESP 32 met Arduino IDE - Ajarnpa

Video: PWM Met ESP32 - LED dimmen met PWM op ESP 32 met Arduino IDE - Ajarnpa

Video: PWM Met ESP32 - LED dimmen met PWM op ESP 32 met Arduino IDE - Ajarnpa
Video: Motor Driver Library for Arduino, Esp32 etc. 2024, Juli-
Anonim
PWM Met ESP32 | Dimmen LED Met PWM op ESP 32 Met Arduino IDE
PWM Met ESP32 | Dimmen LED Met PWM op ESP 32 Met Arduino IDE

In deze instructables zullen we zien hoe we PWM-signalen kunnen genereren met ESP32 met behulp van Arduino IDE & PWM wordt in principe gebruikt om analoge uitvoer van elke MCU te genereren en die analoge uitvoer kan van alles zijn tussen 0V en 3,3V (in het geval van esp32) en van 0V tot 5V (in het geval van arduino uno) en deze PWM-signalen (analoge output) worden gebruikt om de LED te dimmen (variabele output, de LED op verschillende helderheid verlichten).

Stap 1: Dingen die je nodig hebt

Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt

Voor deze tutorial heb je de volgende dingen nodig: ESP32

220 ohm weerstanden

Kleur led

broodplankje

Weinig truien

Stap 2: De PWM op ESP32 begrijpen

De PWM op ESP32 begrijpen
De PWM op ESP32 begrijpen

ESP32 heeft een 16-kanaals PWM-controller en deze 16 kanalen zijn onafhankelijk en kunnen onafhankelijk worden geconfigureerd om PWM-signalen met verschillende eigenschappen voor verschillende vereisten te krijgen. Voordat u de code en het hele proces doorloopt, moet u de volgende dingen weten: >> er zijn 16 (0 tot 15) pwm-kanalen in een ESP32. Je moet je PWM-kanaal kiezen.>>Hierna moeten we de frequentie voor PWM selecteren, we kunnen voor 5000hz gaan.>>Hier hebben we een resolutie van 1 tot 16bits in ESP32, maar voor deze tutorial gaan we alleen voor 8 bit wat betekent dat de helderheid wordt geregeld door waarden 0 tot 255.>>Je moet de LED voor PWM instellen om dat te doen, je moet de volgende regel code gebruiken en daarin moet je het ledkanaal vermelden (we gebruiken kanaal 0 van ESP32) die u gebruikt voor PWM & freq is de frequentie (we gebruiken 5000Hz) van PWM & resolutie die u gebruikt (we gebruiken 8bit-resolutie). ledcSetup (ledChannel, freq, resolution); Waarden in ons geval: const int freq = 5000; const int ledChannel = 0; const int resolution = 8;>>vermeld dan welke LED-pin je nodig hebt met het volgende commando: ledcAttachPin(ledPin, ledChannel);- hier is ledPin het pinnummer. Welke we zullen gebruiken & ledChannel is het kanaal dat we moeten selecteren voor PWM.5. Ten slotte, om de LED-helderheid te regelen met behulp van PWM, gebruikt u de volgende functie: >> het belangrijkste belangrijke deel van de code is de volgende opdracht die de analoge uitgang naar de LED-pin zal schrijven: ledcWrite (ledChannel, dutycycle); deze bovenstaande opdracht heeft 'ledChannel' & 'dutyCycle' nodig, waarbij kanaal het kanaalnummer is dat we zullen gebruiken en de duty cycle de waarde is die we schrijven als uitvoer naar de LED-pin.

Stap 3: Aansluitingen

Verbindingen
Verbindingen

Het verbindingsgedeelte is heel eenvoudig. U moet een LED met weerstand aansluiten op GPIO16 zoals weergegeven in schema.

Stap 4: Installeer ESP32 BOARDS in Arduino IDE

Installeer ESP32 BOARDS in Arduino IDE
Installeer ESP32 BOARDS in Arduino IDE

Zorg ervoor dat je Arduino IDE op je pc hebt en dat je ESP32-kaarten in je Arduino IDE hebt geïnstalleerd, en als dit niet het geval is, volg dan de volgende instructies van mij om het te installeren.:

Stap 5: Coderen

Code
Code

Kopieer de volgende code en upload deze naar uw ESP32: // het nummer van de LED pinconst int ledPin = 16; // 16 komt overeen met GPIO16// instelling PWM-eigenschappenconst int freq = 5000;const int ledChannel = 0;const int resolution = 8;void setup(){ // configureer LED PWM-functionaliteiten ledcSetup (ledChannel, freq, resolution); // bevestig het kanaal aan de GPIO die moet worden bestuurd ledcAttachPin(ledPin, ledChannel);}void loop(){ // verhoog de LED-helderheid voor (int dutyCycle = 0; dutyCycle <= 255; dutyCycle++){ // wijzigen van de LED helderheid met PWM ledcWrite (ledChannel, dutyCycle); vertraging (15); } // verlaag de LED-helderheid voor (int dutyCycle = 255; dutyCycle >= 0; dutyCycle--) {// wijzigen van de LED-helderheid met PWM ledcWrite (ledChannel, dutyCycle); vertraging (15); }}

Stap 6: De PWM-functionaliteit testen

De PWM-functionaliteit testen
De PWM-functionaliteit testen

Na het uploaden van de code ziet u de intensiteit van uw LED's veranderen, zodat we aan het einde van deze instructie komen. Veel plezier met het gebruik van PWM met ESP32 in uw projecten.

Aanbevolen: