Arduino segment display

jiko

Hectopat
Katılım
3 Mayıs 2020
Mesajlar
450
Çözümler
5
Yer
İzmir
Daha fazla  
Cinsiyet
Erkek
Dostlar merhaba sizden bir proje konusunda yardım almak istiyorum. Arduino'da segment display ile bir proje yaptım. Bu proje de anahtarı açınca sayaç yukarı doğru ilerliyor. Kapatınca ise geriye doğru sayıyor. Fakat anahtar kapanınca sayaç 9 rakamı(son rakama) gelip ileri veya geri sayıyor. Ben bunu mesela 5 sayısın da kapatıldı, oradan itibaren geri veya ileri saymasını istiyorum yardımcı olursanız sevinirim.

C++:
void setup(){
for (int i=2;i<=8;i++) pinMode(i, OUTPUT);
pinMode(9, INPUT);//1 ileri 0 geri seçme anahtarı.

}

void loop(){
sifir(); delay(1000);
bir(); int don = 1; delay(1000);
iki();int don = 2; delay(1000);
uc();int don = 3; delay(1000);
dort();int don = 4; delay(1000);
bes();int don = 5; delay(1000);
alti();int don = 6;delay(1000);
yedi();int don = 7; delay(1000);
sekiz();int don = 8; delay(1000);
dokuz();int don = 9; delay(1000);
if (digitalRead(9)==1) yukarisay();

if (digitalRead(9)==0)asagisay(};

void yukarisay(){
 sifir(); delay(1000);
bir(); delay(1000);
iki(); delay(1000);
uc(); delay(1000);
dort(); delay(1000);
bes(); delay(1000);
alti(); delay(1000);
yedi(); delay(1000);
sekiz(); delay(1000);
dokuz(); delay(1000);
}
void asagisay(){
 if()
dokuz(); delay(1000);
sekiz(); delay(1000);
yedi(); delay(1000);
alti(); delay(1000);
bes(); delay(1000);
dort(); delay(1000);
uc(); delay(1000);
iki(); delay(1000);
bir(); delay(1000);
sifir(); delay(1000);
}

void sifir() {
digitalWrite(2, 1); //a
digitalWrite(3, 1); //b
digitalWrite(4, 1); //c
digitalWrite(5, 1); //d
digitalWrite(6, 1); //e
digitalWrite(7, 1); //f
digitalWrite(8, 0); //g
}
void bir() {
digitalWrite(2, 0); //a
digitalWrite(3, 1); //b
digitalWrite(4, 1); //c
digitalWrite(5, 0); //d
digitalWrite(6, 0); //e
digitalWrite(7, 0); //f
digitalWrite(8, 0); //g
}
void iki() {
digitalWrite(2, 1); //a
digitalWrite(3, 1); //b
digitalWrite(4, 0); //c
digitalWrite(5, 1); //d
digitalWrite(6, 1); //e
digitalWrite(7, 0); //f
digitalWrite(8, 1); //g
}
void uc() {
digitalWrite(2, 1); //a
digitalWrite(3, 1); //b
digitalWrite(4, 1); //c
digitalWrite(5, 1); //d
digitalWrite(6, 0); //e
digitalWrite(7, 0); //f
digitalWrite(8, 1); //g
}
void dort() {
digitalWrite(2, 0); //a
digitalWrite(3, 1); //b
digitalWrite(4, 1); //c
digitalWrite(5, 0); //d
digitalWrite(6, 0); //e
digitalWrite(7, 1); //f
digitalWrite(8, 1); //g

}
void bes() {
digitalWrite(2, 1); //a
digitalWrite(3, 0); //b+
digitalWrite(4, 1); //c
digitalWrite(5, 1); //d
digitalWrite(6, 0); //e
digitalWrite(7, 1); //f
digitalWrite(8, 1); //g
}
void alti() {
digitalWrite(2, 1); //a
digitalWrite(3, 0); //b
digitalWrite(4, 1); //c
 digitalWrite(5, 1); //d
digitalWrite(6, 1); //e
digitalWrite(7, 1); //f
digitalWrite(8, 1); //g
}
void yedi() {
digitalWrite(2, 1); //a
digitalWrite(3, 1); //b
digitalWrite(4, 1); //c
digitalWrite(5, 0); //d
digitalWrite(6, 0); //e
digitalWrite(7, 0); //f
digitalWrite(8, 0); //g
}
void sekiz() {
digitalWrite(2, 1); //a
digitalWrite(3, 1); //b
digitalWrite(4, 1); //c
digitalWrite(5, 1); //d
digitalWrite(6, 1); //e
digitalWrite(7, 1); //f
digitalWrite(8, 1); //g
}
void dokuz() {
digitalWrite(2, 1); //a
digitalWrite(3, 1); //b
digitalWrite(4, 1); //c
digitalWrite(5, 1); //d
digitalWrite(6, 0); //e
digitalWrite(7, 1); //f
digitalWrite(8, 1); //g
}
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…