Membuat Lampu Flip-Flop dengan Arduino

Lampu flip-flop adalah rangkaian yang berupa beberapa lampu LED yang menyala secara bergantian. Sebenarnya lampu flip-flop dapat dibuat dengan menggunakan rangkaian yang menggunakan transistor, tapi di sini kita hanya membuat flip-flop sebagai bahan latihan untuk memahami penggunaan mikrokontrol. Bahan yang perlu dipersiapkan adalah :

  1. Arduino UNO R3
  2. Kabel USB A/B
  3. Breadboard
  4. LED 3 buah
  5. Kabel tunggal penghubung
  6. Resistor 330 Ohm 3 buah

Rangkailah rangkaian flip-flop seperti yang ditunjukkan pada gambar 1. Pada tulisan ini, saya menggunakan 3 buah LED dengan menggunakan pin 11, 12, dan 13 sebagai output untuk menyalakan LED.

Image

Gambar 1. Skema rangkaian flip-flop.

Image

Gambar 2. Perkabelan rangkaian flip-flop pada breadboard.

Setelah rangkaian dirangkai dengan benar, maka saatnya mengetikkan kode untuk memerintah mikrokontrol Mikrokontrol diuploadkan program untuk melakukan tugas tertentu. Arduino menggunakan bahasa C untuk menuliskan kode program. Silahkan pelajari bahasa C sebelum melanjutkan ke tahap selanjutnya. Kode perintah yang saya gunakan pada flip-flop ini adalah seperti pada kode di bawah :

int pinA = 11;
int pinB = 12;
int pinC = 13;

void setup() {
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinC, OUTPUT);
}

void loop() {
// LED ke-1 menyala
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
delay(500);

// LED ke-2 menyala
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, LOW);
delay(500);

// LED ke-3 menyala
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
digitalWrite(pinC, HIGH);
delay(500);
}

Sebagai proyek awal kita, saya akan menjelaskan beberapa hal mengenai kode ini. Kode yang dituliskan di dalam fungsi setup() akan dieksekusi pertama saat mikrokontrol dinyalakan. Biasanya yang diketikkan di sini adalah menentukan mode tiap pin yang digunakan dalam rangkaian dengan menggunakan fungsi pinMode(). Fungsi pinMode() memiliki 2 parameter. Parameter pertama adalah nomor pin. Nomor pin yang dimasukkan sesuai yang terdapat pada fisik Arduino. Parameter kedua adalah mode. Ada dua mode yang disediakan, yaitu sebagai mode input ketikkan INPUT dan sebagai mode output ketikkan OUTPUT. Mode input berarti dari pin tersebut akan menerima input. Mode output berarti dari pin tersebut akan mengeluarkan output. Input atau output berupa sinyal digital, yaitu hanya mengenal HIGH dan LOW.

Kode yang diletakkan di dalam fungsi loop() akan dieksekusi selama rangkaian menyala. Fungsi digitalWrite() digunakan untuk menetapkan output yang akan dikeluarkan dari suatu pin. Parameter yang digunakan ada 2. Parameter pertama adalah nomor pin. Parameter kedua adalah nilai output, antara HIGH dan LOW. HIGH berarti menyala dan LOW berarti padam. Fungsi delay() digunakan untuk memberikan jeda sesuai nilai waktu yang dimasukkan. Parameter yang dibutuhkan adalah 1, yaitu nilai waktu jeda dalam satu millisecond (ms). Pada kode di atas, saya memberikan jeda 500 ms atau 1/2 detik.

Karena menginginkan LED menyala secara bergantian, maka ketika satu lampu dinyalakan, nilai pada pinnya ditetapkan sebagai HIGH. LED yang lainnya dimatikan dengan menetapkan nilai LOW pada pinnya. Tiap pergantian posisi nyala selalu diakhiri dengan jeda.

Image

Rangkaian flip-flop dinyalakan

Image

Gambar 3. Rangkaian flip-flop alternatif.

Rangkaian flip-flop juga dapat dibuat seperti pada gambar 3. Tanpa mengupload ulang program. Baru saya pikir kalau rangkaian yang ini lebih hemat komponen dan kabel. Resistor di sini digunakan untuk membatasi arus. Jika dihubungkan langsung tanpa resistor, ada kemungkinan LED akan rusak.

Project kali ini sudah saya coba dan berjalan dengan baik. Project ini tidak perlu dicetak ke PCB karena hanya sebagai latihan saja. Sekian isi tulisan ini. Nantikan project selanjutnya dari lab mini Introvesia. Terimakasih telah membaca tulisan ini, semoga dapat menjadi inspirasi. Jika ada yang perlu ditanyakan, silahkan tinggalkan komentar anda.

comments powered by Disqus