Arduino ile 7 Segmentli Display Sayıcı: KYX-5461AS Ortak Anot/Katot Kullanım Rehberi

Arduino 7 Segment Display Kullanımı – LED Tabanlı Sayısal Gösterge Projesi

7 Segment Display’ler LED tabanlı göstergelerdir ve Arduino projelerinde en popüler sayısal gösterge elemanlardır. İçerisinde bulunan 7 adet LED ile aydınlatılan 7 ayrı bölmeden oluşan bu sistemler, 0-9 arası sayısal rakamları görüntülemek için kullanılır.

🔢 Proje Özeti

  • KYX-5461AS 7 segment display kullanımı
  • Ortak anot vs ortak katot karşılaştırması
  • Arduino Uno ile sayıcı programlaması
  • LED tabanlı gösterge sistemi
  • 0-9 sayısal rakam görüntüleme

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

LED Tabanlı Gösterge Sistemi:

7 Segment Display’lerde LED’lerin kullanılması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ısal Özellikler:

  • 7 adet LED segment (a, b, c, d, e, f, g)
  • 1 adet DP (Decimal Point) LED
  • Toplam 8 LED sistem
  • 10 pin bağlantı yapısı

Segment Etiketleme Sistemi:

  aaaa
f |    | b
  gggg
e |    | c  
  dddd   DP

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.


🔌 Arduino ile 7 Segmentli Display Sayıcı | KYX-5461AS Malzemeleri

SıraMalzemeAdetFonksiyon
1Arduino Uno R31Ana kontrolcü
27 Segmentli Display KYX-5461AS1Sayısal gösterge
3Mini Breadboard1Prototip tahtası
4220Ω Direnç8Akım sınırlama
5Jumper Kablo10Bağlantı kabloları

⚙️ Ortak Anot vs Ortak Katot: Temel Farklar

7 Segment Display Çeşitleri:

Ortak Anot (Common Anode):

  • LED’lerin anot (+) uçları ortak bağlı
  • Ortak uç +5V’a bağlanır
  • Segment kontrolü LOW sinyali ile
  • Yüzey rengi genellikle gri

Ortak Katot (Common Cathode):

  • LED’lerin katot (-) uçları ortak bağlı
  • Ortak uç GND’ye bağlanır
  • Segment kontrolü HIGH sinyali ile
  • Yüzey rengi genellikle siyah

Ortak Anot vs Ortak Katot Karşılaştırma Tablosu:

ÖzellikOrtak AnotOrtak Katot
Ortak Pin+5V (VCC)GND
Segment KontrolüLOW (0V)HIGH (5V)
LED YakmadigitalWrite(pin, LOW)digitalWrite(pin, HIGH)
Yüzey RengiGriSiyah
Pin Bağlantısı3,8 → +5V3,8 → GND

🔌 Arduino 7 Segment Display Bağlantı Şeması

KYX-5461AS Pin Diyagramı:

     1  2  3  4  5
     E  D COM A  F
    ┌──────────────┐
    │   KYX-5461AS │
    │              │
    └──────────────┘
    DP G COM B  C
    10 9  8  7  6

Ortak Anot Bağlantı Şeması:

KYX-5461AS → Arduino Uno
Pin 1 (E)  → Digital 2
Pin 2 (D)  → Digital 3  
Pin 3 (COM)→ +5V (220Ω direnç ile)
Pin 4 (A)  → Digital 7
Pin 5 (F)  → Digital 8
Pin 6 (C)  → Digital 4
Pin 7 (B)  → Digital 6
Pin 8 (COM)→ +5V (220Ω direnç ile)
Pin 9 (G)  → Digital 9
Pin 10(DP) → Digital 5

Ortak Katot Bağlantı Şeması:

KYX-5461AS → Arduino Uno  
Pin 1 (E)  → Digital 2
Pin 2 (D)  → Digital 3
Pin 3 (COM)→ GND
Pin 4 (A)  → Digital 7
Pin 5 (F)  → Digital 8
Pin 6 (C)  → Digital 4
Pin 7 (B)  → Digital 6
Pin 8 (COM)→ GND
Pin 9 (G)  → Digital 9
Pin 10(DP) → Digital 5

💻 Arduino 7 Segment Display Sayıcı Kodları

Ortak Anot Display Kodu:

// Arduino ile 7 Segmentli Display Sayıcı - Ortak Anot
// KYX-5461AS için özel kodlama

// Segment pinlerini tanımlama
int segmentPins[] = {7, 6, 4, 3, 2, 8, 9, 5}; 
// Sıralama: A, B, C, D, E, F, G, DP

// Ortak anot için sayı tablosu (LOW = LED yanar)
// Sayılar: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
byte sayiTablosu[10][8] = {
  {0,0,0,0,0,0,1,1}, // 0: A,B,C,D,E,F açık
  {1,0,0,1,1,1,1,1}, // 1: B,C açık  
  {0,1,0,0,1,0,0,1}, // 2: A,B,G,E,D açık
  {0,0,0,0,1,1,0,1}, // 3: A,B,G,C,D açık
  {1,0,0,1,1,0,0,1}, // 4: F,G,B,C açık
  {0,1,0,0,0,0,0,1}, // 5: A,F,G,C,D açık
  {0,1,0,0,0,0,0,1}, // 6: A,F,G,E,D,C açık
  {0,0,0,1,1,1,1,1}, // 7: A,B,C açık
  {0,0,0,0,0,0,0,1}, // 8: Tüm segmentler açık
  {0,0,0,0,1,0,0,1}  // 9: A,B,C,D,F,G açık
};

void setup() {
  // Tüm segment pinlerini çıkış yap
  for(int i = 0; i < 8; i++) {
    pinMode(segmentPins[i], OUTPUT);
  }
  
  Serial.begin(9600);
  Serial.println("Arduino 7 Segment Display Sayıcı Başlatıldı");
  Serial.println("Model: KYX-5461AS (Ortak Anot)");
}

void loop() {
  // 0'dan 9'a kadar sayma
  for(int sayi = 0; sayi <= 9; sayi++) {
    sayiGoster(sayi);
    Serial.println("Gösterilen Sayı: " + String(sayi));
    delay(1000); // 1 saniye bekle
  }
}

void sayiGoster(int sayi) {
  // İstenen sayıyı 7 segment display'de göster
  for(int segment = 0; segment < 8; segment++) {
    digitalWrite(segmentPins[segment], sayiTablosu[sayi][segment]);
  }
}

// Tüm segmentleri kapat (ortak anot için HIGH)
void tumSegmentleriKapat() {
  for(int i = 0; i < 8; i++) {
    digitalWrite(segmentPins[i], HIGH);
  }
}

// Tüm segmentleri aç (ortak anot için LOW)
void tumSegmentleriAc() {
  for(int i = 0; i < 8; i++) {
    digitalWrite(segmentPins[i], LOW);
  }
}

Ortak Katot Display Kodu:

// Arduino ile 7 Segmentli Display Sayıcı - Ortak Katot
// KYX-5461AS için özel kodlama

// Segment pinlerini tanımlama
int segmentPins[] = {7, 6, 4, 3, 2, 8, 9, 5}; 
// Sıralama: A, B, C, D, E, F, G, DP

// Ortak katot için sayı tablosu (HIGH = LED yanar)
byte sayiTablosu[10][8] = {
  {1,1,1,1,1,1,0,0}, // 0: A,B,C,D,E,F açık
  {0,1,1,0,0,0,0,0}, // 1: B,C açık
  {1,1,0,1,1,0,1,0}, // 2: A,B,G,E,D açık  
  {1,1,1,1,0,0,1,0}, // 3: A,B,G,C,D açık
  {0,1,1,0,0,1,1,0}, // 4: F,G,B,C açık
  {1,0,1,1,0,1,1,0}, // 5: A,F,G,C,D açık
  {1,0,1,1,1,1,1,0}, // 6: A,F,G,E,D,C açık
  {1,1,1,0,0,0,0,0}, // 7: A,B,C açık
  {1,1,1,1,1,1,1,0}, // 8: Tüm segmentler açık
  {1,1,1,1,0,1,1,0}  // 9: A,B,C,D,F,G açık
};

void setup() {
  // Tüm segment pinlerini çıkış yap
  for(int i = 0; i < 8; i++) {
    pinMode(segmentPins[i], OUTPUT);
  }
  
  Serial.begin(9600);
  Serial.println("Arduino 7 Segment Display Sayıcı Başlatıldı");
  Serial.println("Model: KYX-5461AS (Ortak Katot)");
}

void loop() {
  // 0'dan 9'a kadar sayma
  for(int sayi = 0; sayi <= 9; sayi++) {
    sayiGoster(sayi);
    Serial.println("Gösterilen Sayı: " + String(sayi));
    delay(1000);
  }
}

void sayiGoster(int sayi) {
  // İstenen sayıyı 7 segment display'de göster
  for(int segment = 0; segment < 8; segment++) {
    digitalWrite(segmentPins[segment], sayiTablosu[sayi][segment]);
  }
}

🔧 Gelişmiş 7 Segment Display Projeleri

Butonlu Sayıcı Sistemi:

// Buton ile kontrolü sayıcı
int butonArtir = 10;
int butonAzalt = 11; 
int butonSifirla = 12;
int sayac = 0;

void setup() {
  // Segment pinleri
  for(int i = 0; i < 8; i++) {
    pinMode(segmentPins[i], OUTPUT);
  }
  
  // Buton pinleri
  pinMode(butonArtir, INPUT_PULLUP);
  pinMode(butonAzalt, INPUT_PULLUP);
  pinMode(butonSifirla, INPUT_PULLUP);
}

void loop() {
  // Buton kontrolleri
  if(digitalRead(butonArtir) == LOW) {
    sayac++;
    if(sayac > 9) sayac = 0;
    delay(200); // Debounce
  }
  
  if(digitalRead(butonAzalt) == LOW) {
    sayac--;
    if(sayac < 0) sayac = 9;
    delay(200);
  }
  
  if(digitalRead(butonSifirla) == LOW) {
    sayac = 0;
    delay(200);
  }
  
  sayiGoster(sayac);
}

Zaman Sayacı (Saniyemetre):

// Saniye sayacı sistemi
unsigned long oncekiZaman = 0;
int saniye = 0;

void loop() {
  unsigned long suankiZaman = millis();
  
  if(suankiZaman - oncekiZaman >= 1000) {
    saniye++;
    if(saniye > 9) saniye = 0;
    
    sayiGoster(saniye);
    oncekiZaman = suankiZaman;
  }
}

Ondalık Nokta (DP) Kullanımı:

void sayiGosterDP(int sayi, bool dpAktif) {
  // Normal sayıyı göster
  for(int segment = 0; segment < 7; segment++) {
    digitalWrite(segmentPins[segment], sayiTablosu[sayi][segment]);
  }
  
  // DP kontrolü (ortak anot için)
  digitalWrite(segmentPins[7], dpAktif ? LOW : HIGH);
}

// Kullanım örneği: sayiGosterDP(5, true); // "5." gösterir

🔍 7 Segment Display Türü Nasıl Anlaşılır?

Fiziksel Tanıma Yöntemleri:

Yüzey Rengi Kontrolü:

  • Yüzey rengi siyah → Ortak Katot
  • Yüzey rengi gri → Ortak Anot

Multimetre ile Test:

  • Kırmızı prob ortak pine (3 veya 8)
  • Siyah prob segment pinlerine
  • LED yanarsa → Ortak Anot
  • LED yanmazsa → Ortak Katot

Yazılım ile Tanıma:

void displayTuruTest() {
  // 3 ve 8 numaralı pinleri HIGH yap
  digitalWrite(3, HIGH);
  digitalWrite(8, HIGH);
  
  // A segmentini test et
  digitalWrite(7, LOW);
  delay(1000);
  
  // Eğer LED yanıyorsa ortak anot
  // Yanmıyorsa ortak katot
}

⚡ Çoklu 7 Segment Display (Multiplexing)

2 Haneli Sayıcı Sistemi:

// 2 haneli display için multiplexing
int display1Pin = A0; // Birler hanesi kontrol
int display2Pin = A1; // Onlar hanesi kontrol

int sayac = 0;

void loop() {
  int birler = sayac % 10;
  int onlar = sayac / 10;
  
  // Birler hanesini göster
  digitalWrite(display1Pin, LOW);  // Aktif
  digitalWrite(display2Pin, HIGH); // Pasif
  sayiGoster(birler);
  delay(5);
  
  // Onlar hanesini göster  
  digitalWrite(display1Pin, HIGH); // Pasif
  digitalWrite(display2Pin, LOW);  // Aktif
  sayiGoster(onlar);
  delay(5);
  
  // Sayacı artır
  if(millis() % 1000 == 0) {
    sayac++;
    if(sayac > 99) sayac = 0;
  }
}

🔧 Hata Giderme ve İpuçları

Yaygın Sorunlar ve Çözümleri:

LED’ler Yanmıyor:

  • Güç bağlantılarını kontrol edin
  • Ortak pin bağlantısını doğrulayın
  • Direnç değerlerini kontrol edin (220Ω)

Yanlış Sayılar Görünüyor:

  • Pin bağlantılarını yeniden kontrol edin
  • Kod tablosunu doğrulayın
  • Ortak anot/katot uyumunu kontrol edin

LED’ler Çok Parlak/Soluk:

  • Direnç değerini ayarlayın
  • Güç kaynağı voltajını kontrol edin

Optimizasyon İpuçları:

// Segment pinlerini dizi ile tanımlama
const int SEGMENT_PINS[] = {7,6,4,3,2,8,9,5};
const int SEGMENT_COUNT = 8;

// PROGMEM kullanarak Flash bellek tasarrufu
const byte PROGMEM sayiTablosu[10][8] = {
  // ... sayı tablosu
};

// Fonksiyon optimizasyonu
inline void sayiGoster(int sayi) {
  for(int i = 0; i < SEGMENT_COUNT; i++) {
    digitalWrite(SEGMENT_PINS[i], pgm_read_byte(&sayiTablosu[sayi][i]));
  }
}

🔍 SEO Anahtar Kelimeler ve Popüler Aramalar

Bu Arduino 7 segment display projesi şu popüler aramalara yanıt veriyor:

Ana Anahtar Kelimeler:

  • “Arduino 7 segmentli display sayıcı”
  • “KYX-5461AS Arduino bağlantısı”
  • “Ortak anot ortak katot farkı”
  • “7 segment display Arduino kodu”
  • “LED tabanlı gösterge sistemi”

Uzun Kuyruklu Anahtar Kelimeler:

  • “Arduino ile 7 segment display kullanımı”
  • “7 segment display pin bağlantıları”
  • “Ortak anot katot display farkı”
  • “Arduino sayıcı projesi 7 segment”
  • “KYX-5461AS display datasheet”

İlgili Projeler:

  • Arduino LCD ekran kullanımı
  • LED matrix display projeleri
  • Arduino dijital saat yapımı
  • Multiplexing display sistemi

⚙️ İleri Seviye Uygulamalar

Hexadecimal Gösterge:

// 0-F hexadecimal sayıları gösterme
byte hexTablosu[16][8] = {
  // 0-9 sayıları + A,B,C,D,E,F harfleri
  {1,1,1,1,1,1,0,0}, // 0
  {0,1,1,0,0,0,0,0}, // 1
  // ... diğer sayılar
  {1,1,1,0,1,1,1,0}, // A
  {0,0,1,1,1,1,1,0}, // B  
  {1,0,0,1,1,1,0,0}, // C
  {0,1,1,1,1,0,1,0}, // D
  {1,0,0,1,1,1,1,0}, // E
  {1,0,0,0,1,1,1,0}  // F
};

Kayan Yazı Efekti:

void kayanYazi() {
  String yazi = "Arduino";
  
  for(int pos = 0; pos < yazi.length(); pos++) {
    char karakter = yazi.charAt(pos);
    karakterGoster(karakter);
    delay(500);
  }
}

PWM ile Parlaklık Kontrolü:

void parlaklikKontrol(int seviye) {
  // PWM ile LED parlaklığını ayarlama
  for(int i = 0; i < 8; i++) {
    analogWrite(segmentPins[i], seviye); // 0-255 arası
  }
}

🎯 Sonuç ve Geliştirme Önerileri

Arduino ile 7 Segmentli Display Sayıcı KYX-5461AS projesi, LED tabanlı gösterge sistemleri öğrenmek için mükemmel bir başlangıç projesidir. Ortak anot ve ortak katot arasındaki farkları anlayarak, sayısal rakam görüntüleme sistemlerinin temellerini öğrenmiş olursunuz.

Projenin Avantajları:

Basit bağlantı yapısı ✅ Ekonomik malzeme listesi
Kolay programlama (if-else mantığı) ✅ Genişletilebilir sistem ✅ Pratik öğrenme imkanı

Gelecek Geliştirmeler:

  • 4 haneli display sistemi
  • Saat/tarih göstergesi
  • Hesap makinesi uygulaması
  • Sıcaklık göstergesi entegrasyonu
  • WiFi ile uzaktan veri gösterimi

Bu 7 segment display Arduino projesi ile sayısal gösterge sistemleri alanında sağlam bir temel oluşturmuş olacaksınız. KYX-5461AS model gibi yaygın kullanılan display’ler ile edindiğiniz tecrübe, daha karmaşık projelerde de size yardımcı olacaktır.

İyi çalışmalar dileriz! 🔢


🔖 Etiketler: Arduino Uno, 7 Segment Display, KYX-5461AS, Ortak Anot, Ortak Katot, LED Display, Sayıcı Projesi, Arduino Başlangıç, Dijital Gösterge, Breadboard Projesi


Devre Şeması


Çalışma videosu


Gerekli Kodlar :


 Premium Üyeler İçin Gerekli Kodlar: 

[member]   [/member]

Not:Gerekli Tüm Bilgiler Video da Verilmiştir. Lütfen Öncelikle Videoyu Dikkatlice İzleyiniz. Diğer Video ve Projelerden Haberdar Olmak İçin SezerDuino YouTube Kanalına Ücretsiz Olarak Abone Olabilirsiniz. İyi Çalışmalar

Gerekli Kaynak Yazı : http://www.elektrikport.com/teknik-kutuphane/7-segment-display-nedir/18475#ad-image-0