Inhoudsopgave:
- Stap 1: Dingen die je nodig hebt
- Stap 2: De PWM op ESP32 begrijpen
- Stap 3: Aansluitingen
- Stap 4: Installeer ESP32 BOARDS in Arduino IDE
- Stap 5: Coderen
- Stap 6: De PWM-functionaliteit testen
Video: PWM Met ESP32 - LED dimmen met PWM op ESP 32 met Arduino IDE - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
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
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
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
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
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
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
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:
Meerdere ESP-gesprekken voeren via ESP-NOW met ESP32 en ESP8266: 8 stappen
Meerdere ESP-gesprekken maken via ESP-NOW ESP32 en ESP8266 gebruiken: voor mijn lopende project heb ik meerdere ESP nodig om met elkaar te praten zonder een router. Om dit te doen, zal ik de ESP-NOW gebruiken om draadloos met elkaar te communiceren zonder een router op de ESP
Aan de slag met ESP32 - ESP32-kaarten installeren in Arduino IDE - ESP32-knippercode: 3 stappen
Aan de slag met ESP32 | ESP32-kaarten installeren in Arduino IDE | ESP32-knippercode: in deze instructie zullen we zien hoe we met esp32 kunnen werken en hoe we esp32-kaarten in Arduino IDE kunnen installeren en we zullen esp 32 programmeren om knippercode uit te voeren met behulp van arduino ide
IoT-portemonnee (slimme portemonnee met Firebeetle ESP32, Arduino IDE en Google Spreadsheet): 13 stappen (met afbeeldingen)
IoT Wallet (slimme portemonnee met Firebeetle ESP32, Arduino IDE en Google Spreadsheet): Eerste prijs in Instructables Pocket-Sized Contest!:DAls je wat geld hebt geïnvesteerd in cryptocurrencies, weet je waarschijnlijk al dat ze zeer volatiel zijn. Ze veranderen van de ene op de andere dag en je weet maar nooit veel 'echt' geld dat je nog in je portemonnee hebt
ESP/NODEMCU PROGRAMMEREN MET ARDUINO IDE: 3 stappen
ESP/NODEMCU PROGRAMMEREN MET ARDUINO IDE: Hallo allemaal, Vandaag zal ik laten zien hoe u een ESP8266-ondersteuningspakket kunt toevoegen aan Arduino IDE. en programmeer hetzelfde met Ardunio IDE
ESP-12E en ESP-12F programmeer- en ontwikkelingsbord: 3 stappen (met afbeeldingen)
ESP-12E en ESP-12F programmeer- en ontwikkelingsbord: De opdracht voor dit bord was eenvoudig: ESP-12E- en ESP-12F-modules net zo gemakkelijk kunnen programmeren als de NodeMCU-kaarten (d.w.z. dat u niet op knoppen hoeft te drukken). Heb breadboard-vriendelijke pinnen met toegang tot de bruikbare IO. Gebruik een aparte USB-naar-serieel-conv