Search This Blog

Wednesday, February 1, 2017

SEVEN SEGMENT Dengan 2 Tombol

SEVEN SEGMENT MENGGUKANAN 2 PUSH BUTTON DENGAN ARDUINO UNO
(COUNTER UP & DOWN) 

I. TUJUAN
1. Siswa dapat mengetahui datasheet dari Seven Segment
2. Siswa dapat membuat rangkaian menggunakan 2 tombol dengan 1 seven segment
3. Siswa dapat membuat program yang akan digunakan
4. Siswa dapat menganalisa masalah yang muncul

II. Alat dan Bahan
1. Arduino UNO IDE
2. Port USB
3. SEVEN SEGMENT
4. Push Button(2)
5. Kabel jumper
6. Aplikasi Arduino UNO
7. Komputer
8. Resistor 220 ohm(3)

III. Diskripsi Tugas
          Membuat rangkaian dan program menggunakan 2 tombol dengan 1 Seven Segment menggunakan sistem counter up & counter down. Jika tombol 1 ditekan, maka segment akan bertambah 1. Dan jika tombol 2 ditekan, maka segmen akan berkurang 1.

IV. Hasil Kerja

Rangkaian pada Arduino UNO

Program pada Arduino UNO

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 btn1=13;
int btn2=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(btn1);
  buttonDownState=digitalRead(btn2);

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