Arduino ile 7 Segment Display Uygulaması

Onur NP

Yeni Üye
Yasaklı Üye
29 Mar 2019
13
3
3
7segment giris.png



Merhabalar arkadaşlar Arduino yada elektronik ile ilgilenen herkesin bir noktada yolunun kesiştiği 7 segment display konusuna değineceğiz. 7 Segment displaylar sizde takdir edersiniz ki günümüzde pek çok uygulamada kullanılmakta ve bu kadar yaygın bir modüle değinmesek ayıp olurdu. Özellikle Oled ekran ve karakter LCD gibi çözümleri kullanamıyorsak yada maliyet açısından gereksiz ise 7 segmentler hemen imdadımıza yetişir. Şimdi lafı uzatmadan konuya girelim ilk önce7 Segment display'i tanıyalım


7 Segment Display Nedir ? Nasıl Çalışır ?

Bu display aslında sadece belirli bir düzende sıralanmış yedi LED'dir. Yedi LED'in her birine segment denir, çünkü yandığında segment sayısal bir basamağın bir kısmını oluşturur. Ondalık bir noktanın belirtilmesi için bazen ek bir 8. LED kullanılır bu noktanın adı DP' dir. Ve 7 segment display'in 2 türü vardır. Ortak anot ortak katot.


7 segment sematik.png


Ortak Anot : a,b,c,d,e,f,g,dp bacakları GND girişli +5V beslemesi ortaktır. Anot bacağından +5V gerilim verilir.
Ortak Katot : buda ortak anot'un tam tersi a,b,c,d,e,f,g,dp bacakları +5V girişli GND beslemesi ortaktır. Katot bacağından GND verilir.



Çalışma Şekli :


Ortak Katot:

Ortak Katot



Ortak Anot

Ortak Anot

Evet Çalışma prensiplerini Gördük şimdi birde doğruluk tablolarına göz atalım.

Doğruluk Tablosu :

Ortak Katot Doğruluk Tablosu
7segment dogruluk tablosu



Ortak Anot Doğruluk Tablosu
7segment dogruluk tablosu 2


Nasıl zihnimizde artık canlandı değil mi ? 7 Segment display konusunu artık anladığımıza göre şimdi inceden kablolama ve sonrasında kodlamaya başlayabiliriz.


Bağlantı Şeması :


7 Segment baglantı seması


Arkadaşlar gördünüz üzere 7 segmente giren bağlantılarımıza seri 220 Ohm dirençler attık bunun sebebini sizlere Stm32 ile Led Blink Uygulasında Bahsetmiştim. Sizlerde Dirençleri atlamadan takmalısınız ki kötü sonuçlar yaşamayın.

Direnç : Bu devrede bizde direnç kullandık sebebine gelecek olursak Dirençler devreden geçen akımı sınırlamak yada indirgemek amaçlı kullandığımız elemanlardır. Stm32 i/o yani giriş çıkış bacaklarının verebildiği maksimum akım değeri 50 mA'dir. Bu akım değerini aşarsak ne yazık ki ister stm32 olsun ister Arduino kullandığımız i/o bacağını yakabiliriz.Bu kötü süpriz'i yaşamamak için led'in Anot bacağının girişine bir led atarak önlemimizi almış oluyoruz.


Kodlama : İlk olarak aşağıda paylaştığım kütüphaneyi Arduino idemize yükleyelim ve sonrasında kodlarımızı yapıştırıp 7 segmentinizin çalıştığını görelim.

Arduino Kod Bloğu:
#include "SevSeg.h"
SevSeg sevseg;

void setup()
{
    //Baslangic sayımızı degiskenimize atayalim
    byte numDigits = 1;

    //Arduinomuza bagladigimiz pinleri diziye atamak icin bir dizi olusturalim
    byte digitPins[] = {};

    //sirasiyla pinlerimizi 7 segment displayimiz ile esitleyelim: A, B, C, D, E, F, G, DP
    byte segmentPins[] = {3, 2, 8, 7, 6, 4, 5, 9};
    bool resistorsOnSegments = true;

    //kutuphane ayarlarimizi yapalim.
    sevseg.begin(COMMON_ANODE, numDigits, digitPins, segmentPins, resistorsOnSegments);
    //sevseg.begin(COMMON_CATHODE, numDigits, digitPins, segmentPins, resistorsOnSegments);

    sevseg.setBrightness(90);
}

void loop()
{
   //yarim saniyelik gecikmeyle sayilarimizi dondurelim
   for(int i = 0; i < 10; i++)
   {
     sevseg.setNumber(i);
     sevseg.refreshDisplay();
     delay(500);
   }
}
Vee Mutlu Son...

7seg calisma

Evet Arkadaşlar bir projemizin daha sonuna geldik umarım faydalı olmuştur tekrar görüşmek dileğiyle İyi çalışmalar.
 

Ekli dosyalar

Son düzenleme:
  • Beğen
Tepkiler: kudretuzuner

Robotikforum.net Nedir?

  • Robotikforum.net 2020 yılında kurulup yayın hayatına başlayan ve Türkiye’de robotik kodlama alanının gelişimine katkıda bulunmak için bu alan ile ilgilenen bireylerin bir birleri ile yardımlaşmaları ve fikir danışmalarını sağlayarak daha iyi öğrenmek için her bir bireyin bilgisini ve tecrübesini alarak kendini geliştirebileceği ve sorularına cevap bulabileceği bir platform olarak kurulmuştur.

Bilgilendirme!!!

İçerik sağlayıcı paylaşım sitelerinden biri olan www.robotikforum.net Adresimizde T.C.K 20.ci Madde ve 5651 Sayılı Kanun'un 4.cü maddesinin (2).ci fıkrasına göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur.

Sayfamızı beğendin mi?