7 segment displayin buton ile kontorlü yardım

Katılım
4 Ara 2011
Mesajlar
114
Puanları
1
Konum
Amasya
merhaba herkese 7 segment display kodu var elimde delay ile istediğim sürede rakamlar arası geçiş yapabiliyorum fakat bunu süreli bir şekilde değil de 1.buton ileri yükseltmek 2.buton ile düşürmek istiyorum nasıl yapabilirim.elimdeki kod bu tahminimce 2 buton için tekrar bir int atayacağım ve bunlar da i değişkenini düşürüp yükseltecek ama kodlayamadım yardım lütfen

int a = 6;
int b = 7;
int c = 9;
int d = 10;
int e = 11;
int f = 5;
int g = 4;
void setup()
{
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
}
void RakamYaz(int rakam)
{
switch(rakam)
{
case 0 :
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
break;
case 1:
digitalWrite(a, LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
break;
case 2:
digitalWrite(a, HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
break;
case 3:
digitalWrite(a, HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
break;
case 4:
digitalWrite(a, LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
case 5:
digitalWrite(a, HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
case 6:
digitalWrite(a, HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
case 7:
digitalWrite(a, HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
break;
case 8:
digitalWrite(a, HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
case 9:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
}
}
void loop(){
for(int i=0; i<=9;i++){<br />RakamYaz(i);
delay(1000);
}
}
 

Forum istatistikleri

Konular
128,100
Mesajlar
914,967
Kullanıcılar
449,800
Son üye
bukurt

Yeni konular

Geri
Üst