Arduino Devreleri #40 Arduino 7 Segmentli Display 0-9 Sayıcı

Merhabalar, bu yazımızda Arduino 7 Segmentli Display 0-9 Sayıcı uygulaması hakkında bilgi vereceğim. 7 Segmentli Display (7 Parçalı Ekran) nedir? Nasıl çalışır? 7 Segmentli Display bağlantı uçları nasıldır? 7 Segmentli Display ile 0 dan 9 a kadar yukarı sayma veya 9 dan 0 a kadar aşağı sayma işlemi Arduino’ da nasıl yapılır?   bunlar hakkında bilgilendirme yapacağım.

Arduino programı ayrıntılı kod kısmı, devre bağlantı şeması, devre kurulumu detaylı anlatımı ve devre çalışma videosu şu şekildedir.

7 SEGMENT DISPLAY – 7 PARÇALI EKRAN

7 segment display, elektronik devrelerde kullanılan LED tabanlı sayısal göstergeli bir devre elemanıdır. 7 segment display ekranların üzerinde 7 adet LED bulunmaktadır. İsmini de buradan almıştır. Ayrıca 7 segment display ‘in sağ veya sol alt kısmında 1 adet nokta led daha bulunmaktadır. Bu led, sayısal göstergelerde küsuratlı sayıların ondalık noktalarının gösterilmesi için kullanılır. DP (Decimal Point) ile adlandırılır. Sayı değerleri oluşturacak şekilde dikdörtgen yapıda konumlandırılmış 7 led, a, b, c, d, e, f, g harfleri ile adlandırılmıştır. 7 segmentli display’in iç yapısında 7 adet led diyotun ortak uçları birbirleri ile bağlanır ve dışarıya ortak bir uç çıkarılır. Diğer uçlar ise kontrol yani bağlantı uçlarıdır. Devrede istenilen bağlantı uçlarına enerji verilerek o kısımdaki led diyotların ışık vermesi sağlanır ve bu şekilde 0 – 9 arasındaki istenilen rakamlar görüntülenmiş olur.

7 Segment Display Anot Katot İç bağlantısı

7 segmentli display’in iç kısmında led diyotların eksi uçları birbirleri ile bağlanıp dışarıya ortak uç olarak çıkartılmış ise, bu şekilde olan ekranlara Ortak Katot 7 Segment Display adı verilir. Eğer iç kısımda led diyotların artı uçları birbirleri ile bağlanıp dışarıya ortak uç olarak çıkartılmış ise, bu şekilde olan ekranlara Ortak Anot 7 Segment Display adı verilir. Kullanım amacı aynı olmakla birlikte tek fark bağlantı pinleridir. Display in ortak anot veya ortak katot olduğunu anlamak için ölçü aleti kullanabiliriz. Ölçü aleti ile buzzer kademesinde kırmızı prob ortak uçlardan birine, diğer prob diğer uçlardan herhangi birine değdirilir. Eğer ledlerden birisi yanarsa display ortak anottur. Eğer yanmazsa ölçü aleti uçları ters çevrilir. Bu sefer led yanarsa display ortak katottur diyebiliriz.

7 Segment Display Anot Katot Uçları

Ortak uç pinleri ekrana üstten baktığımızda ortadaki pinlere denk gelmektedir. Bu pinler 3. Ve 8. pinlerdir. Bu ekranları Arduino’ da kullanacak isek, ortak anot 7 segment display ekranlarda 3. ve 8. pinler, Arduino’ nun +5V pinine bağlanırken, ortak katot 7 segment display ekranlarda 3. ve 8. pinler Arduino’ da GND pinlerine bağlanır.

Arduino’ da her iki display arasındaki kodlama farkı da şu şekildedir. 7 segment display eğer ortak anot ise, yanması istenen ledlere, digitalWrite komutu ile LOW gönderilmelidir, eğer 7 segment display ortak katot ise yanması istenen ledlere, digitalWrite komutu ile HIGH gönderilmelidir.

7 Segment Display Harflerin Karşılığı Rakamlar

NOT: Kod bölümü içerisinde yer alan ve // işareti ile başlayan satırlar açıklama satırlarıdır. O satırdaki kod bloğunun ne anlama geldiği ve nasıl çalıştığı ile ilgili bilgi verir. Arduino // işaretli alanı çalıştırmaz. Kod satırından isterseniz // işaret ile başlayan açıklama satırlarını silebilirsiniz.

Aşağıda hem ortak katot hem de ortak anot uygulaması yer almaktadır.

7 SEGMENTLİ DISPLAY GERİ SAYICI – ORTAK KATOT

KOD BÖLÜMÜ:


//7 Segment Display Ortak Katot 9-0 Geri Sayıcı Uygulaması
// Pinleri tanımlıyoruz
int A = 6;
int B = 7;
int C = 9;
int D = 10;
int E = 11;
int F = 5;
int G = 4;
int DP = 8;

void setup()
{
// Pinlerin çıkış pini olduğunu belirtiyoruz.
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
pinMode(DP, OUTPUT);
}
void loop() {
// "9" Sayısını yazar.
digitalWrite(A,HIGH);
digitalWrite(B,HIGH);
digitalWrite(C,HIGH);
digitalWrite(D,HIGH);
digitalWrite(E,LOW);
digitalWrite(F,HIGH);
digitalWrite(G,HIGH);
digitalWrite(DP,HIGH);
delay(1000);
// "8" Sayısını yazar.
digitalWrite(A,HIGH);
digitalWrite(B,HIGH);
digitalWrite(C,HIGH);
digitalWrite(D,HIGH);
digitalWrite(E,HIGH);
digitalWrite(F,HIGH);
digitalWrite(G,HIGH);
digitalWrite(DP,HIGH);
delay(1000);
// "7" Sayısını yazar.
digitalWrite(A,HIGH);
digitalWrite(B,HIGH);
digitalWrite(C,HIGH);
digitalWrite(D,LOW);
digitalWrite(E,LOW);
digitalWrite(F,LOW);
digitalWrite(G,LOW);
digitalWrite(DP,HIGH);
delay(1000);
// "6" Sayısını yazar.
digitalWrite(A,HIGH);
digitalWrite(B,LOW);
digitalWrite(C,HIGH);
digitalWrite(D,HIGH);
digitalWrite(E,HIGH);
digitalWrite(F,HIGH);
digitalWrite(G,HIGH);
digitalWrite(DP,HIGH);
delay(1000);
// "5" Sayısını yazar.
digitalWrite(A,HIGH);
digitalWrite(B,LOW);
digitalWrite(C,HIGH);
digitalWrite(D,HIGH);
digitalWrite(E,LOW);
digitalWrite(F,HIGH);
digitalWrite(G,HIGH);
digitalWrite(DP,HIGH);
delay(1000);
// "4" Sayısını yazar.
digitalWrite(A,LOW);
digitalWrite(B,HIGH);
digitalWrite(C,HIGH);
digitalWrite(D,LOW);
digitalWrite(E,LOW);
digitalWrite(F,HIGH);
digitalWrite(G,HIGH);
digitalWrite(DP,HIGH);
delay(1000);
// "3" Sayısını yazar.
digitalWrite(A,HIGH);
digitalWrite(B,HIGH);
digitalWrite(C,HIGH);
digitalWrite(D,HIGH);
digitalWrite(E,LOW);
digitalWrite(F,LOW);
digitalWrite(G,HIGH);
digitalWrite(DP,HIGH);
delay(1000);
// "2" Sayısını yazar.
digitalWrite(A,HIGH);
digitalWrite(B,HIGH);
digitalWrite(C,LOW);
digitalWrite(D,HIGH);
digitalWrite(E,HIGH);
digitalWrite(F,LOW);
digitalWrite(G,HIGH);
digitalWrite(DP,HIGH);
delay(1000);
// "1" Sayısını yazar.
digitalWrite(A,LOW);
digitalWrite(B,HIGH);
digitalWrite(C,HIGH);
digitalWrite(D,LOW);
digitalWrite(E,LOW);
digitalWrite(F,LOW);
digitalWrite(G,LOW);
digitalWrite(DP,HIGH);
delay(1000);
// "0" Sayısını yazar.
digitalWrite(A,HIGH);
digitalWrite(B,HIGH);
digitalWrite(C,HIGH);
digitalWrite(D,HIGH);
digitalWrite(E,HIGH);
digitalWrite(F,HIGH);
digitalWrite(G,LOW);
digitalWrite(DP,HIGH);
delay(1000);
}

DEVRENİN ÇALIŞMASI:

Arduino ‘ya enerji verdiğimizde 7 segmentli display, 9 dan 0 a kadar sayacak, sonra tekrar baştan geri saymaya başlayacaktır. Sayılar arasındaki bekleme süresini delay komutu ile değiştirebilirsiniz.

DEVRE BAĞLANTI ŞEMASI:

Arduino 7 Segmentli Display 0-9 Sayıcı - Ortak Katot

DEVRE KURULUMU:

Malzemeler:

Arduino Uno
Breadboard
1 adet 7 Segment Display Ortak Katot
2 adet 220 Ω Direnç
10 adet iki ucu erkek jumper kablo

7 segmentli display, breadboard üzerine yerleştirilir. 3 ve 8 numaralı ortadaki pinlere 220 ohm direnç bağlanır. Dirençlerin diğer uçları breadboard üst ve alt kısımlarında eksi şeride bağlanır.  7 segmentli display üzerindeki led uçları, Arduino’ da 4, 5, 6, 7, 8, 9, 10, 11 numaralı pinlere bağlanır. Dirençlerin birer uçları breadboard üzerinde kablo ile birleştirilir. Birleştirilen şerit üzerinden bir kablo ile Arduino nun GND çıkışına bağlanarak devre tamamlanır.

7 SEGMENTLİ DISPLAY GERİ SAYICI – ORTAK ANOT

KOD BÖLÜMÜ:


//7 Segment Display Ortak Anot Geri Sayaç Uygulaması
// Pinleri tanımlıyoruz
int A = 6;
int B = 7;
int C = 9;
int D = 10;
int E = 11;
int F = 5;
int G = 4;
int DP = 8;

void setup()
{
// Pinlerin çıkış pini olduğunu belirtiyoruz.
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
pinMode(DP, OUTPUT);
}
void loop() {
// "9" Sayısını yazar.
digitalWrite(A,LOW);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,LOW);
digitalWrite(E,HIGH);
digitalWrite(F,LOW);
digitalWrite(G,LOW);
digitalWrite(DP,LOW);
delay(1000);
// "8" Sayısını yazar.
digitalWrite(A,LOW);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,LOW);
digitalWrite(E,LOW);
digitalWrite(F,LOW);
digitalWrite(G,LOW);
digitalWrite(DP,LOW);
delay(1000);
// "7" Sayısını yazar.
digitalWrite(A,LOW);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,HIGH);
digitalWrite(E,HIGH);
digitalWrite(F,HIGH);
digitalWrite(G,HIGH);
digitalWrite(DP,LOW);
delay(1000);
// "6" Sayısını yazar.
digitalWrite(A,LOW);
digitalWrite(B,HIGH);
digitalWrite(C,LOW);
digitalWrite(D,LOW);
digitalWrite(E,LOW);
digitalWrite(F,LOW);
digitalWrite(G,LOW);
digitalWrite(DP,LOW);
delay(1000);
// "5" Sayısını yazar.
digitalWrite(A,LOW);
digitalWrite(B,HIGH);
digitalWrite(C,LOW);
digitalWrite(D,LOW);
digitalWrite(E,HIGH);
digitalWrite(F,LOW);
digitalWrite(G,LOW);
digitalWrite(DP,LOW);
delay(1000);
// "4" Sayısını yazar.
digitalWrite(A,HIGH);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,HIGH);
digitalWrite(E,HIGH);
digitalWrite(F,LOW);
digitalWrite(G,LOW);
digitalWrite(DP,LOW);
delay(1000);
// "3" Sayısını yazar.
digitalWrite(A,LOW);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,LOW);
digitalWrite(E,HIGH);
digitalWrite(F,HIGH);
digitalWrite(G,LOW);
digitalWrite(DP,LOW);
delay(1000);
// "2" Sayısını yazar.
digitalWrite(A,LOW);
digitalWrite(B,LOW);
digitalWrite(C,HIGH);
digitalWrite(D,LOW);
digitalWrite(E,LOW);
digitalWrite(F,HIGH);
digitalWrite(G,LOW);
digitalWrite(DP,LOW);
delay(1000);
// "1" Sayısını yazar.
digitalWrite(A,HIGH);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,HIGH);
digitalWrite(E,HIGH);
digitalWrite(F,HIGH);
digitalWrite(G,HIGH);
digitalWrite(DP,LOW);
delay(1000);
// "0" Sayısını yazar.
digitalWrite(A,LOW);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,LOW);
digitalWrite(E,LOW);
digitalWrite(F,LOW);
digitalWrite(G,HIGH);
digitalWrite(DP,LOW);
delay(1000);
}

DEVRENİN ÇALIŞMASI:

Arduino ‘ya enerji verdiğimizde 7 segmentli display, 9 dan 0 a kadar sayacak, sonra tekrar baştan geri saymaya başlayacaktır. Sayılar arasındaki bekleme süresini delay komutu ile değiştirebilirsiniz.

DEVRE BAĞLANTI ŞEMASI:

Arduino 7 Segmentli Display 0-9 Sayıcı - Ortak Anot

DEVRE KURULUMU:

Malzemeler:

Arduino Uno
Breadboard
1 adet 7 Segment Display Ortak Anot
2 adet 220 Ω Direnç
10 adet iki ucu erkek jumper kablo

7 segmentli display, breadboard üzerine yerleştirilir. 3 ve 8 numaralı ortadaki pinlere 220 ohm direnç bağlanır. Dirençlerin diğer uçları breadboard üst ve alt kısımlarında artı şeride bağlanır.  7 segmentli display üzerindeki led uçları, Arduino’ da 4, 5, 6, 7, 8, 9, 10, 11 numaralı pinlere bağlanır. Dirençlerin birer uçları breadboard üzerinde kablo ile birleştirilir. Birleştirilen şerit üzerinden bir kablo ile Arduino nun +5V çıkışına bağlanarak devre tamamlanır.

7 SEGMENTLİ DISPLAY İLERİ SAYICI

Eğer sayacın 0 dan 9 a kadar ileri şekilde saymasını istiyorsanız kodlama içerisinde “// 0 Sayısını yazar.” altındaki kod bloğu “// 9 Sayısını yazar.” kod bloğu ile yer değişecek ve sırasıyla alttaki bloklar üste taşınarak sıralama 0 dan 9 a olacak şekilde değiştirilecektir. Devre bağlantı şemalarında bir değişiklik olmayacaktır.

Arduino 7 Segmentli Display 0-9 Sayıcı

Devre hakkında yorumlarınızı aşağıdaki yorum kısmına yazabilirsiniz. Youtube kanalımızda da mBlock ve Arduino ile ilgili ders videoları bulabileceksiniz. Youtube kanalıma abone olmayı da unutmayınız.

https://www.youtube.com/@candemirahmet

Oval@3x 2

Bu ipuçlarını kaçırmayın!

Kayıt butonuna bastıktan sonra e-postanız gelen kutunuza giderek gelen e-postayı onaylamayı unutmayınız. Gelen kutusunda görülmeyen postalar için Önemsiz -Spam klasörünü kontrol edebilirsiniz. Eğer kayıt e-postası ulaşmadıysa iletişim menüsünden bu durumu bildirebilirsiniz.

Yazan: Ahmet Candemir
Teknik Öğretmen - Cisco Instructor - Microsoft MCP - ECDL MS Office Advanced Expert - Adobe Eğitmeni - MEB Fatih Projesi Koordinatörü - Robotik Kodlama Eğitmeni