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 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;
}
}
No comments:
Post a Comment