Tugas pertama mata kuliah Interaksi Manusia dengan Komputer & Antarmuka II3231 adalah menyalakan dan memadamkan LED dengan push button. Pada keadaan awal LED mati. Ketika tombol ditekan sekali LED menyala. Ketika tombol ditekan lagi, LED mati dan seterusnya.


push button

Berikut adalah alat dan bahan yang digunakan dalam proyek ini :

  1. Arduino Uno
  2. Kabel USB
  3. Kabel jumper secukupnya
  4. LED
  5. Resistor 1K 2 buah
  6. Breadboard
  7. Push button

Berikut skema rangkaian proyek ini :

skema rangkaian

Kabel merah terhubung ke Vcc 3,3V. Kabel hitam tehubung ke ground. Kabel hijau terhubung ke pin digital 2. Kabel biru menghubungkan LED dan resistor ke ground dan pin digital 13. Pada kondisi normal input dari pin digital 2 adalah HIGH karena terhubung langsung ke Vcc 3,3V. Pada saat tombol ditekan (switch terhubung) input dari pin 2 menjadi LOW karena terhubung ke ground.

 Berikut adalah code yang digunakan :

int masuk=2;        //pin input
int hasil=13;       //pin output
int baca;           //state tombol sekarang
int sebelumnya=0;   //state tombol sebelumnya
int listrik=0;      //state lampu

void setup(){
  pinMode(masuk,INPUT);
  pinMode(hasil,OUTPUT);
}

void loop(){
  baca=digitalRead(masuk);
  if(baca==HIGH && sebelumnya==LOW){
    listrik=1-listrik;
    digitalWrite(hasil,listrik);
  }
  sebelumnya=baca;
  delay(5);
}

Penjelasan kode :

  • Baris 1 dan 2 adalah deklarasi variabel masuk untuk pin input (dari push button) dan variabel hasil output (LED)
  • Baris 3 dan 4 adalah deklarasi variabel state input dari pin masuk. variabel baca berisi state saat ini dan variabel sebelumya berisi state sebelumnya.
  • Baris 5 adalah deklarasi variabel listrik state LED.
  • Baris 13 membaca state tombol saat ini.
  • Perubahan state lampu (mati/menyala) hanya terjadi ketika state sebelumnya LOW dan state saat ini HIGH. Kondisi tersebut dicek di baris 14. Jika listrik HIGH maka akan menjadi LOW dan sebaliknya (baris 15);

Hasil implementasi :

undefined

undefined

 

Tim kami :
18214046 Fat Han Nuraddin
18214033 Andreas Ekadinata Widodo
18214015 Raden Haryo Pandu Prakoso