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

Belajar Pemrograman Dasar Arduino!

Yang yang baru pertama kali belajar arduino silahkan masuk dulu ke KELAS ARDUINO . Seperti yang saya bilang pada postingan sebelumnya, bahasa pemrograman Arduino mirip bahasa C yang digunakan pada AVR. Akan tetapi lebih sederhana, dan lebih mudah untuk dipelajari. Ada yang bilang juga bahwa bahasa pemrograman Arduino adalah bahasa processing. Bagi saya bahasa pemrograman yang digunakan pada Arduino adalah bahasa pemrograman Arduino ;) hehe Nah pada kelas ini saya ingin mengajak kamu untuk belajar Bahasa Pemrograman Dasarnya. Penting sekali, supaya saat dipembahasan selanjutnya saya kasih kamu contoh program. Kamu sudah bisa memahami dan tidak bingung, karena kamu sudah tahu dasarnya. Ok! Baiklah kita akan mulai dari: void setup () { // semua kode yang disini akan dibaca sekali oleh Arduino } void loop () { //semua kode yang ada disini akan dibaca berulang kali (terus menerus) oleh Arduino } Semua kode program yang ada dalam void setup akan dibaca sekali oleh A...

Program Arduino: Sensor Cahaya LDR!

Light Dependent Resistor (LDR) adalah jenis resistor yang nilai hambatannya di pengaruhi oleh cahaya di sekitar. Maka kita bisa membuat LDR ini menjadi sensor cahaya. Karena memang sudah banyak aplikasinya. Misalnya pada lampu jalan, tidak ada saklar untuk mematikan dan menghidupkan lampu jalan. Dengan menggunakan sensor cahaya LDR, lampu jalan akan mati ketika siang dan akan hidup ketika malam secara otomatis. Sekarang kita akan buat program Arduino yang akan melakukan, "Lampu LED menyala ketika keadaan gelap dan mati ketika keadaan terang"  ( Automatic Lighting System ). Yang harus kamu siapkan: 1x Arduino 1x Breadboard 1x Sensor cahaya LDR 1x Resistor 10k 7x Kabel jumper Kemudian buat rangkaian seperti gambar dibawah ini. NOTES : Hubungkan 5V dan GND dari Arduino ke Breadboard. Hubungkan kaki kiri LDR ke 5V. Hubungkan kaki kanan LDR ke pin A2 Arduino. Hubungkan kaki kiri resistor ke celah antara kaki kanan LDR dan GND arduino. Hubungkan kak...

Menghidupkan Dan Mematikan LED dengan Satu Tombol - Program Arduino Button

Sebelumnya di tutorial, " Program Arduino: Digital Read Push Button! ." Ada banyak sekali komentar yang meminta untuk dibuatkan tutorial ini, seperti pada komentar: "Mau tanya mas,, kalo tombol di tekan led akan nyala dan tombol di lepas led tetap nyala sampai di tekan lg tombolnya baru led mati,," "Mas saya ada tugas nih. Kalo kita menggunakan 2 led tapi menggunakan 1 button.. Kita tekan button lampu led1 huidup.. lalu kita tekan button led 1 mati.. kita tekan lagi button led 2 yang hidup.. bagaimana program nya mas?" "Manthap && jos tutor'y.. Oya Mas,? mau tanya && minta ilmu || jurusnya, gimana cara menyalakan 5 led dalam satu button,,? Jadi jika button di tekan LED1 akan menyala dan tekan lagi LED2 menyala, sampai 5 led. Mohon bantuannya mas.? Hehe" Inti dari pertanyaan mereka jika saya simpulkan adalah bagaimana dengan satu tombol bisa menjalakan banyak fungsi, seperti menghidupkan dan mematikan led. Di ...