Arduino ile 7 Segment 0-99 Sayıcı ve Proteus Simülasyonu

Arduino ile 7 Segment 0-99 Sayıcı ve Proteus Simülasyonu 0-99 sayıcı,0-99 sayıcı devresi,0-99 sayıcı devresi proteus,0-99 sayıcı devresi arduino

Bu makalede, bir Arduino kullanarak 0-99 sayıcı yapabilen çift haneli bir 7 segmentli ekran sayacı projesini ele alacağız. Projenin devre şeması, Arduino kodu ve Proteus üzerinde gerçekleştirilmiş simülasyon sonuçları detaylı bir şekilde sunulmuştur.

Bu projede, iki basamaklı bir 7 segmentli ekranı verimli bir şekilde sürmek için Arduino’nun iki adet dijital I/O pini multiplexing (çoklama) tekniği ile kullanılmaktadır. Bu yöntem, her bir dijit’i ardışık olarak ve çok hızlı bir şekilde aktive ederek, insan gözünün algılayamayacağı bir hızda tek bir ekran gibi görünmesini sağlar. Pinlerin ortak anot veya katot konfigürasyonuna göre sürülmesi, segmentleri oluşturan LED’lerin ihtiyaç duyduğu akımı sağlamak için kritik öneme sahiptir.

Uygulamanın kodlama aşamasına geçmeden önce, çift haneli yedi segmentli ekranların çalışma prensibini kısaca inceleyelim:

  • Yapısı: 7 segmentli bir ekran, aslında belirli bir düzende yerleştirilmiş yedi adet LED’den oluşur. Bu LED’lerin farklı kombinasyonlarda yakılmasıyla rakamlar ve bazı temel harfler ekranda oluşturulur.
  • Sürücü Tipi: Piyasada bulunan 7 segmentli ekranların büyük bir çoğunluğu “Ortak Katot” (Common Cathode) yapısındadır. Bu, tüm LED’lerin katot (-) bacaklarının içeride birbirine bağlı olduğu ve bu ortak bacağın GND’ye çekilmesi gerektiği anlamına gelir. Her bir segmentin anot (+) bacağı ise ayrı ayrı kontrol edilir.
Çift haneli 7 segment ekranın iç pin bağlantı şeması

Yukarıdaki pin şemasında, 1-5 ve 6, 9, 10 numaralı pinlerin ekranın belirli segmentlerine (a-g) karşılık geldiği görülmektedir. 7 ve 8 numaralı pinler (D1 ve D2) ise sırasıyla birinci ve ikinci dijit’in ortak katot bacaklarıdır. Bir dijit’i aktif hale getirmek için ilgili ortak katot pini (D1 veya D2) lojik 0 (GND) seviyesine çekilir. Elbette, her bir segment LED’inin üzerinden geçecek akımı sınırlayarak onu korumak amacıyla bir akım sınırlama direnci (örneğin, 220Ω veya 330Ω) kullanılması zorunludur. Metinde geçen 10kΩ’lık direnç, genellikle pull-up veya pull-down amaçlı kullanılır ve segment sürmek için uygun bir değer değildir.

Yazı İçeriği

Gerekli Malzemeler

  • Arduino UNO R3 veya uyumlu bir geliştirme kartı
  • 220Ω veya 330Ω Direnç x 2
  • Ortak Katot 2 Haneli 7-Segment Ekran
  • Jumper Bağlantı Kabloları

Bağlantı Şeması

Devrede, 7 segmentli ekranın segment ve dijit pinleri Arduino’nun dijital pinlerine jumper kablolar aracılığıyla bağlanır. Her bir dijit’in ortak katot pini ile Arduino arasına akım sınırlama dirençleri eklenmelidir. Arduino, programlanan koda göre doğru zamanlama ile dijitleri ve segmentleri kontrol ederek istenen sayının görüntülenmesini sağlar.

Arduino ve 2 haneli 7 segment ekran ile oluşturulan 0-99 sayıcı devre şeması

Aşağıdaki pin çıkış şeması, 10 pinli çift haneli bir ekranın bacak bağlantılarını göstermektedir. a, b, c, d, e, f, g ve dp (decimal point) segment pinlerinin sıralaması standart olmayabilir, bu nedenle kullandığınız ekranın datasheet’ine başvurmanız önemlidir. Aksi takdirde, ekranda anlamsız karakterler görünecektir. “d1” ve “d2” pinleri sırasıyla sağ ve sol dijit’i kontrol eden ortak bacaklardır.

10 pinli 2 haneli 7 segment ekranın bacak bağlantı detayları

Arduino Kodu

Arduino IDE kullanarak derleme sonrası oluşan .hex dosyasını elde etmek için şu adımları izleyebilirsiniz:

Arduino IDE'de derleme sonrası .hex dosyasını bulmak için tercih ayarları

Arduino IDE’de Dosya > Tercihler menüsünü açın. “Derleme” seçeneğini işaretleyerek derleme işlemlerinin ayrıntılı bir çıktısını alın. Kodu “Yükle” butonu ile derledikten sonra, alt kısımdaki siyah konsol ekranında .hex uzantılı dosyanın tam yolunu bulabilirsiniz. Bu dosyayı Proteus simülasyonunuzdaki Arduino modeline yüklemeniz gerekmektedir.

Arduino IDE derleme çıktısında .hex dosya yolunun bulunması

Eğer .hex dosyasını oluşturmakta zorlanıyorsanız, proje için derlenmiş dosyayı buradan indirebilirsiniz. Ancak, bu .hex dosyasının bu makaledeki devre şemasıyla birebir uyumlu olduğunu ve pin bağlantılarını değiştirmemeniz gerektiğini unutmayın.

Kodu derleyip .hex dosyasını Proteus’taki Arduino’nuza yüklediğinizde ve devre bağlantılarınız doğru ise, aşağıdaki gibi çalışan bir sayaç simülasyonu görmelisiniz:

Arduino ve 7 segment ekran ile 0-99 sayıcı Proteus simülasyonu (Video hızlandırılmıştır).

Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.