Counter UP - Seven Segment Menggunakan Push Button dengan Arduino UNO

Counter up Seven Segment Menggunakan Push Button dengan Arduino. Seven Segment Counter UP Menggunakan Push Button dengan Arduino UNO saya akan bagikan tutorial kepada pembaca kami.

Apa itu komponen 7 segment?

Sebagian dari Sahabat Pak Galingging disini pasti sudah mengenal dengan komponen ini, alasannya kami mengatakan demikian adalah karena komponen ini sudah sering digunakan dalam pembelajaran elektronika khusunya Arduino.
Counter UP - Seven Segment Menggunakan Push Button dengan Arduino UNO
Namun bagi pembaca yang belum mengetahui apa itukomponen 7 segment tentu masih bertanya. Baiklah singkatnya, 7 segment adalah sebuah komponen Elektronika yang dapat menampilkan angka melalui kombinasi-kombinasi segmentnya.

Selain angka penampil ini juga dapat menampilkan huruf A-F. Jika kita lihat, susunan dari segment-segment komponen ini membentuk angka 8. Jenis dari 7 segment ini ada 2 yaitu Common Catoda dan Common Anoda. Berikut adalah gambar dari 7 segment :

Pada rangkaian ini, saya memanfaatkan pin 2 sampai 9 sebagai output dan pin 13 sebagai signal input pada Arduino UNO untuk Menyalakan Seven Segmen. Serta saya akan menjelaskan mulai dari hardware dan software serta cara kerjanya, agar para pembaca dapat mengerti dengan apa yang saya sampaikan.

Bahan yang dibutuhkan:

Rangkaian yang kita buat ini memerlukan beberapa komponen agar dapat berjalan dengan baik. Bahan yang kita perlukan kali ini tidak sulit dan tergolong familiar bagi anda yang pernah belajar elektronika. Berikut bahan yang kita perlukan dalam membuat Seven Segment Menggunakan Push Button dengan Arduino UNO, antara lain:

1. LED seven segment tipe Common Anoda
2. Arduino uno R3 atau yang compatibel juga bisa
3. Resistor 220 ohm sebanyak 2 buah
4. Push button
5. Kabel jumpers male to male sebanyak 12 buah
6. Kabel data

Rangkaian Counter Up 7 Segment Menggunakan Push Button

Pada gambar dibawah ini saya buatkan menggunakan aplikasi Fritsz. Semoga anda dapat mengikuti jalur dari kabel-kabelnya.
Counter UP - Seven Segment Menggunakan Push Button dengan Arduino UNO

Saya akan jelaskan sedikit hubungan yang ada pada rangkaian kita kali ini. Sebagai panduan kepada anda, agar tidak terlalu lama memahami gambar itu.


1. Kaki dp hubungkan ke PIN 5

2. Kaki seven segment g hubungkan ke PIN 9

3. Kaki seven segment f hubungkan ke PIN 8

4. Kaki seven segment e hubungkan ke PIN 7

5. Kaki seven segment d hubungkan ke PIN 6

6. Kaki seven segment c hubungkan ke PIN 4

7. Kaki seven segment b hubungkan ke PIN 3

8. Kaki seven segment a hubungkan ke PIN 2

9. Pin 13 ke button (arus negatif) diatara resistor dan push button

10. Kaki push button lainnya dihubungkan ke positif (VCC 5 Volt)

10. VCC 5 V hubungkan ke Positif (VCC seven segment melewati resistor)

11. PIN 12 dari arduino Uno R3 dihubungkan resistor pada push button. Bagian ini adalah sumber negatif utama dari rangkaian ini.

Sketch dari percobaan kita kali ini saya buatkan dibawah ini.

//Pak Galingging Pengaturan hardware Seven Segment pins
int A = 2;
int B = 3;
int C = 4;
int D = 6;
int DP = 5;
int E = 7;
int F = 8;
int G = 9;
 
//pemberian status untuk push buttons pins, push buttons states, dan counter
int switchUpPin = 13;
int counter = 0;
int buttonUpState = 0;
int lastButtonUpState = 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 ,HIGH);
}
 
void loop() 
{
  //mulai dengan menggunakan push button
  buttonUpState = digitalRead(switchUpPin);
 
  //Membaca push button status yang di tekan
  //melakukan proses untuk button yang di tekan
  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);
  }
  changeNumber(counter);
}
 
//tampilan led seven segment ketika aktif.
void changeNumber(int buttonPress)
{
  switch (buttonPress)
  {
    //number 0
    case 0:
      digitalWrite(A, LOW);
      digitalWrite(B, LOW);
      digitalWrite(C, LOW);
      digitalWrite(D, LOW);
      digitalWrite(E, LOW);
      digitalWrite(F, LOW);
      digitalWrite(G, HIGH);
      break;
    //number 1
    case 1:
      digitalWrite(A, HIGH);
      digitalWrite(B, LOW);
      digitalWrite(C, LOW);
      digitalWrite(D, HIGH);
      digitalWrite(E, HIGH);
      digitalWrite(F, HIGH);
      digitalWrite(G, HIGH);
      break;
    //number 2 ABGED
    case 2:
      digitalWrite(A, LOW);
      digitalWrite(B, LOW);
      digitalWrite(C, HIGH);
      digitalWrite(D, LOW);
      digitalWrite(E, LOW);
      digitalWrite(F, HIGH);
      digitalWrite(G, LOW);
      break;
    //number 3
    case 3:
      digitalWrite(A, LOW);
      digitalWrite(B, LOW);
      digitalWrite(C, LOW);
      digitalWrite(D, LOW);
      digitalWrite(E, HIGH);
      digitalWrite(F, HIGH);
      digitalWrite(G, LOW);
      break;
    //number 4
    case 4:
      digitalWrite(A, HIGH);
      digitalWrite(B, LOW);
      digitalWrite(C, LOW);
      digitalWrite(D, HIGH);
      digitalWrite(E, HIGH);
      digitalWrite(F, LOW);
      digitalWrite(G, LOW);
      break;
    //number 5
    case 5:
      digitalWrite(A, LOW);
      digitalWrite(B, HIGH);
      digitalWrite(C, LOW);
      digitalWrite(D, LOW);
      digitalWrite(E, HIGH);
      digitalWrite(F, LOW);
      digitalWrite(G, LOW);
      break;
    //number 6
    case 6:
      digitalWrite(A, LOW);
      digitalWrite(B, HIGH);
      digitalWrite(C, LOW);
      digitalWrite(D, LOW);
      digitalWrite(E, LOW);
      digitalWrite(F, LOW);
      digitalWrite(G, LOW);
      break;
    //number 7
    case 7:
      digitalWrite(A, LOW);
      digitalWrite(B, LOW);
      digitalWrite(C, LOW);
      digitalWrite(D, HIGH);
      digitalWrite(E, HIGH);
      digitalWrite(F, HIGH);
      digitalWrite(G, HIGH);
      break;
    //number 8
    case 8:
      digitalWrite(A, LOW);
      digitalWrite(B, LOW);
      digitalWrite(C, LOW);
      digitalWrite(D, LOW);
      digitalWrite(E, LOW);
      digitalWrite(F, LOW);
      digitalWrite(G, LOW);
      break;
    //number 9
    case 9:
      digitalWrite(A, LOW);
      digitalWrite(B, LOW);
      digitalWrite(C, LOW);
      digitalWrite(D, LOW);
      digitalWrite(E, HIGH);
      digitalWrite(F, LOW);
      digitalWrite(G, LOW);
      break;
  }
}
Upload Sketch kedalam arduino R3
Pada software IDE sudah disediakan tombol Upload, anda tinggal menekan tombol ini. Selanjutnya proses upload akan dieksekusi oleh program.

Cara Kerja
Ketika push button ditekan signal listrik negatif akan masuk ke PIN 13 melalui kabel yang terhubung dengan push button.

Sinyal dari tombol ini akan ditindak lanjuti oleh arduino sesuai prosedur yang kita atur pada sketch, yaitu melakukan perhitungan dan menampilkan hasil hitungannya pada seven segment.

Apa bila hitungan telah mencapai 9, pengurangan akan terjadi (terlihat menjadi perhitungan mundur).

Demikian Project Counter UP - Seven Segment Menggunakan Push Button dengan Arduino UNO kita kali ini. Semoga bermanfaat dan selamat berkreasi tanpa batas.

Video tutorial Counter UP - Seven Segment Menggunakan Push Button dengan Arduino UNO