Seven Segment Menggunakan Push Button dengan Arduino UNO – Counter UP

Bismillahirrahmanirrahim

Assalamu’alaikum warahmatullahi wabarakatuh

Pada kesempatan ini saya akan membuat project Seven Segment Counter UP Menggunakan Push Button dengan Arduino UNO. Disini saya akan menggunakan  pin 2 sampai 9 sebagai output dan pin 13 sebagai 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. Aamiin.

Alat dan Bahan

  • 1 Buah Seven Segmen (Common Anode)
  • 1 Buah Push Button
  • 2 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 Menggunakan Push Button dengan Arduino UNO

counter_up_use_push_button_with_arduino_uno

Sketch Seven Segment Counter UP Use Push Button With Arduino UNO

Sketch Program :

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

Demo Video Seven Segment Counter UP Use Push Button With Arduino UNO

[youtube https://www.youtube.com/watch?v=kdYbzM-5WPE&w=1280&h=720]

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

Wassalamu’alaikum warahmatullahi wabarakatuh

 

Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments