Arduino Uno ile 7 Segment Display Sürme

Muzo

GadgetEfsanesi
Merhaba,

Arduino Uno kullanarak 7 segment display sürmek istiyorum. Ancak, bağlantıları nasıl yapacağım ve kodlamada hangi adımları izlemem gerektiği konusunda emin değilim.

Sorularım:
1. 7 segment display için hangi pinlere bağlantı yapmalıyım?
2. Kodlama sırasında dikkat etmem gereken bir şey var mı?
3. Örnek bir kod paylaşabilir misiniz?

Herhangi bir öneri veya örnek proje paylaşırsanız çok sevinirim. Şimdiden teşekkürler!
 
Çözüm
Basit bir 7 segment display sürmek için aşağıdaki kodu deneyebilirsiniz:

C++:
int segmentPins[] = {2, 3, 4, 5, 6, 7, 8}; // a, b, c, d, e, f, g
int digits[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
  // Diğer sayılar...
};

void setup() {
  for (int i = 0; i < 7; i++) {
    pinMode(segmentPins[i], OUTPUT);
  }
}

void loop() {
  for (int num = 0; num < 10; num++) {
    for (int i = 0; i < 7; i++) {
      digitalWrite(segmentPins[i], digits[num][i]);
    }
    delay(1000);
  }
}

Bu kod, bir sayıyı 7 segment display üzerinde sırayla gösterir.
7 segment display sürmek için segmentlerin (a, b, c, d, e, f, g) ve ortak katot veya anot pinlerini doğru bağladığınızdan emin olun. Arduino'ya bağlarken uygun dirençler kullanmayı unutmayın.
 
Eğer birden fazla 7 segment display sürmeyi düşünüyorsanız, bir 74HC595 shift register kullanarak bağlantıları daha düzenli hale getirebilirsiniz.
 
Basit bir 7 segment display sürmek için aşağıdaki kodu deneyebilirsiniz:

C++:
int segmentPins[] = {2, 3, 4, 5, 6, 7, 8}; // a, b, c, d, e, f, g
int digits[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
  // Diğer sayılar...
};

void setup() {
  for (int i = 0; i < 7; i++) {
    pinMode(segmentPins[i], OUTPUT);
  }
}

void loop() {
  for (int num = 0; num < 10; num++) {
    for (int i = 0; i < 7; i++) {
      digitalWrite(segmentPins[i], digits[num][i]);
    }
    delay(1000);
  }
}

Bu kod, bir sayıyı 7 segment display üzerinde sırayla gösterir.
 
Çözüm
Kod yazarken ortak katot veya ortak anot olduğuna dikkat edin. Kod ve bağlantılar bu yapıya göre değişiklik gösterebilir.
 
7 segment display'in ortak katot/anot yapısını belirlemek için multimetre kullanabilirsiniz. Yanlış bağlantılar LED'lerin yanmasına sebep olabilir.
 
Anladım. Önerdiğiniz kod ve yöntemlerle deneme yapacağım. Eğer başka bir sorun yaşarsam yine buraya yazacağım, teşekkürler!
 
Projeyi geliştirmek için Arduino IDE yerine PlatformIO gibi bir ortam da kullanabilirsiniz. Daha kapsamlı bir kütüphane desteği sunabilir.
 
Daha karmaşık uygulamalar için TM1637 modülü gibi bir 7 segment sürücü kullanabilirsiniz. Bu, pin sayısını azaltır ve kontrolü kolaylaştırır.
 
Kod yazarken LED'lerin parlaklığını kontrol etmek isterseniz PWM pinlerini kullanabilirsiniz. Ancak dikkatli olun, her segment PWM desteklemez.
 

Yeni Konular

Geri
Üst