Kelas
Variasi Nyala Lampu LED Tujuan : Dapat membuat program sesederhana mungkin tentang a. Nyala ping pong b. Menyebar merapat c. Flip flop nyala ganjil d. Flip flop nyala genap Rangkaian lampu led
Dalam bahasa pemrograman yang digunakan pada software arduino yaitu bahasa C ada 2 bagian utama yang harus ada pada setiap program yaitu void setup(){} dan void loop(){}.Fungsi tanda { dan } baik di void setup dan void loop digunakan untuk mengawali perintah. Isi perintah pada void setup khusus di
nyala lampu led adalah untuk mempersiapkan lampu led pada masing-masing pin yang digunakan.Sedang isi perintah void loop adalah inti dari program yang digunakan untuk menampilkan nyala lampu led.
A.
Nyala ping pong Program dalam arduino: int led; void setup(){ for(led=10;led>=1;led--){ pinMode(led,OUTPUT); } } void loop(){ for(led=10;led>=1;led--){ digitalWrite(led,HIGH); delay(50); digitalWrite(led,LOW); } for(led=2;led<=9;led++){ digitalWrite(led,HIGH); delay(50); digitalWrite(led,LOW); } } Pembahasan a. void setup() Perintah for(led=10;led>=1;led--) dengan led=10 adalah intalisasi bahwa pin no 10 yang akan digunakan pertama kali, sedang led>=1 adalah merupakan syarat agar perintah for dapat jalan dan ledadalah perintah bahwa led no 10 akan berkurang 1 pada setiap pengulangan dalam perintah for.
{pinMode(led,OUTPUT); } menyatakan bahwa led menunjukan no pin yang akan digunakan sebagai output. Jadi secara ringkas pin yang akan digunakan dimulai dari pin no 10 sampai sampai pin no 1 dengan urutan 10,9,8,. . .,1
b. void loop() for(led=10;led>=1;led--){ digitalWrite(led,HIGH); delay(50); digitalWrite(led,LOW);} berati untuk led dengan no pin 10,9,8, . . .,1 yang digunakan dalam perintah ini dengan syarat 1 nomor pin untukl satu kali putaran perintah yaitu digitalWrite(led,HIGH) yang berati lampu nyala, delay(50) berati perpindahan ke perintah digitalWrite(led,LOW) adalah 50, digitalWrite(led,LOW) adalah perintah agar lampu mati. Setelah led dengan nomor 1 pin selesai dikenai perintah maka perintah berlanjut lompat ke perintah selanjutnya yaitu for(led=1;led<=10;led++){ digitalWrite(led,HIGH); delay(50); digitalWrite(led,LOW); } perintah diatas berati led yang akan digunakan adalah led dengan pin no 1,2,3, . . . ,10.Setiap satu pin akan dikenai digitalWrite(led,HIGH) yang berate lampu menyala, delay(50) berate selang waktu antara perintah digitalWrite(led,HIGH) ke digitalWrite(led,LOW )adalah 50. digitalWrite(led,LOW) adalah perintah agar lampu mati.Perintah ini berlangsung berurutan jika pin no 10 selesai dikenai perintah maka akan loncat ke perintah sebelumnya(diatasnya) dan akan berlangsung terus menerus sampai sumber daya habis.
B. Nyala menyebar merapat Program yang digunakan di arduino int led,Led; void setup(){ for(Led=10;Led>=6;Led--)
pinMode(Led,OUTPUT); for(led=1;led<=5;led++) pinMode(led,OUTPUT); } void loop(){ Led=11; led=0; do{ Led=Led-1; digitalWrite(Led,HIGH); delay(100); led=led+1; digitalWrite(led,HIGH); }while(Led>5&&led<6);
Led=11; led=0; do{Led=Led-1; digitalWrite(Led,LOW); delay(100); led=led+1; digitalWrite(led,LOW); }while(Led>5&&led<6); led=6; Led=5; do{ led=led-1; digitalWrite(led,HIGH); delay(100); Led=Led+1; digitalWrite(Led,HIGH); }while(led>1&&Led<10);
led=6; Led=5; do{led=led-1; digitalWrite(led,LOW); delay(100); Led=Led+1; digitalWrite(Led,LOW); }while(led>1&&Led<10); } Pembahasan Void setup(){perintah}
Berisi dua peritah for dan pinMode,yaitu for(Led=10;Led>=6;Led--), pinMode(Led,OUTPUT); ,for(led=1;led<=5;led++) , pinMode(led,OUTPUT); . for(Led=10;Led>=6;Led--), pinMode(Led,OUTPUT); berati pin yang akan digunakan adalah no 10 sampai no 6 dengan inisialisasi nama Led. for(led=1;led<=5;led++) , pinMode(led,OUTPUT); berati pin yang akan digunakan adalah no 1 sampai no 5 dengan inisialisasi nama led. Void loop(){perintah}
Berisi 4 perintah do while. Do while merupakan perintah perulangan yang mana terdiri dari 1. Syarat pin akan no brapa yang akan di mulai.Syarat ini di isi sebelum katado yang berate di atasnya. 2. Do{},tanda kurung {} mengapit perintah perintah apa saja yang harus dilakukan, disini programmer menginginkan lampi menyala dan mati dengan perintah digitalWrite. 3. While() tanda kurung () berati mengapit persyaratan yang berhubungan dengan perintah dalam do.Secara garis besar perintah while berati sebagai aturan yang membatasi perintah do dan bagaimana syarat perintah do berakhir.Ini seperti syarat pada led<=10 di perulangan for. Diprogram yang dibuat oleh programmer 4 perintah do while sebenarnya dapat dibagi 2 yaitu perintah agar lampu menyala dan perintah agar lampu mati/padam. Perintah agar lampu menyala adalah
Led=11; led=0; do{ Led=Led-1; digitalWrite(Led,HIGH); delay(100); led=led+1; digitalWrite(led,HIGH); }while(Led>5&&led<6); Perintah menyala ini dibuat agar led dengan pin no 1 sampai pin no 5 menyala,juga agar Led dengan pin no 10 sampai no 6 menyala atau dengan kata lain menyala merapat Dan
led=6; Led=5; do{ led=led-1; digitalWrite(led,HIGH); delay(100); Led=Led+1; digitalWrite(Led,HIGH); }while(led>1&&Led<10); Perintah menyala ini dibuat agar led dengan pin no 5 sampai pin no 2 menyala,juga agar Led dengan pin no 6 sampai no 10 menyala atau dengan kata lain menyala menyebar
Perintah agar lampu padam adalah led=6; Led=5; do{ led=led-1; digitalWrite(led,HIGH); delay(100); Led=Led+1;
digitalWrite(Led,HIGH); }while(led>1&&Led<10); Perintah menyala ini dibuat agar led dengan pin no 5 sampai pin no 1 padam,juga agar Led dengan pin no 6 sampai no 10 padam atau dengan kata lain padam menyebar
Perintah menyala ini dibuat agar led dengan pin no 1 sampai pin no 5 padam,juga agar Led dengan pin no 10 sampai no 6 padam atau dengan kata lain padam merapat
C. Nyala flip flop ganjil Program di arduino int led; void setup(){ for(led=10;led>=1;led--){ pinMode(led,OUTPUT); } } void loop(){ digitalWrite(9,HIGH); digitalWrite(7,HIGH); digitalWrite(5,HIGH); digitalWrite(3,HIGH); digitalWrite(1,HIGH);
delay(100); digitalWrite(9,LOW); digitalWrite(7,LOW); digitalWrite(5,LOW); digitalWrite(3,LOW); digitalWrite(1,LOW); delay(100); digitalWrite(10,HIGH); digitalWrite(8,HIGH); digitalWrite(6,HIGH); digitalWrite(4,HIGH); digitalWrite(2,HIGH); delay(100); digitalWrite(10,LOW); digitalWrite(8,LOW); digitalWrite(6,LOW); digitalWrite(4,LOW); digitalWrite(2,LOW); delay(100); } Pembahasan Void setup(){perintah} Berisi perulangan for,seperti dibawah ini for(led=10;led>=1;led--){ pinMode(led,OUTPUT);} fungsi perulangan ini adalah untuk nyeting pin yang akan digunakan yaitu diawali pin 10 sampe pin 1 yang di inisialisasi nama led . led>=1 merupakan pengujian yang digunakan untuk melakukan pengulangan yang dilakukan lagi atau diakhiri.Sedang ledadalah pemutakhiran pencacah dipakai untuk menaikan atau menurunkan nilai oencacah yang digunakan untuk mengontrol pengulangan.
Void loop(){perintah} Berisi perintah agar led yang nyala adalah pin dengan no ganjil yang nyalanya bersamaan kemudian mati dan pin dengan no genap nyala bersamaan dan mati.Perintah menyalakan lampu menggunakan perintah digitalWrite(no_pin,HIGH).Satu perintah ini untuk satu no pin sehingga untuk menyalakan lampu pin ganjil(1,3,5,7,9) dibutuhkan 5 perintah digitalWrite.Begitu pula dengan untuk menyalakan lampu led dengan pin no genap(10,8,6,4,2) .Untuk perintah mematikan lampu led juga menggunakan perintah digitalWrite hanya kata HIGH diganti dengan LOW aturan yang dibutuhkan juga sama. Perintah delay(angka) difungsikan sebagai timer lampu nyala/mati sebelum pindah ke perintah yang dibawahnya.Disini programmer menyeting agar delay bernilai 100mili detik dengan perintah delay(100)
D. Nyala flip flop genap Listing program int led; void setup(){ for(led=10;led>=1;led--){ pinMode(led,OUTPUT); } } void loop(){ digitalWrite(10,HIGH); digitalWrite(9,HIGH); digitalWrite(6,HIGH); digitalWrite(5,HIGH); digitalWrite(2,HIGH); digitalWrite(1,HIGH); delay(1000); digitalWrite(10,LOW); digitalWrite(9,LOW); digitalWrite(6,LOW); digitalWrite(5,LOW);
digitalWrite(2,LOW); digitalWrite(1,LOW); delay(1000); digitalWrite(8,HIGH); digitalWrite(7,HIGH); digitalWrite(4,HIGH); digitalWrite(3,HIGH); delay(1000); digitalWrite(8,LOW); digitalWrite(7,LOW); digitalWrite(4,LOW); digitalWrite(3,LOW); delay(1000);} Pembahasan Void setup(){perintah} Berisi perintah untuk mempersiapkan agar pin yang digunakan adalah pin no 10 sampe pin no 1 dengan inilialsasi namaled. Perintah tersebut terdiri dari for digunakan untuk perulangan dengan led=10 adalah inisial_pencacah atau nilai awal pencacah dan led>=1 adalah bagian pengujian yang digunakan untuk menentukan pengulangan atau pengakhiran perintah for. Dan leddigunakan untuk menaikan atau menurunkan nilai pencacah . Dan perintah pinMode(led,OUTPUT) adalah perintah agar arduino mempersiapkanpin yang digunakan dengan nama led. Void loop(){perintah} Berisi perintah agar lampu led yang nyala adalah pin no 1,2,5,6,9,10 dan nyala bersama. Kemudian mati dan pin dengan no 3,4,7,8 nyala bersama kemudian mati.Dan perintah untuk menyalakan lampu led adalah digitalWrite(no_led,HIGH). Satu perintah ini untuk satu no pin sehingga untuk menyalakan lampu pin (1,2,5,6,9,10) dibutuhkan 6 perintah digitalWrite.Begitu pula untuk mematikan lampu led dengan no pin tersebut juga menggunakan digitalWrite(no_pin,LOW) dengan aturan yang sama dengan digitalWrite yang digunakan untuk menyalakan lampu, yaitu Satu perintah digitalWrite untuk satu no pin. Untuk menyalakan pin led no 3,4,7,dan 8 juga menggunakan digitalWrite(no_led,HIGH) dan digitalWrite(no_pin,LOW) untuk mematikan lampu led.