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

Mengendalikan Gerakan Servo Menggunakan Potensio Knob Arduino

Kita akan membuat project untuk mengendalikan gerakan servo menggunakan potensio, atau lebih tepatnya kita akan menggunakan nilai analog yang dikeluarkan oleh potensio. Jadi jika potensio diputar ke derajat tertentu maka servo akan mengikuti berdasarkan nilainya. Bagi kamu yang baru, ada baiknya untuk melihat postingan sebelumnya: Cara Mudah Memprogram Servo Dengan Arduino Yang udah pernah coba, kita akan lanjutkan saja. Berikut adalah alat yang perlu kamu siapkan: 1x Arduino 1x Micro Servo 1x Potensio 5x Kabel Jumper Male-male 3x Kabel Jumper Male-female Sekarang silahkan susun seperti pada gambar dibawah ini: Jika sudah kita akan langsung memprogram. Seperti yang saya bilang di kelas sebelumnya, kita akan menyertakan library bawaan yang sudah ada pada Arduino IDEnya, jadi kamu tidak perlu menambahkan library terlebih dahulu. Silahkan salin atau ketik ulang sketch dibawah ini: #include <Servo.h>          ...

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...

Cara Mudah Memprogram RFID MFRC522 Dengan Arduino

Ini adalah program paling sederhana dari semua program RFID menggunakan MFRC522 yang pernah ada di dunia. hehe Yang belum tau apa itu RFID? RFID intinya kamu mengakses sesuatu menggunakan Tag yang berbentuk kartu atau gantungan kunci, dimana kartu ini cukup didekatkan saja ke sensor penerima maka kamu sudah bisa mengakses yang kamu butuhkan. Contoh untuk akses buka kunci pintu, akses lampu rumah, menyalakan alat, dan sebagainya. Sebelum mencoba RFID, pastikan kamu sudah menyiapkan: 1x Arduino Uno 1x RFID RC522 7x Kabel Jumper 1x Tag (kartu / gantungan kunci) Jika sudah kamu siapkan, lanjutkan dengan merangkai seperti gambar dibawah ini: Nah sebelum masuk pemrograman, ada library yang perlu kamu install ke Arduino Uno kamu terlebih dahulu. Silahkan Download librarynya di Link bawah ini: RFID.zip RFID Master.zip Silahkan Add kedua Library tersebut ke dalam Software Arduino IDE kamu. Bagi yang belum tau bagaimana cara Add library ke Arduino silahkan buka tutoria...