Easy PWMs — ESP32 Project 2.1

David Moelia
3 min readFeb 7, 2021

--

Heyoo peeps! Balik lagi sama gue, David. Gue mau cerita tentang project ESP32 2.1 gue nih. Kali ini sebenernya masih nyambung dikit lah sama yang project 2.0(LED Switch) karena disini masih bakal revolves around LED(just in case ada yang penasaran sama project sebelomnya, you can click here). PWM atau pulse-width modulation kalo gue oversimplify bisa dibilang buat atur intensitas nyala atau redup sumber cahaya. In this case kita masih pake LED. Di akhir artikel ini, gue juga ada personal project gue sendiri yang berawal dari iseng-iseng and penasaran tapi jadinya lumayan oke.

Oke sekarang gue bahas cara bikin LED nyala-redup bertahap yang paling basic dulu ya. Langsung ke alat-alat yang diperluin buat project ini :

  • ESP32
  • Breadboard
  • Kabel jumper
  • Kabel microUSB
  • LED
  • Resistor 330 Ohm(jumlahnya samain kaya jumlah LED)
  • Program Arduino IDE(yang udah di set up buat ESP32)

Rangkaian

Untuk rangkaiannya sendiri, bisa dicontoh kaya yang gambar di bawah ini :

[NOTE] inget ya, jangan sampe salah anoda sama katoda lampu LED. Panjang berarti anoda(kalo di gambar yang bengkok) dan pendek katoda.

Cukup simple kan rangkaiannya? Kalo gitu sekarang kita masuk aja ke code-nya.

Code

Gue jelasin secara singkat ya tentang code-code yang relevan. Here goes :

  • const int ledChannel = 0; line ini gunanya buat nentuin channel LED yang mau kita pake. Variasi channel LED ada 16, in this case gue pilih channel 0.
  • const int resolution = 8; kalo yang ini gunanya buat nentuin jumlah “level” intensitas nyala LED-nya. Karena 8 artinya itu 8 bit, berarti intensitas voltase yang di-supply ada dari level 0–255.
  • for(int dutyCycle = 0; dutyCycle ≤ 255; dutyCycle++) line ini buat nentuin looping yang dilakukan program buat tingkatin “brightness” LED sampe mentok di “level” ke-255. Nah statement for loop satunya lagi buat gradually nurunin brightness LED sampe 0.

Setelah rangkaian selesai dirangkai, code selesai di coding. Tinggal upload deh, terus bisa diliat kaya gimana hasilnya. Ini buat contoh hasil demo punya gue sendiri :

TaDaaa!

Now, as I promised earlier, gue mau kasih tunjuk juga project iseng-iseng gue pake PWM. Project yang ini gue pake tiga lampu LED and rangkaiannya kaya begini :

Code-nya sebenernya cukup mirip sama yang sebelomnya, tapi gue kasih upgrade dikit lah. I call this The Sequential PWM with 3 LEDs, begini nih code-nya :

Kaya yang gue bilang tadi, code-nya sebenernya ga beda jauh cuma tambahan nested for loop, channel LED, sama gue ubah aja delay-nya.

Dari code-nya dulu yang kaya gini, kira-kira kalian bisa tebak ga bakal kaya gimana nanti hasilnya?

Kalo kalian dah bisa nebak atau mungkin nyerah hahah, jadinya kaya gini nih hasil demonya :

Mungkin di project-project ke depan gue mau bikin pake konsep yang sama tapi PWM-nya ikutin irama lagu.

Nah, sekian buat ESP Project 2.1-nya tentang PWM. Semoga menarik and helpful for you readers. As always, kalo ada dari kalian yang masih ketemu masalah saat nyoba ini, bisa diliat artikel gue yang tentang set up dan troubleshooting ESP32 di Arduino IDE disini.

I’ll be signing off for now, thank you and peace out peeps.

--

--