Dalam tutorial kali ini, anda akan mempelajari bagaimana PWM berfungsi yang mampu mengawal kadar terang, malap lampu LED dalam code anda. Saya akan terangkan sedikit mengenai PWM. Dekat board NodeMCU ESP8266 ni, pin PWM adalah bermula dari D1, D2, D3, …. D8.
PWM berfungsi untuk membolehkan kita mengawal analog device atau komponen melalui digital pin. Anda boleh search berkaitan PWM untuk mengetahui lebih terperinci mengenai frekuensi Pulse Width Modulation.
Untuk tutorial ini, anda boleh ikuti langkah-langkah dibawah:
1. Sambungan litar
Sebelum memulakan sketch/code, sambungan litar perlu dibuat terlebih dahulu. Sambungan litar seperti berikut:
Pastikan ground anda disambungkan pada ground breadboard.
2. Sambungkan NodeMCU ESP8266 pada USB komputer
USB yang digunakan untuk NodeMCU ESP8266 ini berbeza dengan Arduino UNO. Arduino UNO menggunakan USB cable jenis A/B, manakala NodeMCU ESP8266 menggunakan cable jenis Micro USB.
Pastikan anda memilih NodeMCU board module, bergantung pada jenis board NodeMCU ESP8266 yang anda gunakan.
3. Sketch/code untuk LED blinking, kawal menggunakan PWM
Dalam langkah yang ke 3 ini, anda boleh taip atau copy code yang kami berikan. PWM boleh digunakan pada komponen potentiometer dan juga motor untuk kawal banyak lagi komponen lain. Tapi untuk tutorial ini, saya akan tunjukkan kecerahan nyalaan LED dikawal dengan hanya declare nilai PWM dalam code.
/**********************************************************************************/ void setup() { // masukkan code setup di sini pinMode(D1, OUTPUT); //PWM pada LED HIJAU dan PIN D1 sebagai OUTPUT pinMode(D2, OUTPUT); //PWM pada LED KUNING dan PIN D2 sebagai OUTPUT pinMode(D3, OUTPUT); //PWM pada LED MERAH dan PIN D3 sebagai OUTPUT
}
/**********************************************************************************/ void loop() { // masukkan code utama disini analogWrite(D1, 100); //declare PWM PIN D1 dan nilai PWM 100 //range yang digunakan antara 0~255 delay(1000); //delay selama 1 saat (1000millisaat) analogWrite(D2, 200);//declare PWM PIN D2 dan nilai PWM 200 //range yang digunakan antara 0~255 delay(1000); //delay selama 1 saat (1000millisaat) analogWrite(D3, 240);//declare PWM PIN D3 dan nilai PWM 240 //range yang digunakan antara 0~255 delay(1000); //delay selama 1 saat (1000millisaat)
}
/**********************************************************************************/ |
- Setelah anda selesai menaip atau copy code yang saya berikan, anda boleh pastikan code anda tidak ada error dengan menekan verify. Verify akan run code anda tanpa upload code ke dalam NodeMCU ESP8266, dari situ boleh tahu sama ada code ataupun hardware yang bermasalah. Jika code anda okay dan tiada error, anda boleh tekan upload code anda ke dalam NodeMCU ESP8266.
- Output LED anda akan jadi seperti dalam gambar. Daripada output LED, anda akan nampak perbezaan kecerahan nyalaan LED pada ketiga-tiga LED. Nilai PWM yang saya declare dalam code adalah range dari 0~255. Anda boleh ubah nilai PWM tu untuk tahu kadar kecerahan LED daripada nilai yang anda letakkan. Semakin tinggi nilai PWM semakin cerah LED.
Jangan lupa untuk follow Facebook dan Instagram kami untuk dapatkan banyak lagi info dan update projek menarik akan kami share kepada anda. Itu sahaja untuk tutorial ini. Selamat mencuba!