Seperti kebanyakan microcontroller, Arduino tidak memiliki analog output. Tapi Arduino memiliki kelebihan pin digital PWM (pulse width modulation), apa sebenarnya PWM ini?
Sedikit Catatan: untuk menggantikan HIGH dan LOW yang biasa digunakan pada digitalWrite, kamu gunakan angka 0-255. Dimana 0 untuk nilai paling gelap dan 255 nilai paing terang.
Selanjutnya kita akan mencoba membuat lampu LED terang redup seolah-olah luntur (fade). Untuk sketchnya kamu bisa buka di FILE => EXAMPLE => BASIC => FADE.
Atau salin ulang sketch dibawah ini:
Secara sederhana PWM membuat pin digital Arduino bisa mengeluarkan Output Analog dari 0-255. Dengan begini kita bisa mengendalikan tingkat keterangan pada lampu LED, mengatur volume suara speaker, hingga mengatur kecepatan Motor DC.
Tapi tidak semua pin digital pada Arduino termasuk PWM. Hanya pin 3,5,6,9,10, dan 11 saja. Dan kita bisa gunakan pin PWM ini dengan perintah analogWrite.
Sebelum mencoba pemrograman analogWrite, pastikan kamu sudah menyiapkan:
1x Arduino
1x Breadboard
1x LED
1x Resistor 220 Ohm
2x Kabel Jumper
Selanjutnya buatlah rangkaian seperti pada gambar dibawah ini:
Lalu untuk mencoba memprogram, silahkan gunakan sketch dibawah ini:
Sebelum mencoba pemrograman analogWrite, pastikan kamu sudah menyiapkan:
1x Arduino
1x Breadboard
1x LED
1x Resistor 220 Ohm
2x Kabel Jumper
Selanjutnya buatlah rangkaian seperti pada gambar dibawah ini:
Lalu untuk mencoba memprogram, silahkan gunakan sketch dibawah ini:
void setup() {
pinMode(9, OUTPUT);
}
void loop() {
analogWrite(9, 255); //led menyala terang
delay(500);
analogWrite(9, 100); //led menyala sedang
delay(500);
analogWrite(9, 0); //led tidak menyala
delay(500);
}
Sedikit Catatan: untuk menggantikan HIGH dan LOW yang biasa digunakan pada digitalWrite, kamu gunakan angka 0-255. Dimana 0 untuk nilai paling gelap dan 255 nilai paing terang.
Selanjutnya kita akan mencoba membuat lampu LED terang redup seolah-olah luntur (fade). Untuk sketchnya kamu bisa buka di FILE => EXAMPLE => BASIC => FADE.
Atau salin ulang sketch dibawah ini:
int led= 9;
int brightness= 0; //variabel untuk kecerahan led
int fade= 5; //variabel untuk jumlah luntur dalam satu waktu
void setup()
{
pinMode(led,OUTPUT);
}
void loop()
{
analogWrite(led, brightness); //menyalakan led sesuai dengan tingkat terang dari brightness
brightness= brightness +fade; //merubah terang led selanjutnya
if (brightness == 0 || brightness == 255) // mengembalikan cahaya led kembali terang
{
fade = -fade;
}
delay(30);
}
NOTES:
- int brightness= 0; variabel yang digunakan untuk tingkat keterangan.
- int fade= 5; jumlah fade yang berubah dalam satu waktu.
- analogWrite(led, brightness); digunakan untuk menyalakan LED sesuai dengan nilai terang dari variabel brightness.
- brightness= brightness +fade; digunakan untuk merubah tingkat terang led untuk waktu selanjutnya.
- if (brightness == 0 || brightness == 255) digunakan untuk mengembalikan cahaya led kembali terang saat hampir menjadi gelap.
Thanks kelas robot. Bermanfaat banget. Bisa belajar banayak dr sini. :v
BalasHapus