0% menganggap dokumen ini bermanfaat (0 suara)
108 tayangan3 halaman

P1L3

Rangkuman program Arduino untuk membaca input 3 tombol dan mengontrol nyala padam 3 LED secara terpisah berdasarkan penekanan tombol, dengan menggunakan variabel kondisi untuk menyimpan status nyala padam LED dan fungsi delay untuk mencegah bouncing dari tombol.

Diunggah oleh

Eko Wahyudi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
108 tayangan3 halaman

P1L3

Rangkuman program Arduino untuk membaca input 3 tombol dan mengontrol nyala padam 3 LED secara terpisah berdasarkan penekanan tombol, dengan menggunakan variabel kondisi untuk menyimpan status nyala padam LED dan fungsi delay untuk mencegah bouncing dari tombol.

Diunggah oleh

Eko Wahyudi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 3

LEMBAR KERJA LABORATORIUM/PRAKTIKUM

Tgl Percobaan : JUDUL PERCOBAAN : KODE: Paraf ACC


22-10-2-21 ARDUINO P1L3

Skema Rangkaian:

Buatlah rangkaian dan perintah program untuk membaca input 3 (tiga) tombol aktif low, untuk
menyalakan dan memadamkan 3 (tiga) LED aktif high berdasarkan pembacaan kondisi
penekanan tombol. Kondisi nyala atau padam pada led akan tetap terkunci sampai ada
perubahan kondisi berdasarkan adanya penekanan tombol

Perintah Program:
#define led1 2
#define led2 3
#define led3 4
#define tombol1 A0
#define tombol2 A1
#define tombol3 A2
#define ON HIGH
#define OFF LOW
byte kondisi1 = 0, kondisi2 = 0, kondisi3 = 0;

void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(tombol1, INPUT_PULLUP);
pinMode(tombol2, INPUT_PULLUP);
pinMode(tombol3, INPUT_PULLUP);
}

void loop() {
int cek_tombol1 = digitalRead(tombol1);
int cek_tombol2 = digitalRead(tombol2);
int cek_tombol3 = digitalRead(tombol3);

if (cek_tombol1 == LOW) {
if (kondisi1 == 0) {
kondisi1 = 1;
digitalWrite(led1, ON);
delay(2000);
} else {
kondisi1 = 0;
digitalWrite(led1, OFF);
delay(2000);
}
cek_bouncing_tombol(tombol1);
}

if (cek_tombol2 == LOW) {
if (kondisi2 == 0) {
kondisi2 = 1;
digitalWrite(led2, ON);
delay(2000);
} else {
kondisi2 = 0;
digitalWrite(led2, OFF);
delay(2000);
}
cek_bouncing_tombol(tombol2);
}
if (cek_tombol3 == LOW) {
if (kondisi3 == 0) {
kondisi3 = 1;
digitalWrite(led3, ON);
delay(2000);
} else {
kondisi3 = 0;
digitalWrite(led3, OFF);
delay(2000);
}
cek_bouncing_tombol(tombol3);
}
}

void cek_bouncing_tombol( int pin_nya) {


int cek_pinnya = digitalRead(pin_nya);
while (cek_pinnya == LOW) {
cek_pinnya = digitalRead(pin_nya);
}
delay(100);
}

Tabel data percobaan:

No Nilai delay Lama Apakah nyala led kedip kedip (Ya atau
tunda Tidak)
1 2000 2 detik YA

2 1000 1 detik YA

3 500 0,5 detik TIDAK

4 100 0,1 detik TIDAK


Uraian Kesimpulan:
Semakin kecil nilai delay-nya maka LED akan semakin tidak berkedip atau bahkan tidak berkedip
sama sekali.

Anda mungkin juga menyukai