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

Lembar Kerja Siswa 2

Praktikum ini bertujuan untuk menggunakan perintah if pada Arduino untuk membuat LED berkedip dengan durasi yang berubah secara bertahap. Program tersebut menggunakan variabel waktu untuk mengontrol durasi nyala dan mati LED, dimana variabel tersebut dikurangi sedikit demi sedikit pada setiap looping untuk mempercepat kedipan, kemudian di-reset jika nilainya kurang dari 0.

Diunggah oleh

Odor Ompusunggu
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)
236 tayangan3 halaman

Lembar Kerja Siswa 2

Praktikum ini bertujuan untuk menggunakan perintah if pada Arduino untuk membuat LED berkedip dengan durasi yang berubah secara bertahap. Program tersebut menggunakan variabel waktu untuk mengontrol durasi nyala dan mati LED, dimana variabel tersebut dikurangi sedikit demi sedikit pada setiap looping untuk mempercepat kedipan, kemudian di-reset jika nilainya kurang dari 0.

Diunggah oleh

Odor Ompusunggu
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

Tanggal Praktikum Judul Praktikum Paraf

Nama Siswa Led Berkedip dengan perintah If

A. Tujuan
1. Menggunakan Arduino sebagai ouput
2. Menggunakan perintah if untuk membuat suatu kondisi

B. Teori Dasar

Perintah IF memiliki beberapa kombinasi, bisa IF saja, IF-ELSE, IF-ELSE IF-ELSE, dan seterusnya.

C. Alat dan Bahan


1. Arduino Board
2. Led built in
3. Arduino IDE
4. Proteus

D. Rangkaian Percobaan

E. Program Percobaan

const int pinLED = 8;


void setup() {
// pin LED sebagai output
pinMode(pinLED, OUTPUT);
}
// awal time delay 1000 | 1 detik
int timeDelay = 1000;
void loop() {
// Setiap looping, nilai timeDelay dikurangi 100
timeDelay = timeDelay - 100;
/* Jika timeDelay bernilai 0 atau negatif
maka nilai timeDelay direset ke 1000
*/
if(timeDelay <= 0){
timeDelay = 1000;
}
//Nyalakan dan matikan LED selama timeDelay
digitalWrite(pinLED, HIGH);
delay(timeDelay);
digitalWrite(pinLED, LOW);
delay(timeDelay);
}

F. Hasil Percobaan

G. Kesimpulan

Ketika awal dinyalakan, maka timeDelay adalah 1000. Nilai tersebut diinisialisasi pada baris 14. Baris ini tidak
dijadikan konstanta (const) sebagaimana pinLED karena nilai timeDelay akan diubah-ubah.

int timeDelay = 1000;

Setelah masuk ke bagian utama aplikasi, pada baris 18 nilai timeDelay dikurangi 100.

timeDelay = timeDelay - 100;

Sehingga timeDelay pertama yang digunakan untuk menyalakan dan mematikan LED adalah 900. Pada
perulangan selanjutnya, timeDelay kembali dikurangi 100, sehingga perulangan ke dua menggunakan
timeDelay 800 (lebih singkat dari timeDelay yang awal), begitu seterusnya hingga pada timeDelay 100.

Pada waktu melewati timeDelay 100, ketika dikurangi dengan 100, maka timeDelay bernilai 0. Kondisi ini cocok
dengan baris ke 23,

if(timeDelay <= 0){

timeDelay = 1000;

Jika (IF) timeDelay lebih kecil atau sama dengan 0, maka timeDelay akan diisi dengan 1000. Sehingga nilai
timeDelay tidak akan pernah negatif dan hal tersebut akan berulang terus-menerus. Hal ini lah yangmembuat
durasi nyala hidup-mati LED bisa berubah lebih cepat.

H. Percobaan Lanjutan

Cobalah program berikut ini, buat kesimpulan dari apa yang anda kerjakan.

Program lanjutan 1.
const int pinLED = 8;
void setup() {
// pin LED sebagai output
pinMode(pinLED, OUTPUT);
}
// awal time delay 1000 | 1 detik
int timeDelay = 1000;
void loop() {
// selama nilai timeDelay > 0
// eksekusi blok program ini
while(timeDelay > 0){
// LED hidup mati dengan durasi 500 milisekon
digitalWrite(pinLED, HIGH);
delay(500);
digitalWrite(pinLED, LOW);
delay(500);
// kurangi timeDelay dengan 100
timeDelay = timeDelay - 100;
}
// setelah timeDelay dikurangi terus-menerus
// maka pada akhirnya akan bernilai minus atau < 0
// maka while di atas akan berhenti
// selama nilai timeDelay < 1000
// eksekusi blok program ini
while(timeDelay < 1000){
// LED hidup mati dengan durasi 100 milisekon
digitalWrite(pinLED, HIGH);
delay(100);
digitalWrite(pinLED, LOW);
delay(100);
// tambahkan timeDelay dengan 100
timeDelay = timeDelay + 100;
}
}

Program lanjutan 2
const int pinLED = 8;
void setup() {
// pin LED sebagai output
pinMode(pinLED, OUTPUT);
}
// awal time delay 1000 | 1 detik
int timeDelay = 1000;
void loop() {
/* Jika timeDelay bernilai lebih kecil sama dengan 0
maka LED akan diam selama 3 detik
lalu nilai timeDelay direset ke 1000
*/
if(timeDelay <= 100){
delay(3000);
timeDelay = 1000;
}else{
// nilai timeDelay dikurangi 100 jika time delay > 100
timeDelay = timeDelay - 100;
}
//Nyalakan dan matikan LED selama timeDelay
digitalWrite(pinLED, HIGH);
delay(timeDelay);
digitalWrite(pinLED, LOW);
delay(timeDelay);
}

Anda mungkin juga menyukai