Selasa, 31 Mei 2016

While do & Led Berjalan

Pada kesempatan yang baik ini marilah kita melakukan praktek mikrokontroller Arduino. dan yang akan dipraktekan pada kesempatan kali ini adalah Lampu berjalan sebanyak 6 buah Led menggunakan Mikrokontroller Arduino Sebagai pengendalinya.

lihatlah gambar di atas dan rangkailah arduino yang saudara miliki seperti di atas..  Yang kita butuhkan pada kesempatn kali ini adalah :
- Mikrokontroller Arduino Uno
- Led sebanyak 6 buah.
- Breadboard dan kabel jamper secukupnya.

Jika peralatannya belum tersedia monggo beli dulu... hihihihi

Percobaan Pertama
Listing Led Berjalan menggunakan While do
--------------------------------------------------------------------

int x=4; int y=1;
void setup() {
pinMode (4,OUTPUT); pinMode (7,OUTPUT);
pinMode (5,OUTPUT); pinMode (8,OUTPUT);
pinMode (6,OUTPUT); pinMode (9,OUTPUT);

}

void loop() {
do
{
    digitalWrite (x,y);
    x=x+1;
    delay(100);
} while (x <=9 );
if (x>9) {
  x=4;
  if (y==1) y=0;
  else y=1;
}

}
-------------------------------------------------------------------
Coba perhatikan hasil percobaan di atas. Program di atas kakang Modifikasi dan hasilnya seperti di bawah ini . Ayo praktekan dan perhatikan hasilnya. coba simpulkan apa perbedaannya.
-------------------------------------------------------------------
int x=4; 
void setup() {
pinMode (4,OUTPUT); pinMode (7,OUTPUT);
pinMode (5,OUTPUT); pinMode (8,OUTPUT);
pinMode (6,OUTPUT); pinMode (9,OUTPUT);

}
void loop() {
do {    digitalWrite (x,1);
        delay(70);
        digitalWrite (x,0);
        x=x+1; 
        delay(70);
} while (x <=9 );
   if (x>9)   x=4;
}
--------------------------------------------------------------------
Nah coba sekarang program di bawah ini dan perhatikanlah perbedaannya.. Seruu kan .. dengan rangkaian elektronik yang sama tetapi hasilnya berbeda tergantung kita mengatur programnya.

--------------------------------------------------------------------
int x=4; 
boolean y=false;
void setup() {
pinMode (4,OUTPUT); pinMode (7,OUTPUT);
pinMode (5,OUTPUT); pinMode (8,OUTPUT);
pinMode (6,OUTPUT); pinMode (9,OUTPUT);

}
void loop() {
if (y==false) {
  do {    digitalWrite (x,1);
        delay(70);
        digitalWrite (x,0);
        x=x+1; 
        delay(70);
} while (x <=9 );
   if (x=9)  { y=true;}
}

if (y==true) {
  do {   x=x-1; 
         digitalWrite (x,1);
        delay(70);
        digitalWrite (x,0);
        delay(70);
} while (x >4 );
   if (x=4)  { y=false;}
} }

--------------------------------------------------------------------



Percoaan Kedua
Listing Led Berjalan menggunakan for
--------------------------------------------------------------------
int x; int y=1;
void setup() {
pinMode (4,OUTPUT); pinMode (7,OUTPUT);
pinMode (5,OUTPUT); pinMode (8,OUTPUT);
pinMode (6,OUTPUT); pinMode (9,OUTPUT);

}

void loop() {
for ( x=4;x<=9;x=x+1){
   digitalWrite (x,y);
    delay(100);
}
if (x>9) {
  x=4;
  if (y==1) y=0;
  else y=1;
}

}
--------------------------------------------------------------------
Listing Led Berjalan menggunakan  stetment if
--------------------------------------------------------------------
int x=4; int y=1;
void setup() {
pinMode (4,OUTPUT); pinMode (7,OUTPUT);
pinMode (5,OUTPUT); pinMode (8,OUTPUT);
pinMode (6,OUTPUT); pinMode (9,OUTPUT);
}
void loop() {
    delay(100);
    digitalWrite (x,y);
    x=x+1;
   if (x>9) {
     x=4;
     if (y==1) y=0;
     else y=1;
} }
--------------------------------------------------------------------

latihan di atas walaupun programnya berbeda namun hasil prakteknya sama yaitu led berjalan. Nah sekarang kita akan menambahkan dua buah saklar digital. satu saklar akan mempercepat kecepatan led berjalan  dan satu lagi untuk mengurangi kecepatan. yang di atur adalah delaynya tentunya

--------------------------------------------------------------------
int x; int y=1; int z =40;
void setup() {
pinMode (4,OUTPUT); pinMode (7,OUTPUT);
pinMode (5,OUTPUT); pinMode (8,OUTPUT);
pinMode (6,OUTPUT); pinMode (9,OUTPUT);
pinMode (2,INPUT); pinMode (3,INPUT);

}

void loop() {
for ( x=4;x<=9;x=x+1){
   digitalWrite (x,y);
    delay(z);
}
if (x>9) {
  x=4;
  if (y==1) y=0;
  else y=1;
}
if (digitalRead(2)==HIGH) {z=z+20; delay(50); }
if (digitalRead(3)==HIGH) {z=z-20; delay (50);
  if ( z< 0) z=0;    }


}


Latihan Lanjutan..

Nah sekarang kita akan belajar yang sedikit unik yaitu led berjalan tetapi harus diaktipkan dahulu dengan cara menekan tombol selama kurang lebih hampir 2 detik. dan bila tombolnya ditekan lagi maka lampu berjalannya akan mati semua.. Waaaah bikin berabe yaaaaa....  Males aach praktekannya juga.., hahahaha



int x; int y=1; int z =60;
int a; int b=2;
boolean kondisi= false;
void setup() {
pinMode (4,OUTPUT); pinMode (7,OUTPUT);
pinMode (5,OUTPUT); pinMode (8,OUTPUT);
pinMode (6,OUTPUT); pinMode (9,OUTPUT);
pinMode (3,INPUT);

}

void loop() {
if (b==2){
for ( x=4;x<=9;x=x+1){ digitalWrite (x,LOW); }

if (digitalRead(3)==HIGH) {
  a=a+1; delay (50);
  if (a==30) { b=1; a=0; }
  }}
  if (b==1 ){
  if (digitalRead(3)==LOW) kondisi=true;
  if (digitalRead(3) ==HIGH && kondisi ==true ){
  b=2; kondisi=false; }
for ( x=4;x<=9;x=x+1){
   digitalWrite (x,y);
    delay(z);  }
if (x>9) {  x=4;
  if (y==1) y=0;
  else y=1;
}  }
}
 


Tidak ada komentar:

Posting Komentar