Blog Archive

Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Jumat, 09 Januari 2026

Tutorial MicroPython ESP32/ESP8266 - PWM untuk Mengatur Kecerahan LED

Pada artikel ini, Arduino Indonesia akan membahas tentang cara menghasilkan sinyal PWM dengan papan ESP32 dan ESP8266 menggunakan firmware MicroPython. Sebagai contoh, kami akan meredupkan kecerahan LED dengan mengubah duty cycle secara bertahap.

Rangkaian

Untuk contoh ini, hubungkan sebuah LED ke papan ESP Anda. Kami akan menghubungkan LED ke GPIO 5 di kedua papan, tetapi Anda dapat memilih pin PWM lain yang sesuai. Lihat pin terbaik yang dapat digunakan di Panduan Referensi Pinout ESP32 kami.

Komponen yang Diperlukan

Berikut daftar komponen untuk merakit rangkaian:

- ESP32 atau ESP8266

- LED 5mm

- Resistor 330 Ohm

- Breadboard

- Kabel jumper

 

Baca juga: Input dan Output Digital ESP32/ESP8266 dengan MicroPython

Diagram Rangkaian – ESP32

Gunakan diagram skematik berikut sebagai panduan jika Anda menggunakan papan ESP32:


Diagram Rangkaian – ESP8266

Gunakan diagram skematik berikut sebagai panduan jika Anda menggunakan papan ESP8266:


Kode Program

Berikut ini kode program yang mengubah kecerahan LED seiring waktu dengan meningkatkan duty cycle. Kode program ini kompatibel dengan ESP32 dan ESP8266.

 

from machine import Pin, PWM

from time import sleep


frequency = 5000

led = PWM(Pin(5), frequency)


while True:

  for duty_cycle in range(0, 1024):

    led.duty(duty_cycle)

    sleep(0.005)

 

Penjelasan Kode

Untuk membuat pin PWM, impor kelas PWM beserta kelas `Pin` dari modul machine.

 

from machine import Pin, PWM

 

Kemudian, buat objek PWM bernama led.

 

led = PWM(Pin(5), frequency)

 

Untuk membuat objek PWM, Anda perlu memberikan parameter: pin yang terhubung, frekuensi sinyal, dan duty cycle.

- Frekuensi: Dapat bernilai antara 0 dan 78125. Frekuensi 5000 Hz cocok digunakan untuk mengontrol kecerahan LED.

- Duty Cycle: Dapat bernilai antara 0 dan 1023. Nilai 1023 setara dengan duty cycle 100% (kecerahan penuh), dan 0 setara dengan 0% (LED padam).

 

Kami akan mengatur duty cycle di dalam perulangan while, jadi parameter duty cycle tidak perlu diberikan saat inisialisasi. Jika tidak diatur, nilai default duty cycle adalah 0.

 

Untuk mengatur duty cycle, gunakan metode duty() pada objek PWM dan berikan duty cycle sebagai argumen:

 

led.duty(duty_cycle)

 

Di dalam perulangan while, kami membuat perulangan `for` yang meningkatkan duty cycle sebanyak 1 di setiap iterasi dengan jeda 5 ms di antara setiap perubahan.

 

for duty_cycle in range(0, 1024):

    led.duty(duty_cycle)

    sleep(0.005)

 

Fungsi range() memiliki sintaks berikut:

 

range(start, stop, step)

 

- Start: Angka yang menentukan posisi awal. Kami ingin mulai dari duty cycle 0.

- Stop: Angka yang menentukan posisi berhenti (nilai ini tidak termasuk). Duty cycle maksimum adalah 1023. Karena kami menambah 1 setiap perulangan, nilai terakhir harus 1023+1, jadi kami gunakan 1024.

- Step: Bilangan bulat yang menentukan penambahan. Secara default, penambahannya adalah 1.

Di setiap perulangan for, kami mengatur duty cycle LED ke nilai duty_cycle saat ini:

 

led.duty(duty_cycle)

 

Setelah itu, variabel duty_cycle bertambah 1.

Demonstrasi

Simpan kode ke papan ESP Anda menggunakan Thonny IDE atau uPyCraft IDE. LED yang terhubung ke GPIO 5 akan semakin terang secara bertahap.



Baca juga: MicroPython ESP32 & ESP8266 - Cara Menggunakan Sensor BME280 (Tekanan, Suhu, Kelembaban)

Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.

0 on: "Tutorial MicroPython ESP32/ESP8266 - PWM untuk Mengatur Kecerahan LED "