Çarşamba , 15 Ocak 2025

0-99 Sayıcı Arduino 7 Segment Display


0-99 Sayıcı Arduino 7 Segment Display

Bu çalışmada iki adet 7 segment display kullanarak arduino sayesinde 0-99 arasında arasında ileri yönlü bir sayıcı yaptık. 7 segment displaylarimiz ortak Anotlu olduğu için orta bacakları + ya bağladık.

Ortak Anotlu 7 Segment Display

Arduinoda ortak anotlu display kullanır iken yakmak istediğiniz pine 0 bilgisini göndermemiz başka bir deyişle ilgili bacağı LOW yapmamız gerekir.

Arduino Devre Kodları:

int count = 0; // counter
void setup() {
for(int i=0;i<=13;i++)
{
pinMode(i,OUTPUT);
digitalWrite(i,0);

}
digitalWrite(6, 1);//10 lar basamağı 0 olsun
digitalWrite(13,1);//1 ler basağımı 0 olsun
delay(500);
}

void loop()

{
//Birler Basamığı
digitalWrite(7, 1);
digitalWrite(8, 0);
digitalWrite(9, 0);
digitalWrite(10, 1);
digitalWrite(11, 1);
digitalWrite(12, 1); // “1” rakamı için display pozisyonları
digitalWrite(13, 1);

delay(1000);

digitalWrite(7, 0);
digitalWrite(8, 0);
digitalWrite(9, 1);
digitalWrite(10, 0);
digitalWrite(11, 0);
digitalWrite(12, 1); // “2” rakamı için display pozisyonları
digitalWrite(13, 0);
delay(1000);
digitalWrite(7, 0);
digitalWrite(8, 0);
digitalWrite(9, 0);
digitalWrite(10, 0);
digitalWrite(11, 1);
digitalWrite(12, 1); // “3” rakamı için display pozisyonları
digitalWrite(13, 0);
delay(1000);
digitalWrite(7, 1);
digitalWrite(8, 0);
digitalWrite(9, 0);
digitalWrite(10, 1);
digitalWrite(11, 1);
digitalWrite(12, 0); // “4” rakamı için display pozisyonları
digitalWrite(13, 0);
delay(1000);
digitalWrite(7, 0);
digitalWrite(8, 1);
digitalWrite(9, 0);
digitalWrite(10, 0);
digitalWrite(11, 1);
digitalWrite(12, 0); // “5” rakamı için display pozisyonları
digitalWrite(13, 0);
delay(1000);
digitalWrite(7, 0);
digitalWrite(8, 1);
digitalWrite(9, 0);
digitalWrite(10, 0);
digitalWrite(11, 0);
digitalWrite(12, 0); // “6” rakamı için display pozisyonları
digitalWrite(13, 0);
delay(1000);
digitalWrite(7, 0);
digitalWrite(8, 0);
digitalWrite(9, 0);
digitalWrite(10, 1);
digitalWrite(11, 1);
digitalWrite(12, 1); // “7” rakamı için display pozisyonları
digitalWrite(13, 1);
delay(1000);
digitalWrite(7, 0);
digitalWrite(8,0);
digitalWrite(9, 0);
digitalWrite(10, 0);
digitalWrite(11, 0);
digitalWrite(12, 0); // “8” rakamı için display pozisyonları
digitalWrite(13, 0);
delay(1000);

digitalWrite(7, 0);
digitalWrite(8,0);
digitalWrite(9, 0);
digitalWrite(10, 0);
digitalWrite(11, 1);
digitalWrite(12, 0); // “9” rakamı için display pozisyonları
digitalWrite(13, 0);
delay(1000);
//////////////////////////////////////////////////////////////////

count++;
//Onlar Basamağı
if (count == 1){ // döngü sayacı “count” 1 saydığında aşağıdaki işlemi yap

digitalWrite(0, 1);
digitalWrite(1, 0);
digitalWrite(2, 0);
digitalWrite(3, 1); // “1” rakamı için display pozisyonları
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 1);

}

if (count == 2){ // döngü sayacı “count” 2 saydığında aşağıdaki işlemi yap

digitalWrite(0, 0);
digitalWrite(1, 0);
digitalWrite(2, 1);
digitalWrite(3, 0); // “2” rakamı için display pozisyonları
digitalWrite(4, 0);
digitalWrite(5, 1);
digitalWrite(6, 0);
}
if (count == 3){ // döngü sayacı “count” 3 saydığında aşağıdaki işlemi yap

digitalWrite(0, 0);
digitalWrite(1, 0);
digitalWrite(2, 0);
digitalWrite(3, 0); // “3” rakamı için display pozisyonları
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 0);
}
if (count == 4){ // döngü sayacı “count” 4 saydığında aşağıdaki işlemi yap

digitalWrite(0, 1);
digitalWrite(1, 0);
digitalWrite(2, 0);
digitalWrite(3, 1); // “4” rakamı için display pozisyonları
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 0);
}
if (count == 5){ // döngü sayacı “count” 5 saydığında aşağıdaki işlemi yap
digitalWrite(0, 0);
digitalWrite(1, 1);
digitalWrite(2, 0);
digitalWrite(3, 0); // “5” rakamı için display pozisyonları
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 0);
}
if (count == 6){ // döngü sayacı “count” 6 saydığında aşağıdaki işlemi yap
digitalWrite(0, 0);
digitalWrite(1, 1);
digitalWrite(2, 0);
digitalWrite(3, 0); // “6” rakamı için display pozisyonları
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 0);
}
if (count == 7){ // döngü sayacı “count” 7 saydığında aşağıdaki işlemi yap
digitalWrite(0, 0);
digitalWrite(1, 0);
digitalWrite(2, 0);
digitalWrite(3, 1); // “7” rakamı için display pozisyonları
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 1);
}
if (count == 8){ // döngü sayacı “count” 8 saydığında aşağıdaki işlemi yap
digitalWrite(0, 0);
digitalWrite(1, 0);
digitalWrite(2, 0);
digitalWrite(3, 0); // “8” rakamı için display pozisyonları
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 0);
}

if (count == 9){ // döngü sayacı “count” 9 saydığında aşağıdaki işlemi yap
digitalWrite(0, 0);
digitalWrite(1, 0);
digitalWrite(2, 0);
digitalWrite(3, 0); // “9” rakamı için display pozisyonları
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 0);
}
if (count == 10){ // döngü sayacı “count” 10 saydığında aşağıdaki işlemi yap
digitalWrite(0, 0);
digitalWrite(1, 0);
digitalWrite(2, 0);
digitalWrite(3, 0); // “10” rakamı için display pozisyonları
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 1);
count = 0; // counter sayacını resetle

}

}

0-9 arası sayıcı devresi için daha önceki bu linke bakabilirsiniz.

Bu Konuda İlginizi Çekebilir

Nesne Tabanlı Programla Dersi Ders Notları

Nesne Tabanlı Programla Dersi Ders Notları DEĞİŞKENLER VE VERİ TÜRLERİ Değişken Tanımlama Kuralları Hazırlanmakta olan …