PWM pada Arduino
Super Admin 21-10-2020 3,058 Tutorial
menggunakan teknik PWM pada gelombang digital. Teknik PWM ini dilakukan dengan mengontrol gelombang digital menjadi ON/OFF secara bergantian dalam satu periode gelombang. Perbandingan waktu antara saat gelombang ON dengan waktu gelombang dalam satu periode inilah yang disebut dengan duty cycle. Agar lebih jelas, mari kita lihat ilustrasi berikut.
Dari gambar di atas, terlihat ilustrasi bagaimana duty cycle diubah-ubah pada tiap gelombang. Syntax analogWrite(0) akan menghasilkan duty cycle 0%, sementara analogWrite(255) akan menghasilkan duty cycle 100%. Rentang PWM 0 hingga 255 akan menghasilkan duty cycle dari 0% hingga 100%. Adapun rentang 0 hingga 255 ini adalah PWM pada Arduino Uno yang hanya memiliki resolusi 8-bit saja (8 bit = 2 dipangkatkan 8 = 256), sehingga apabila kamu menggunakan Arduino versi lain, kamu perlu mengetahui resolusi PWM-nya agar tahu batas maksimum dan minimum.
int ledPin = 9; // LED di pin 9
void setup() {
}
void loop() {
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5)
{
analogWrite(ledPin, fadeValue);
delay(30);
}
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5)
{
analogWrite(ledPin, fadeValue);
delay(30);
}
}