Seven Segment Dengan Push Button Menggunakan Arduino – Counter Up & Down

Bismillahirrahmanirrahim

Assalamu’alaikum warahmatullahi wabarakatuh

Pada kesempatan ini saya akan membuat project Seven Segment Counter Up Dan Down Dengan Push Button Menggunakan Arduino UNO. Disini saya akan menggunakan  pin 2 sampai 9 sebagai output dan pin 13 dan 12 sebagai input pada Arduino UNO untuk menambahkan nilai Seven Segment. Serta saya akan menjelaskan mulai dari hardware dan software serta cara kerjanya, agar para pembaca dapat mengerti dengan apa yang saya sampaikan. Aamiin.

 

Alat dan Bahan

  • 1 Buah Seven Segmen (Common Anode)
  • 2 Buah Push Button
  • 3 Buah Resistor 220Ω (Ohm) “untuk resistor di push button, dapat up to 1KΩ (Ohm)”
  • Kabel Jumper secukupnya
  • 1 Buah Protoboard
  • 1 Buah Arduino

 

Rangkaian Seven Segment Counter Up Dan Down Dengan Push Button Menggunakan Arduino UNO

seven-segment-counter-up-dan-down-dengan-push-button-menggunakan-arduino-uno

 

 

Sketch Seven Segment Counter Up Dan Down Dengan Push Button Menggunakan Arduino UNO

Sketch Program :

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 switchUpPin = 13;
int switchDownPin = 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 ,HIGH);
}

void loop() 
{
  buttonUpState = digitalRead(switchUpPin);
  buttonDownState = digitalRead(switchDownPin);

  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)
  {
    //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
    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;
  }
}

 

Keterangan :

  • Fungsi void setup () dalam sebuah program arduino adalah semua perintah yang akan di baca sekali.
  • Fungsi void loop () dalam sebuah program arduino adalah semua perintah yang akan di baca berulang-ulang.

 

Demo Video Seven Segment Counter Up Dan Down Dengan Push Button Menggunakan Arduino UNO

[youtube https://www.youtube.com/watch?v=mNcQQNQph-Q&w=1280&h=720]

 

Saya harap blog ini dapat bermanfaat, dan apabila ada pertanyaan jangan malu untuk bertanya

Terimakasih.

 

Wassalamu’alaikum warahmatullahi wabarakatuh.

Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments