Selasa, 11 Februari 2014

Tutorial Arduino: Fading LED Dilengkapi Pushbutton


Semakin banyak saja tutorial Arduinonya (padahal baru tiga).
Kalau anda ingin melihat seluruh koleksi tutorial Arduino di blog saya, klik di sini.
Masih berkutat dengan LED dan pushbutton, kali ini saya akan menunjukkan bagaimana cara membuat lampu LED menyala dengan efek fading. Artinya, lampu akan menyala makin terang lalu menjadi redup dan terang lagi secara gradual. Kali ini dengan trigger dari pushbutton. Jadi kalau saklar pushbutton tidak ditekan, lampu LED akan adem ayem saja. Begitu ditekan, dia akan fading terang dan redup. Menarik? Jangan buang waktu lagi, baca dan praktekkan.

Permulaan

Alat dan bahan:
- Platform Mikrokontroler (disini saya pakai Arduino Uno R3) - 1 buah




- Resistor 270 ohm - 1 buah --> akhirnya berhasil beli (lihat kedodolan di tutorial sebelumnya)
- Resistor 10k ohm - 1 buah















- Breadboard - 1 buah









- Lampu LED - 1 buah












- Saklar pushbutton - 1 buah













- Kabel USB - 1 buah
- Kabel secukupnya
- Tang
- Software Arduino IDE, kalau belum punya unduh di sini

Mulai Bikin 


1. Siapkan Arduino dan breadboard nya.
Perlu diperhatikan! Pada intinya terdapat dua rangkaian di sini. Rangkaian lampu LED dan rangkaian pushbutton. Keduanya terpisah, namun tetap dalam kontrol Arduino sehingga outputnya dapat diatur sesuai harapan. Karena itu pisahkanlah kabel dan komponen yang diperlukan untuk keduanya agar tidak salah.

2. Pasang resistor dan lampu LED sesuai pada gambar di atas. Resistor yang digunakan bersama lampu LED adalah yang besarnya 270 ohm.
3. Hubungkan salah satu ujung dengan pin GND, sementara ujung yang lain dihubungkan dengan pin 9.
4. Pasang pushbutton dan resistor sesuai pada gambar di atas. Resistor yang digunakan bersama saklar pushbutton adalah sebesar 10k ohm.
5.Kaki yang berada di ujung resistor dihubungkan dengan pin 7 dan pin GND (kabel warna biru pada gambar). Sementara satu kaki tersisa dihubungkan dengan pin 5V (kabel warna merah pada gambar)
6. Pemasangan sirkuit selesai. Kini ke urusan pemrograman. Hubungkan Arduino dengan komputer.
7. Copy lalu paste kode di bawah, kemudian lakukan verify serta upload.
8. Sudah jadi! Silakan dimainkan :D

Maaf kualitas payah


Source Code

// Example 05: Menyalakan LED saat pushbutton ditekan 
// serta mengubah intensitasnya saat ditahan

const int LED = 9; // pin untuk LED
const int BUTTON = 7; // pin untuk pushbutton
int val = 0; // nilai pin input
int old_val = 0; // nilai val sebelumnya 
int state = 0; // 0 = LED mati;1 = LED nyala
int brightness = 128; // Stores the brightness value
unsigned long startTime = 0; // when did we begin pressing?

void setup() { 
   pinMode(LED, OUTPUT); // LED sebagai output
   pinMode(BUTTON, INPUT); // BUTTON sebagai input

void loop() {
   val = digitalRead(BUTTON); // baca input dari BUTTON

   // jika ada perubahan
   if ((val == HIGH) && (old_val == LOW)) {
      state = 1 - state; //ubah state
      startTime = millis(); // millis() adalah Arduino clock
      delay(10);
      // mengecek apakah button ditahan
      if ((val == HIGH) && (old_val == HIGH)) {
      // jika button ditahan lebih dari 500ms
         if (state == 1 && (millis() - startTime) > 500) {
            brightness++; // increment brightness by 1
            delay(10); // mencegah perubahan intensitas mendadak
            if (brightness > 255) { 
               brightness = 0; // reset nilai brightness
            }
         }
      }
      old_val = val; // menyimpan nilai val lama
      if (state == 1) { 
         analogWrite(LED, brightness); // nyalakan LED
      } else { 
         analogWrite(LED, 0); // turn LED OFF 
      } 

   }
}


Penutup

Masih banyak yang dapat dilakukan dengan Arduino. Selama tugas kuliah masih berdatangan seperti banjir dan rasa penasaran masih membara, tutorial Arduino akan terus berjalan. Cek Tutorial Arduino selengkapnya di blog ini

Tidak ada komentar:

Posting Komentar