Isi kandungan:

PWM Dengan ESP32 - LED Peredupan Dengan PWM pada ESP 32 Dengan Arduino IDE: 6 Langkah
PWM Dengan ESP32 - LED Peredupan Dengan PWM pada ESP 32 Dengan Arduino IDE: 6 Langkah

Video: PWM Dengan ESP32 - LED Peredupan Dengan PWM pada ESP 32 Dengan Arduino IDE: 6 Langkah

Video: PWM Dengan ESP32 - LED Peredupan Dengan PWM pada ESP 32 Dengan Arduino IDE: 6 Langkah
Video: BELAJAR 24 PEMROGRAMAN ARDUINO - Cara Menggunakan PWM (Pulse Width Modulation) 2024, November
Anonim
PWM Dengan ESP32 | LED Peredupan Dengan PWM pada ESP 32 Dengan Arduino IDE
PWM Dengan ESP32 | LED Peredupan Dengan PWM pada ESP 32 Dengan Arduino IDE

Dalam instruksional ini kita akan melihat bagaimana menghasilkan isyarat PWM dengan ESP32 menggunakan Arduino IDE & PWM pada dasarnya digunakan untuk menghasilkan output analog dari mana-mana MCU dan output analog itu boleh menjadi antara 0V hingga 3.3V (dalam kes esp32) & dari 0V hingga 5V (sekiranya arduino uno) dan isyarat PWM ini (output analog) digunakan untuk meredup (output berubah, menyalakan LED pada kecerahan yang berbeza) LED.

Langkah 1: Perkara yang Anda Perlu

Perkara yang Anda Perlu
Perkara yang Anda Perlu
Perkara yang Anda Perlu
Perkara yang Anda Perlu
Perkara yang Anda Perlu
Perkara yang Anda Perlu

Untuk tutorial ini, anda memerlukan perkara berikut: ESP32

220 perintang ohm

Warna diketuai

papan roti

Beberapa penerjun

Langkah 2: Memahami PWM pada ESP32

Memahami PWM pada ESP32
Memahami PWM pada ESP32

ESP32 mempunyai pengawal 16 Saluran PWM dan 16 Saluran ini bebas dan boleh dikonfigurasikan secara bebas untuk mendapatkan isyarat PWM dengan sifat yang berbeza untuk keperluan yang berbeza. Sebelum melalui kod & semua proses yang perlu anda ketahui perkara berikut: >> ada 16 (0 hingga 15) Saluran pwm dalam ESP32. Anda perlu memilih saluran PWM anda. >> Selepas ini kita perlu memilih frekuensi untuk PWM, kita dapat mencapai 5000hz. >> Di sini kita mempunyai resolusi 1 hingga 16 bit dalam ESP32 tetapi untuk tutorial ini kita akan menggunakan hanya 8 bit yang bermaksud kecerahan akan dikendalikan oleh nilai 0 hingga 255. >> Anda perlu menyiapkan LED untuk PWM untuk melakukan itu, anda perlu menggunakan baris kod berikut dan anda perlu menyebutkan mengenai saluran led (kami menggunakan saluran 0 dari ESP32) yang anda gunakan untuk PWM & freq adalah frekuensi (kami menggunakan 5000hz) PWM & resolusi yang anda gunakan (kami menggunakan resolusi 8bit).ledcSetup (ledChannel, freq, resolution); Nilai dalam kes kami: const int freq = 5000; const int ledChannel = 0; const int resolution = 8; >> kemudian sebutkan pin LED mana yang anda perlukan dengan menggunakan arahan berikut: ledcAttachPin (ledPin, ledChannel); - di sini ledPin adalah pin no. Yang akan kita gunakan & ledChannel adalah saluran yang harus kita pilih untuk PWM.5. Akhirnya, untuk mengawal kecerahan LED menggunakan PWM, anda menggunakan fungsi berikut: >> bahagian penting utama kod tersebut adalah arahan berikut yang akan menulis output analog ke pin LED: ledcWrite (ledChannel, dutycycle); perintah di atas memerlukan 'ledChannel' & 'dutyCycle' di mana saluran adalah nombor saluran yang akan kita gunakan dan kitaran tugas adalah nilai yang kita tulis sebagai output ke pin LED.

Langkah 3: Sambungan

Sambungan
Sambungan

Bahagian sambungannya sangat mudah. Anda perlu menyambungkan LED dengan Resistor ke GPIO16 seperti yang ditunjukkan dalam skematik.

Langkah 4: Pasang DEWAN ESP32 di Arduino IDE

Pasang ESP32 BOARDS di Arduino IDE
Pasang ESP32 BOARDS di Arduino IDE

Pastikan anda mempunyai Arduino IDE di PC anda dan anda memasang ESP32 Boards di Arduino IDE anda, dan jika tidak demikian, ikuti arahan berikut untuk memasangnya.:

Langkah 5: Kod

Kod
Kod

Sila salin kod berikut dan muat naik ke ESP32 anda: // nombor LED pinconst int ledPin = 16; // 16 sesuai dengan GPIO16 // menetapkan sifat PWMconst int freq = 5000; const int ledChannel = 0; const int resolution = 8; void setup () {// configigure LED PWM functionalitites ledcSetup (ledChannel, freq, resolution); // pasang saluran ke GPIO untuk dikendalikan ledcAttachPin (ledPin, ledChannel);} gelung void () {// tingkatkan kecerahan LED untuk (int dutyCycle = 0; dutyCycle <= 255; dutyCycle ++) {// menukar LED kecerahan dengan PWM ledcWrite (ledChannel, dutyCycle); kelewatan (15); } // kurangkan kecerahan LED untuk (int dutyCycle = 255; dutyCycle> = 0; dutyCycle -) {// menukar kecerahan LED dengan PWM ledcWrite (ledChannel, dutyCycle); kelewatan (15); }}

Langkah 6: Menguji Fungsi PWM

Menguji Fungsi PWM
Menguji Fungsi PWM

Selepas memuat naik kod, anda akan melihat intensiti LED anda berubah sehingga membawa kita ke akhir arahan ini. Selamat menggunakan PWM dengan ESP32 dalam projek anda.

Disyorkan: