Pazartesi , 3 Ekim 2022

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

Grafik ve Canlandırma Dersi Uygulama

Değerli arkadaşlar aşağıdaki görselleri Adobe Fireworks programında eksiksiz olarak tasarlayınız. Son teslim Tarihi: 04.10.2022  

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.