Ders - 10 – 7 Segment Display elemanı kullanımı.
Herkese merhabalar.
Bu dersimizde günlük hayatta bir çok alanda karşımıza çıkan led tabanlı görüntüleme elemanı olan 7 Segment Display elemanının ne olduğunu ve nasıl kullanıldığını öğreneceğiz.
Tinkercad Circuitse girerek yeni bir devre oluşturduktan sonra çalışma alanımıza bir adet arduino , bir adet breadboard , bir adet direnç ve bir adet 7 bölümlü ekran (7 segment display ) ekliyoruz.
Devre kurulumuna geçmeden evvel dilerseniz 7 segmentli display elemanını daha yakından tanıyalım.
Temel olarak 7 Segment Display olarak bilinen 7 segmentli görüntüleyici elemanı, elektronik devrelerde kullanılan ve LED tabanlı bir sayısal gösterge elemanıdır.
Bu eleman günlük hayatta sayıları ifade etmek için bir çok alanda, elektronik devrelerin içerisine gömülü halde karşımıza çıkmaktadır.
Elemanın yapısında bulunan 7 LED'in her biri bir segment olarak adlandırılır. Bu segmentler aydınlatılarak yada karartılarak rakamların gösterilmesi sağlanır.
Ayrıca eleman üzerinde ondalıklı sayıların gösterimi için (Decimal Point) olarak adlandırılan nokta şeklinde 1 adet ek led bulunur.
7 segment display elemanının temel olarak iki türü bulunmaktadır. Bunlar Ortak Anot ve Ortak Katot 7 Segment Display türleridir.
Ortak Anot elemanında, Decimal Point noktası artı 7 display led için toplam 8 katot uç ve 1 tanede anot uç bulunmaktadır.
Bu elemanda ledlerin anotları birleştirilmiş ve girişler katottan verilmektedir. Bu durumda yanmasını istediğimiz parçaya ait uçtan (-) yük vermemiz gerekir.
Ortak Katot elemanında ise Decimal Point noktası artı 7 display led için toplam 8 anot uç ve 1 tanede ortak katot uç bulunmaktadır.
Bu elemanda ledlerin katotları birleştirilmiş ve girişler anottan verilmektedir. Bu durumda yanmasını istediğimiz parçaya ait uçtan (+) yük vermemiz gerekmektedir.
7 Segment Display'de 0'dan 9'a kadar olan rakamların üretilebilmesi için belirli ledlerin aktif edilmesi gerekmektedir. 7 Segment Display'in bu bölgelere göre oluşturulmuş bir doğruluk tablosu da bulunmaktadır. Biz devremizde ortak katot türünü tercih ettik.
Şimdi devre kurulumuna geçelim .
Arduinomuzun gnd hattından breadboard üzerindeki eksi kanalına bir bağlantı yapıyoruz. Böylece 7 segment displayin ortak ucuna yerleştirdiğimiz direnç üzerinden elemanımızı da GND hattına bağlamış oluyoruz.
Şimdi sırasıyla a,b,c,d,e,f ve g uçlarının arduino üzerindeki 2 nolu dijital kapıdan başlayarak ardışık bir şekilde 8 no lu kapıya kadar tüm kablo bağlantılarını gerçekleştiriyoruz.
Son olarak 7 segment display elemanını seçerek ilgili özellik diyalog kutusundan türünü katot olarak değiştirelim.
Devremizin fiziksel kurulumu bitti. Şimdi dilerseniz sağ taraftaki kod penceresinden kodlama seçeneğini “metin” sekmesine alarak kodlarımızı yazıp, satır satır yorumlayalım.
//KODLAR
int a = 2; //7 segment displayin her bir led elemanını
int b = 3; // daha rahat kodlama yapabilme amacıyla
int c = 4; // bağladığımız kapılara denk gelecek şekilde
int d = 5; // değişken tanımlaması yaptık.
int e = 6;
int f = 7;
int g = 8;
void setup()
{
pinMode(a, OUTPUT); // Pinlerin çıkış pini olduğunu belirtiyoruz.
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
}
void sifir() // Rakamları birer fonksiyon olacak şekilde
{ // tanımladık. Her bir rakam fonksiyonunda
digitalWrite(a,HIGH); // hangi segmentlerin(ledlerin)aktif olacağını
digitalWrite(b,HIGH); // belirttik. Örneğin sıfır rakamı için "g"
digitalWrite(c,HIGH); // kapısı hariç diğer ledler açık olacak.
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
delay(1000);
}
void bir()
{
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
delay(1000);
}
void iki()
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
delay(1000);
}
void uc()
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
delay(1000);
}
void dort()
{
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);
}
void bes()
{
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);
}
void alti()
{
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);
}
void yedi()
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
delay(1000);
}
void sekiz()
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);
}
void dokuz()
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(1000);
}
void loop()
{
sifir();delay(200); // İstediğimiz rakamı görüntülemek için o rakamın
bir();delay(200); // fonksiyonun çağırdık ve uygun bir bekleme süresi
iki();delay(200); // verdik.
uc();delay(200);
dort();delay(200);
bes();delay(200);
alti();delay(200);
yedi();delay(200);
sekiz();delay(200);
dokuz();delay(200);
}
//KODLAR BİTER.
Kodlama bölümü bittiğine göre kod penceresini yan tarafa alıp “simülasyon başlat” tuşuna basarak devremizin çalıştıralım.
Devre sorunsuz çalıştığına göre etkinliğimizi sonlandırabiliriz.Bir sonraki dersimizde görüşmek dileğiyle hoşça kalın.
Bu dersin tinkercad adresi : https://www.tinkercad.com/things/lyTjiPGXAj7