Salı , 16 Nisan 2024

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

Sosyal Medya Dersi Çalışma Soruları

Sosyal Medya Dersi Sınavı Çalışma Soruları SOSYAL MEDYA DERSİ 2. DÖNEM 1. YAZILI SINAVI ÇALIŞMA …