SMK Pangudi Luhur Leonardo Klaten (Enbri Wahyu Andika)

Membuat Counter Up dan Counter Down 7 Segment

MEMBUAT COUNTER 7 SEGMENT DENGAN DUA PUSH BUTTON

I. TUJUAN
  1. Siswa dapat mengetahui tentang counter up dan counter down
  2. Siswa dapat memahami fungsi dan aplikasi  counter up dan counter down
  3. Siswa dapat membuat program  counter up dan counter down

II. ALAT DAN BAHAN
  1. PC
  2. Program Arduino IDE
  3. Protoboard
  4. LED Display 7 Segment
  5. Kabel jumper
  6. 1 Resistor 330Ω dan 2 Resistor 10kΩ
  7. Arduino UNO

III. DESKRIPSI TUGAS
  Membuat Program menggunakan Arduino UNO sesuai dengan syarat sebagai berikut:

  1. Membuat program counter menggunakakn seven segment. Bila Push Button 1 ditekan maka akan counter up, Bila Push Button 2 ditekan maka akan counter down.

IV. LANGKAH KERJA
  1. Siapkan alat dan bahan
  2. Rangkai seperti pada gambar
  3. Hubungkan Arduino UNO ke PC, dan buka program Arduino IDE
  4. Pastikan Arduino UNO anda telah terhubung dengan software. Pilih tab Tools >> Port (pastikan sudah anda centang)
  5. Masukan program yang berada di bawah kesimpulan, dengan cara copy paste
  6. Pilih simbol centang untuk verifikasi kode
  7. Save pada tempat yang anda inginkan
  8. Lalu klik simbol anak panah untuk mengupload kode
  9. Dan lihat hasilnya

V. HASIL KERJA
Foto:

Video: 

VI. KESELAMATAN KERJA
  1. Menggunakan workpack
  2. Tidak makan dan minum di lab
VII. KESIMPULAN
        Pada praktek ini, siswa dapat mengaplikasikan counter up dan counter down pada seven segment dengan tambahan dua push button. Siswa menjadi tahu bagaimana cara merangkai sebuah rangkaian dan memberi program pada rangkaian tersebut.



//code counter up dan down seven segment dengan dua tombol
 
int a = 2;
int b = 3;
int c = 4;
int d = 6;
int dp = 5;
int e = 7; 
int f = 8;
int g = 9;

int tb1 = 13;
int tb2 = 12;
int counter = 0;
int buttonUpState = 0;
int lastButtonUpState = 0;
int buttonDownState = 0;
int lastButtonDownState = 0;

void setup(){
  Serial.begin(9600);

  pinMode(a, OUTPUT);
  pinMode(b, OUTPUT);
  pinMode(c, OUTPUT);
  pinMode(d, OUTPUT);
  pinMode(e, OUTPUT);
  pinMode(f, OUTPUT);
  pinMode(g, OUTPUT);
  pinMode(dp, OUTPUT);

  digitalWrite(dp , LOW);
}

void loop(){
  buttonUpState = digitalRead(tb1);
  buttonDownState = digitalRead(tb2);

  if (buttonUpState != lastButtonUpState){
    if (buttonUpState == HIGH){
      if (counter == 9){
        counter = -1;
      }
      counter++;
      Serial.println(counter);
      changeNumber(counter);
      delay(300);
    }
    else{
      Serial.println("OFF");
    }
    delay(50);
  }
  
  if (buttonDownState != lastButtonDownState){
    if (buttonDownState == HIGH){
      if (counter == 0){
        counter = 10;
      }
      counter--;
      Serial.println(counter);
      changeNumber(counter);
      delay(300);
    }
    
    else{
      Serial.println("OFF");
    }
    delay(50);
  }
  changeNumber(counter);
}


void changeNumber(int buttonPress){
  switch (buttonPress)
  {
    case 0:
      digitalWrite(a, LOW);
      digitalWrite(b, LOW);
      digitalWrite(c, LOW);
      digitalWrite(d, LOW);
      digitalWrite(e, LOW);
      digitalWrite(f, LOW);
      digitalWrite(g, HIGH);
      break;
      
    case 1:
      digitalWrite(a, HIGH);
      digitalWrite(b, LOW);
      digitalWrite(c, LOW);
      digitalWrite(d, HIGH);
      digitalWrite(e, HIGH);
      digitalWrite(f, HIGH);
      digitalWrite(g, HIGH);
      break;
      
    case 2:
      digitalWrite(a, LOW);
      digitalWrite(b, LOW);
      digitalWrite(c, HIGH);
      digitalWrite(d, LOW);
      digitalWrite(e, LOW);
      digitalWrite(f, HIGH);
      digitalWrite(g, LOW);
      break;
      
    case 3:
      digitalWrite(a, LOW);
      digitalWrite(b, LOW);
      digitalWrite(c, LOW);
      digitalWrite(d, LOW);
      digitalWrite(e, HIGH);
      digitalWrite(f, HIGH);
      digitalWrite(g, LOW);
      break;
      
    case 4:
      digitalWrite(a, HIGH);
      digitalWrite(b, LOW);
      digitalWrite(c, LOW);
      digitalWrite(d, HIGH);
      digitalWrite(e, HIGH);
      digitalWrite(f, LOW);
      digitalWrite(g, LOW);
      break;
      
    case 5:
      digitalWrite(a, LOW);
      digitalWrite(b, HIGH);
      digitalWrite(c, LOW);
      digitalWrite(d, LOW);
      digitalWrite(e, HIGH);
      digitalWrite(f, LOW);
      digitalWrite(g, LOW);
      break;
      
    case 6:
      digitalWrite(a, LOW);
      digitalWrite(b, HIGH);
      digitalWrite(c, LOW);
      digitalWrite(d, LOW);
      digitalWrite(e, LOW);
      digitalWrite(f, LOW);
      digitalWrite(g, LOW);
      break;
      
    case 7:
      digitalWrite(a, LOW);
      digitalWrite(b, LOW);
      digitalWrite(c, LOW);
      digitalWrite(d, HIGH);
      digitalWrite(e, HIGH);
      digitalWrite(f, HIGH);
      digitalWrite(g, HIGH);
      break;
      
    case 8:
      digitalWrite(a, LOW);
      digitalWrite(b, LOW);
      digitalWrite(c, LOW);
      digitalWrite(d, LOW);
      digitalWrite(e, LOW);
      digitalWrite(f, LOW);
      digitalWrite(g, LOW);
      break;
      
    case 9:
      digitalWrite(a, LOW);
      digitalWrite(b, LOW);
      digitalWrite(c, LOW);
      digitalWrite(d, LOW);
      digitalWrite(e, HIGH);
      digitalWrite(f, LOW);
      digitalWrite(g, LOW);
      break;
  }
}
//enbriandika.blogspot.co.id
Selamat Mencoba...

Share:

3 komentar: