Langsung ke konten utama

Program Arduino: Fade analogWrite!

Seperti kebanyakan microcontroller, Arduino tidak memiliki analog output. Tapi Arduino memiliki kelebihan pin digital PWM (pulse width modulation), apa sebenarnya PWM 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:

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.

Komentar

  1. Thanks kelas robot. Bermanfaat banget. Bisa belajar banayak dr sini. :v

    BalasHapus

Posting Komentar

Postingan populer dari blog ini

Membuat Jam Digital Dengan Arduino Uno, RTC DS1302, dan LCD i2C!

Kita akan membuat Jam Digital menggunakan Arduino Uno sebagai Controllernya, RTC DS1302 sebagai data untuk waktu dan tanggalnya, dan LCD i2C untuk menampilkan data waktu dan tanggalnya. Ini merupakan gabungan dari postingan sebelumnya, jadi yang belum coba saya sarankan coba dulu kedua posting berikut: Cara Simpel Program LCD i2C 16x2 Menggunakan Arduino Cara Mudah Program RTC Module DS1302 Jam Digital Dengan Arduino Ok! Yang harus kamu siapkan adalah... 1x Arduino Uno 1x RTC DS1302 1x LCD i2C 9x Kabel Jumper Male-Female Pasanglah seperti pada gambar rangkaian dibawah ini: Sebelum masuk ke-pemrograman ada 2 library yang harus kamu masukan ke Arduino. Library lCD i2C dan Library untuk RTCnya, silahkan Download dulu lewat Link di bawah ini: DOWNLOAD LIBRARY LiquidQrystal_i2c (DROPBOX) DOWNLOAD LIBRARY virtuabotixRTC (DROPBOX) Bagi yang masih bingung cara masukin Library ke aplikasi arduinonya, ...

Program Arduino: Digital Read Push Button!

Hari ini kita akan mencoba membuat Program untuk Push Button, komponen elektronika jenis Saklar yang pernah terbahas di Komponen Dasar Elektronika . Dimana kita mengetahui bahwa Push Button ketika kita tekan akan menghubungkan arus listrik, dan terputus apabila dilepas (tidak ditekan). Saat ini kita akan membuat program sederhana untuk Push Button dengan logika program, “ Jika button ditekan LED menyala, jika tidak LED mati. ” Yang harus kamu siapkan; 1x Arduino 1x Breadboard 1x Push button 1x LED 1x Resitor 10k 1x Resistor 220ohm 7x Kabel jumper Buatlah rangkain seperti gambar dibawah ini... Rangkaian Untuk Push Button NOTES :     Hubungkan 5V dan GND dari Arduino ke Breadboard . Hubungkan kaki pertama button ke 5V dan kaki ke-2 ke kaki pertama resitor 10k . Hubungkan kaki ke-2 resistor 10k ke GND . Hubungkan pin 2 Arduino ke kaki ke-2 button . Untuk LED rangkaiannya tidak jauh berbeda dengan pembahasan sebelumnya. Untuk sketch-nya ...

Jenis-Jenis Robot Beroda

Masih ingat? Di salah satu jenis robot, ada robot yang bergerak atau berpindah tempat menggunakan roda. Dimana robot beroda ini adalah yang paling banyak dibuat pada masa ini. Baik untuk aplikasi yang serius, dan juga untuk yang sekedar hobbi robot, atau pembelajaran. Di kelas ini saya hanya ingin memperkenalkan jenis-jenis robot beroda yang banyak diaplikasikan di dunia. Apa saja itu? 1. Robot Beroda Satu . Tidak ada yang bisa saya jelaskan disini, selama ini saya belum menemukan robot yang berjalan menggunakan roda satu. Mungkin karena mekaniknya yang sulit, juga sistem kontrolnya yang mustahil. 2. Robot Beroda Dua . Atau lebih sering disebut Segway, robot ini memerlukan Sensor Gyro untuk menjaga keseimbangannya agar bisa tetap berdiri. Sensor Gyro ini, aplikasinya selain pada robot, juga ada pada setiap Smartphone canggih sekarang. 3. Robot Beroda Tiga . Ada dua jenis robot beroda tiga. Ada yang hanya menggunakan dua roda yang bisa bergerak, dan roda yang satunya hanya se...