Merhaba çocuklar, gençler, büyükler ve öğrenmeye istekli herkes. Bugün sizinle sayfa başlığından da gördüğünüz gibi 7 SEGMENT uygulaması yapacağız.

Malzeme Listesi

7 SEGMENT Nedir?

Projemize başlamadan önce 7 segment kavramını doğru kavramamız ve düzgün öğrenmemiz çok önemli. O yüzden öncelikle bu kavramın ne olduğuna bakalım. Günlük hayatta birçok alanda karşımıza çıkan ve 7 Segment Display diye adlandırılan sayısal göstergeler oldukça yaygın şekilde kullanılan elektronik devre elemanlarıdır. 7 Segment Display’ler LED tabanlı göstergelerdir. İçerisinde bulunan 7 adet LED ile aydınlatılan bir sistem. Bu şekilde olmasının en önemli nedeni LED’lerin çok küçük hacimlerde olan türlerinin olmasıdır. Bu küçük LED’ler belirli bir kalıp içerisine yerleştirilerek 7 Segment Display’ler oluşturulmaktadır. Yapısında bulunan 7 LED’in her biri bir segment olarak adlandırılır. 7 Segment Display’in yapısında ek olarak 1 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. LED simülasyonlarda veya elemanın veri sayfasında ondalık nokta anlamında gelen DP (Decimal Point) ile adlandırılır.Kısaca 7 Segment Display aslında içerisinde nokta işareti yoksa 7, noktalama işareti varsa 8 adet LED’den oluşan bir rakam görüntüleme elemanıdır. Elemanın yapısındaki 7 LED’den her birinin pinleri konumsal kısımları ayrılmış şekilde bir dikdörtgen düzlemin arka alt zemininde bulunmaktadır. Konumsal olarak kısımlandırılmış 7 bölge “a” ile “g” harfleri arasındaki 7 harfle (a,b,c,d,e,f,g,) etiketlendirilir.

7 Segment Display’ler hane sayılarına ve boyutlarına göre birçok çeşidi olmasının yanında temel olarak iki tipi vardır. Bunlar ortak katot ve ortak anot olan 7 Segment Display’lerdir.

Ortak anot olan 7 Segment Display’lerin içerisindeki bütün LED’lerin anot bacakları birbirine bağlıdır ve katotları birbirinden bağımsızdır. Ortak anot demek ortak pinlerin VCC olması durumudur.

Ortak katot olan 7 Segment Display’lerin içerisindeki bütün LED’lerin katot bacakları birbirine bağlıdır ve anotları birbirinden bağımsızdır. Ortak katot ise ortak pinlerin GND olması durumudur.

Genel anlamda Sistem işleyişi olarak ayrılmış 7 kısımda bulunan 7 LED’in bir uçları ortak uç diğer uçları ise ayrı ayrı bağlantıları bulunan kontrol uçlarıdır. Kontrol uçlarından yapılacak devre beslemeleri ile ayrılmış 7 bölmeden, elde edilmek istenilen sayısal değere göre, istenilen kısımlar aydınlatılır ve böylelikle diğer kısımlarda karanlık kalmış olur. Bu şekilde gösterge üzerinde görüntülenmesi istenilen değer elde edilebilir. Bu işleyiş 7 Segment Display üzerinde bize 0-9 arasındaki ondalık rakamların görüntülenmesini sağlar.

Görselde görüldüğü üzere 0-9 arasında herhangi bir sayıyı yazmak için hangi anahtarları kapatmamız gerektiğini anlayabiliyoruz. Fakat hala anlamakta zorlanıyorsanız yazının devamında bulunan doğruluk tablosu eminim işinize çok yarayacaktır.

7 Segment Display Doğruluk Tablosu

7 Segment Display’de 0’dan 9’a kadar olan ondalık rakamların üretilebilmesi için aynı anda belirli bölgelerin aydınlatılması gerekmektedir. Buna yukarıda da değinmiştik. 7 Segment Display’in bu bölgelere göre oluşturulmuş bir doğruluk tablosu da bulunmaktadır. Tablo aşağıda verilmiştir.

Aşağıdaki tabloda 0’dan 9’a kadar olan ondalık rakamların göstergede okunabilmesi için aynı anda hangi harfle yanması gerektiği görülmektedir.

7 SEGMENT’İN ne olduğunu ve nasıl çalıştığını da öğrendiğimize göre artık uygulamaya geçebiliriz

Devre Şeması

Bu proje için edindiğimiz beardboard üzerine 7 segmenti yerleştiriyoruz. Bizim projemizde hangi harfin hangi pine bağlandığı görselde göründüğü şekilde olacak. Pinler üzerinde değişiklikler yapabilirsiniz ama yaptığınız değişiklikleri kod üzerinde de uygulamayı unutmayın. Yani bu bağlantılar hem kod yazarken hem de devreyi kurarken çok önemli.

Dirençlerin bir bacağı 7 segmentin com dışında alta ve üste bulunan 8 bacağından sadece bir tanesine denk gelecek şekilde yerleştiriyoruz. Diğer bacağını da beardboard üzerinde kendisi ile aynı hizada olan deliklerden birine takıyoruz. Direncin segmente bağlı olmayan bacağının bir altı vey bir üstündeki deliğe jumper kablosunun bir ucunu takıyoruz. Diğer ucunu da bağlı olduğu pine bağlıyoruz. Örneğin 7SEGMENET’in A bacağı direncin bir ucuna bağlı olsun diğeri de jumper kablosu yardımı ile pin2’ye bağlanıyor. Bağlantılar için aşağıda bulunan görselden faydalanabilirsiniz

Arduino Kodu

int A = 2; //7 Segment üzerindeki LED'lerin Arduino üzerinde bağladığımız pinlere atamasını yapıyoruz.
int B = 3;
int C = 4;
int D = 5;
int E = 6;
int F = 7;
int G = 8;
int DP = 9;
 
void setup() {
  pinMode (A, OUTPUT); //bütün pinler çıkış (OUTPUT) olarak atıyoruz.
  pinMode (B, OUTPUT);
  pinMode (C, OUTPUT);
  pinMode (D, OUTPUT);
  pinMode (E, OUTPUT);
  pinMode (F, OUTPUT);
  pinMode (G, OUTPUT);
  pinMode (DP, OUTPUT);
}
 
 
void loop() {
  zero();
  delay (1000); //0-9 arası sayıların gecikme süreleri
  one();
  delay (1000);
  two();
  delay (1000);
  three();
  delay (1000);
  four();
  delay (1000);
  five();
  delay (1000);
  six();
  delay (1000);
  seven();
  delay (1000);
  eight();
  delay (1000);
  nine();
  delay (1000);
}
 
void zero() {
  digitalWrite (A, LOW);
  digitalWrite (B, LOW);
  digitalWrite (C, LOW);
  digitalWrite (D, LOW);
  digitalWrite (E, LOW);
  digitalWrite (F, LOW);
  digitalWrite (G, HIGH);
  digitalWrite (DP, HIGH);
}
 
void one() {
  digitalWrite (A, HIGH);
  digitalWrite (B, LOW);
  digitalWrite (C, LOW);
  digitalWrite (D, HIGH);
  digitalWrite (E, HIGH);
  digitalWrite (F, HIGH);
  digitalWrite (G, HIGH);
  digitalWrite (DP, HIGH);
}
 
void two() {
  digitalWrite (A, LOW);
  digitalWrite (B, LOW);
  digitalWrite (C, HIGH);
  digitalWrite (D, LOW);
  digitalWrite (E, LOW);
  digitalWrite (F, HIGH);
  digitalWrite (G, LOW);
  digitalWrite (DP, HIGH);
}
 
void three() {
  digitalWrite (A, LOW);
  digitalWrite (B, LOW);
  digitalWrite (C, LOW);
  digitalWrite (D, LOW);
  digitalWrite (E, HIGH);
  digitalWrite (F, HIGH);
  digitalWrite (G, LOW);
  digitalWrite (DP, HIGH);
}
 
void four() {
  digitalWrite (A, HIGH);
  digitalWrite (B, LOW);
  digitalWrite (C, LOW);
  digitalWrite (D, HIGH);
  digitalWrite (E, HIGH);
  digitalWrite (F, LOW);
  digitalWrite (G, LOW);
  digitalWrite (DP, HIGH);
}
 
void five() {
  digitalWrite (A, LOW);
  digitalWrite (B, HIGH);
  digitalWrite (C, LOW);
  digitalWrite (D, LOW);
  digitalWrite (E, HIGH);
  digitalWrite (F, LOW);
  digitalWrite (G, LOW);
  digitalWrite (DP, HIGH);
}
 
void six() {
  digitalWrite (A, LOW);
  digitalWrite (B, HIGH);
  digitalWrite (C, LOW);
  digitalWrite (D, LOW);
  digitalWrite (E, LOW); //bfgffdfnnfdnfdfdnfnfdn
  digitalWrite (F, LOW);
  digitalWrite (G, LOW);
  digitalWrite (DP, HIGH);
}
 
void seven() {
  digitalWrite (A, LOW);
  digitalWrite (B, LOW);
  digitalWrite (C, LOW);
  digitalWrite (D, HIGH);
  digitalWrite (E, HIGH);
  digitalWrite (F, HIGH);
  digitalWrite (G, HIGH);
  digitalWrite (DP, HIGH);
}
 
void eight() {
  digitalWrite (A, LOW);
  digitalWrite (B, LOW);
  digitalWrite (C, LOW);
  digitalWrite (D, LOW);
  digitalWrite (E, LOW);
  digitalWrite (F, LOW);
  digitalWrite (G, LOW);
  digitalWrite (DP, HIGH);
}
 
void nine() {
  digitalWrite (A, LOW);
  digitalWrite (B, LOW);
  digitalWrite (C, LOW);
  digitalWrite (D, LOW);
  digitalWrite (E, HIGH);
  digitalWrite (F, LOW);
  digitalWrite (G, LOW);
  digitalWrite (DP, HIGH);
}