- Arduino Uno
- LED (Merah, Biru)
- Resistor 1K Ohm
- Breadboard
- Jumper
Rangkai bahan dan komponen
Selanjutnya kita susun semua bahan menjadi sebuah rangkaian di atas breadboard, dengan beberapa ketentuan berikut :
- Hubungkan katoda pada led dengan resistor, kemudian hubungkan resistor ke ground pada arduino
- Hubungkan anoda pada led merah ke pin 13 ( Opsional mau pin manapun )
- Hubungkan anoda pada led biruke pin 12 ( Opsional mau pin manapun )
Menuliskan instruksi ke dalam arduino
Untuk menuliskan instruksi ke dalam simulasi mikrokontroller arduino, bisa di klik button code pada sisi kanan.
Setelahnya kita harus mengenalkan led kepada mikrokontroller, sehingga perlu mendeklarasikan pin-pin yang digunakan dari setiap led dan mode yang digunakan (input atau output) seperti berikut :
#define merah 13
#define biru 12
void setup {
pinMode(Merah, Output);
pinMode(Biru, Output);}
Setelah pin dideklarasikan, langkah selanjutnya kita akan memodifikasi script diatas dengan menambah beberapa script berikut untuk penghitungan millis() seperti pada code berikut :
#define merah 13
#define biru 12
unsigned long temp = 0;
long int jeda = 1000;
int hidup = 1;
int mati = 0;
void setup()
{
pinMode(merah, OUTPUT);
pinMode(biru, OUTPUT);
}
void loop()
{
unsigned long count = millis();
if (count - temp == jeda){
temp = count;
if(hidup == 1){
hidup = mati;
mati = 1;
}else{
mati = hidup;
hidup = 1;
}
}
digitalWrite(merah, hidup);
digitalWrite(biru, mati);
}
Dalam script tersebut dapat terlihat, kita mempunyai variabel temp, untuk menyimpan nilai dari perubahan penghitung millis(), dan variable count digunakan untuk menghitung waktu millis(), yang nantinya akan dilakukan pengecakan apakah hasil pengurangan count dengan temp akan sama dengan nilai jeda yang kita harapkan.
Untuk dapat lebih memahami, penjelasan code tersebut silahkan putar video berikut :
Kemudian jalankan dengan running hasil simulasi kita, dan tara, flip flop ala lampu lalu lintas pun jadi :), CMIIW