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

Bu yazımızda, Arduino ile 7 segment ekran 0-99 sayıcı yapıyoruz. Kod ve devre şemasının ardından, proteus simülasyonu ile işlemin son görüntülerini paylaştık.

Bu projede 2 haneli fonksiyonu kullanıyoruz. 2 basamaklı 7 segmentli ekranı sürmek için, her biri ayrı ayrı ekranın bir basamağını süren iki Arduino I/O pini kullanmamız gerekir. Bu kurulumlar, Arduino I/O pinlerini kullanarak ortak anot veya katot pinini sürmek için gereklidir, böylece yedi segmentin tümünü aydınlatmak için yeterli akım sağlayabilirler.

Proje için Arduino kodlamasına başlamadan önce 2 haneli yedi segment display hakkında kısaca bilgi verelim:

  • 7 segmentli bir ekran, temel olarak bir bloğun arkasındaki sadece birkaç normal LED’dir. Her LED belirli bir segmenti aydınlatır ve belirli bir LED kombinasyonunu yakarak bir sayı veya bazı harfleri temsil edebiliriz.
  • 7-Segment ekranların çoğu ortak Katottur; bu, her bir LED GND pininin (Katot) birbirine ve VCC+ pinlerinin (Anot) bağlı olduğu anlamına gelir.
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

Pin 1-5 ve pin 6, 9 ve 10’un belirli bir segmente bağlı olduğunu görebilirsiniz. Pin 7 ve 8 (D1 ve D2), her rakam için ortak katottur. Böylece, D1 veya D2’yi topraklayarak, belirli bir segmenti hangi basamağı aydınlatmak istediğinizi seçersiniz. Tabii ki, herhangi bir LED gibi, LED tarafından çekilen akım miktarını sınırlamak için bir direnç (10k) kullanmanız gerekir.

Gerekli Malzemeler

  • Arduino geliştirme kartı(Arduino Uno)
  • 10kΩ direnç x 2
  • 7 segment 2 haneli ekran
  • Bağlantı kabloları(jumper)

Bağlantı Şeması

Burada, 7-Segment ekran, kablolar ile Arduino tarafından sürülür. Ekran ve Arduino UNO kartı arasına dirençlerin bağlanması gerekir. Hangi sayının veya alfabenin görüntüleneceğine bağlı olarak kontrol sinyalleri uygulanır.

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

Aşağıdaki şema, bu LED üzerindeki her bir pinin nasıl ayarlanacağına dair 10 pinli 7 segmentli 2 haneli ekranı göstermektedir. a, b, c, d, e, f ve g, sıralı değillerdir, bu yüzden kablolama yaparken dikkatli olun. Aksi takdirde LED ekranınız istediğiniz sayıyı göstermeyecektir. “d1” sağ tarafta 1 rakamını destekleyen güç pini ve “d2” sol tarafta 2 rakamını destekleyen güç pinidir. “dp”, alt rakamın yanındaki nokta pinidir.

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

Arduino Kodu

//a,b,c,d,e,f,g konumunda 7 segmenti açmak için 7 segmentin tümü için ikili dizi hazırlanır
int digit[10] = {0b0111111, 0b0000110, 0b1011011, 0b1001111, 0b1100110, 0b1101101, 0b1111101, 0b0000111, 0b1111111, 0b1101111};

int digit1, digit2; // her segmenti kontrol etmek için atama
void setup()
{
  for (int i = 2; i < 9; i++)
  {
    pinMode(i, OUTPUT); // 0-9 inci pini çıkış olarak ayarlama(kod kalabağı olmaması için for ile ayarlandı)
  }
  pinMode(12, OUTPUT); //1. hane output
  pinMode(13, OUTPUT);//2.hane output
}
void loop() {
  for (int j = 0; j <= 99; j++)//00-99 arasındaki değeri geçmek için döngü için
  {
    digit2 = j / 10;
    digit1 = j % 10;
    for ( int k = 0; k < 20; k++)// 00-99 yazdırmak ve basamak kontrolünü kontrol etmek için döngü
    {
      digitalWrite(12, HIGH);
      digitalWrite(13, LOW);
      dis(digit2);
      delay(10);
      digitalWrite(13, HIGH);
      digitalWrite(12, LOW);
      dis(digit1);
      delay(10);
    }
  }
}
void dis(int num)
{
  for (int i = 2; i < 9; i++)
  {
    digitalWrite(i, bitRead(digit[num], i - 2));
  }
}

.hex dosyasını almak bu adımları takip edebilirsiniz:

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

Tercihler kısmından, ayrıntılı çıktı kısmında yükle seçeneğini seçmeniz gerekiyor. Ardından yükleme işleminden sonra Arduino IDE’nin hata-bilgi çıktı(siyah panel) ekranından .hex dosyasının nerede olduğunu bulup, Proteustaki Arduinonuzda seçmeniz gerekiyor.

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

Eğer .hex dosyasını bulmakta problem. yaşıyorsanız, sizin için .hex dosyasını buraya yükledik, indirip doğrudan Proteus ile kullanabilirsiniz, fakat bağlantıları aynı olarak kullanmanız gerekiyor, .hex dosyasında bağlantılar bu yazıdaki gibi ayarlanmıştır.

Kodu kontrol edip, yükledikten sonra, .hex dosyasını proteustaki Arduino Uno üzerinden açarsanız ve devre şemanız doğruysa şöyle bir görüntü elde edersiniz:

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.