Sunday, January 16, 2022

1. Belajar Mikrokontroller Awal : Flip Flop (Blinking) Led Dengan Millis Tinkercad

January 16, 2022 Posted by ongkyrifdev
Sama seperti artikel sebelumnya yaitu Belajar Mikrokontroller Awal : Flip Flop (Blinking) Led Dengan Delay Tinkercad  kita disini akan membahasnya menggunakan millis, untuk melakukan flip-flop tersebut. Seperti biasa kita akan menggunakan tinkercad untuk melakukan simulasinya.

Rangkaian yang digunakan masih sama seperti yang sebelumnya kita gunakan, disini kalian bebas menyusun dari awal atau menggunakan rangkaian sebelumnya, yang terpenting hasil nya akan terbentuk seperti pada gambar ini.
Belajar Mikrokontroller Awal : Flip Flop (Blinking) Led Dengan Millis Tinkercad Rangkaian

Bahan dan Komponen 

  1. Arduino Uno
  2. LED (Merah, Biru)
  3. Resistor 1K Ohm
  4. Breadboard
  5. Jumper 

Rangkai bahan dan komponen

Selanjutnya kita susun semua bahan menjadi sebuah rangkaian di atas breadboard, dengan beberapa ketentuan berikut :

  1. Hubungkan katoda pada led dengan resistor, kemudian hubungkan resistor ke ground pada arduino
  2. Hubungkan anoda pada led merah ke pin 13 ( Opsional mau pin manapun )
  3. 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