Arduino ile 7 Segment Display Sürücü Uygulaması

👤 Yazar: ozcan 📅 Tarih: 22.07.2026 07:16 👁️ Görüntüleme: 17

Arduino ile Tekli 7 Segment Display Sürücü Uygulaması

Projelerde sayısal verileri göstergenin üzerinde hızlıca sunmak için 7 Segment Display elemanları oldukça kullanışlıdır. İçerisinde A'dan G'ye kadar harflendirilen 7 adet LED segmenti bulunur. Görseldeki bağlantı şemasına uygun olarak hazırlanan bu uygulamada, 0'dan 9'a kadar olan sayılar sırasıyla ekrana yazdırılmaktadır.

Arduino ile Tekli 7 Segment Display Sürücü Uygulaması

Görseldeki Pin Haritalaması:
  • Segment A → Pin 9
  • Segment B → Pin 8
  • Segment C → Pin 7
  • Segment D → Pin 6
  • Segment E → Pin 5
  • Segment F → Pin 4
  • Segment G → Pin 3
Not: Ortak Katot (Common Cathode) display kullanıldığı varsayılmıştır (GND hattı bağlı, lojik HIGH seviyesi segmenti yakar). Ortak Anot kullanılıyorsa pin durumları (HIGH / LOW) tersine çevrilmelidir.

 7 Segment Display bacak adları

Arduino Uygulama Kodları

// Görseldeki şemaya göre segment pin tanımlamaları (A, B, C, D, E, F, G)
const int segmentPinleri[7] = {9, 8, 7, 6, 5, 4, 3};

// 0-9 arası rakamların segment durum matrisi (Ortak Katot: 1 = Açık, 0 = Kapalı)
// Dizilim sırası: {A, B, C, D, E, F, G}
const byte rakamlar[10][7] = {
  {1, 1, 1, 1, 1, 1, 0}, // 0
  {0, 1, 1, 0, 0, 0, 0}, // 1
  {1, 1, 0, 1, 1, 0, 1}, // 2
  {1, 1, 1, 1, 0, 0, 1}, // 3
  {0, 1, 1, 0, 0, 1, 1}, // 4
  {1, 0, 1, 1, 0, 1, 1}, // 5
  {1, 0, 1, 1, 1, 1, 1}, // 6
  {1, 1, 1, 0, 0, 0, 0}, // 7
  {1, 1, 1, 1, 1, 1, 1}, // 8
  {1, 1, 1, 1, 0, 1, 1}  // 9
};

void setup() {
  // Tüm segment pinlerini çıkış olarak ayarlıyoruz
  for (int i = 0; i < 7; i++) {
    pinMode(segmentPinleri[i], OUTPUT);
  }
}

void loop() {
  // 0'dan 9'a kadar sayıları sırayla ekranda göster
  for (int sayi = 0; sayi < 10; sayi++) {
    rakamYazdir(sayi);
    delay(1000); // Sayılar arası 1 saniye bekleme
  }
}

// Belirtilen rakamı segmentlere aktaran sürücü fonksiyonu
void rakamYazdir(int rakam) {
  for (int i = 0; i < 7; i++) {
    digitalWrite(segmentPinleri[i], rakamlar[rakam][i]);
  }
}

Kod Yapısı ve Sürücü Mantığı

Yazılan kod, pinlerin doğrudan tek tek digitalWrite ile kontrol edilmesi yerine iki boyutlu bir matris (dizi) yapısı üzerinden dinamik olarak sürülmesini sağlar:

  • Segment Pin Dizisi: segmentPinleri dizisi, şemadaki bağlantı düzenine göre Pin 9'dan Pin 3'e kadar olan donanım hatlarını sırasıyla tutar.
  • Rakam Haritası (Matris): rakamlar[10][7] tablosu, her bir rakam için A-G segmentlerinin hangilerinin aktif olacağını tanımlar. Örneğin '0' sayısı için G segmenti kapalı (0), diğer tüm segmentler açıktır (1).
  • Modüler Sürücü Fonksiyonu: rakamYazdir() fonksiyonu, parametre olarak verilen rakam indeksine karşılık gelen 7 bitlik durum bilgisini döngü içerisinde ilgili pinlere aktarır.

Display üzerindeki LED'lerin ve Arduino pinlerinin zarar görmemesi için her bir segment hattına (veya ortak GND hattına) 220Ω - 330Ω değerinde akım sınırlayıcı direnç eklemeyi unutmayın.

💬 Yorumlar

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Bir Yorum Bırakın

Güvenlik Kontrolü:

Yenidir.com
↑ Sayfa Başı
📞 İletişim ✉ E-Posta Gönder 🟥 YouTube
© 2026 Yenidir.com
Yenidir CMS V0.1