Örnekler ve Projeler

Arduino 7 Segment Ekran Arayüzü

Bu projede 7 Segment Display hakkında bilgi edineceğiz ve Arduino 7 Segment Display Interface’in nasıl çalıştığını göreceğiz. 7 Segment Ekran veya Yedi Segment Ekran, Arduino veya herhangi bir mikrodenetleyiciye bağlanabilen en basit ekran cihazlarından biridir.

Alfanümerik LCD, grafik LCD, dokunmatik ekran vb. gibi çeşitli görüntüleme cihazları vardır. Birçok uygulama için 7 segmentli basit bir ekran yeterlidir.

Çamaşır makinesi, mikrodalga fırın vb. cihazlarda miktar ve zaman gibi bilgileri görüntülemek için hala 7 segmentli ekranlar kullanılıyor. Bunun temel nedeni, basit arayüzleri ve düşük maliyetidir.

Projeniz sadece sayıların gösterilmesini içeriyorsa, pahalı 16×2 LCD Ekran yerine 7 Segment Ekran güvenli seçeneğinizdir.

7 Segment Ekran basit bir cihazdır. Segmentler halinde düzenlenmiş olarak adlandırılan 7 LED’den oluşur. Bu nedenle, 7 Segment Ekran adı. Her LED Segmenti altıgen şeklindedir ve 7 LED’in tümü, 0’dan 9’a kadar rakamları gösterebilmesi için “8” benzeri bir şekilde düzenlenmiştir.

Daha önceki bir eğitimde 4 Haneli 7 Segment Ekranın Arduino’ya nasıl arayüzleneceğini gördük. Bu projeyi hatırlarsanız, yedi segment göstergesinin iki tip olduğundan bahsetmiştim: Ortak Anot ve Ortak Katot.

Bu proje için Common Anode 7 Segment Display’den bahsedeceğim. Daha ileri gitmeden önce, Ortak Anot 7 Segment Ekranının iç yapısına, yani LED’lerin nasıl bağlandığına bir göz atalım.

Tek tek LED’lerin tüm anotlarının birbirine bağlı olduğunu ve tüm katotların açık kaldığını gözlemleyebilirsiniz. Bir segmenti açmak için ortak terminal kaynağın +ve (pozitif) ucuna bağlanır ve beslemenin –ve (negatif) ucuna hangi katot bağlanırsa o segment yanar.

NOT : Ortak Katot 7 Segment Görüntüleme durumunda, ortak terminal GND’ye bağlanması gereken Katot olacaktır.

Şimdi Ortak Anot tipi 7 Segment Ekranın pin diyagramını görelim. Aşağıdaki görüntü basit bir ortak anot yedi segmentli ekranı göstermektedir. 10 Pin’den oluşmaktadır.

İlk beş pin ‘g’, ‘f’, ‘COM’, ‘a’ ve ‘b’ iken alttaki beş pin ‘e’, ​​’d’, ‘COM’, ‘c’ ve ‘dp’dir. Ortak bir anot göstergesi olduğu için COM (ortak pin) VCC’ye bağlanır.

NOT : Ortak katot 7 segment ekran olması durumunda pin konfigürasyonu aynı olacaktır ancak COM pininin GND’ye bağlanması gerekmektedir.

Bu 7 segmentli ekranda 0’dan 9’a kadar olan rakamları görüntülemek için, her bir rakam için belirli segmentleri etkinleştirmeniz gerekir. Aşağıdaki tablo, belirli bir basamağı görüntülemek için açmanız gereken bölümlerin listesini gösterir.

Proje 1: Basit Arduino 7 Segment Ekran Arayüzü

İlk devrede, Arduino UNO’ya ortak anot 7 segment ekranını nasıl bağlayacağınızı ve bir döngüde 0’dan 9’a kadar rakamları nasıl görüntüleyeceğinizi göstereceğim. Bu devrenin devre şeması, bileşenleri, kodu ve çalışması burada açıklanmıştır.

Devre şeması
Gerekli Bileşenler
  • Arduino UNO’su
  • 7 Segment Ekran
  • 7 x 220Ω Direnç (1/4 Watt)
  • Güç kaynağı
  • Bağlantı Telleri

NOT : Pratik uygulamada 7 Segment Göstergenin ayrı LED’lerine akım sınırlama dirençlerini bağlamadım. Ama bu dirençleri bağlamanızı tavsiye ederim.

 //e = 2;
 //d = 3;
 //c = 4;
 //g = 5;
 //f = 6;
 //a = 7;
 //b = 8;
                 
int num[10][7]={ {0,0,0,1,0,0,0},
                 {1,1,0,1,1,1,0},
                 {0,0,1,0,1,0,0},
                 {1,0,0,0,1,0,0},
                 {1,1,0,0,0,1,0},
                 {1,0,0,0,0,0,1},
                 {0,0,0,0,0,1,1},
                 {1,1,0,1,1,0,0},
                 {0,0,0,0,0,0,0},
                 {1,0,0,0,0,0,0} 
	        };

void setup() 
{
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);

digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);

digitalWrite(9,HIGH);
}

void loop() 
{

for(int i=0;i<10;i++)
{
 for(int j=0;j<7;j++)
 {
  digitalWrite(j+2,num[i][j]);
 }
  delay(1000);
 }
}
Çalışma

Bu, Arduino 7 Segment Arayüzünün çalışmasını açıklayan basit bir projedir. Ekranın 7 segment pini Arduino’ya aşağıdaki gibi bağlanmıştır.

  • a – Arduino Pin 7
  • b – Arduino Pim 8
  • c – Arduino Pin 4
  • d – Arduino Pim 3
  • e – Arduino Pin 2
  • f – Arduino Pin 6
  • g – Arduino Pin 5

Bu projede kullanılan 7 Segment Ekran ortak anot tipinde olduğundan, ortak pin Arduino’nun Pin 9’una bağlanır ve her zaman YÜKSEK yapılır.

Belirli bir segmenti açmak için, örneğin ‘a’ segmenti, ilgili Arduino Pin’inin DÜŞÜK yapılması gerekir. Burada ‘a’ segmenti Arduino’nun 7 pinine bağlanır. Benzer şekilde diğer segmentler DÜŞÜK yapılabilir ve yukarıdaki tabloya göre seçilen segmentlere bağlı olarak 7 Segment Ekranda bir rakam görüntülenecektir.

Proje 2: Arduino ve 7 Segment Ekran Kullanarak Zar Atma

İkinci devrede, 1 ile 6 arasında rastgele bir sayı görüntülemek için bir düğme kullanacağımız bir yuvarlanan zar işlevi uygulayacağız.

Devre şeması
Gerekli Bileşenler
  • Arduino UNO’su
  • 7 Segment Ekran
  • Buton
  • 7 x 220Ω Direnç (1/4 Watt)
  • Güç kaynağı
  • Bağlantı Telleri

NOT : Pratik uygulamada 7 Segment Göstergenin ayrı LED’lerine akım sınırlama dirençlerini bağlamadım. Ama bu dirençleri bağlamanızı tavsiye ederim.

//e = 2;
 //d = 3;
 //c = 4;
 //g = 5;
 //f = 6;
 //a = 7;
 //b = 8;
                 
int num[10][7]={ {0,0,0,1,0,0,0},
                 {1,1,0,1,1,1,0},
                 {0,0,1,0,1,0,0},
                 {1,0,0,0,1,0,0},
                 {1,1,0,0,0,1,0},
                 {1,0,0,0,0,0,1},
                 {0,0,0,0,0,1,1},
                 {1,1,0,1,1,0,0},
                 {0,0,0,0,0,0,0},
                 {1,0,0,0,0,0,0} 
	        };

long r_num;     
int roll = 12;            
bool state = true; 

void setup() 
{
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(12,INPUT_PULLUP);

digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);

digitalWrite(9,HIGH);

randomSeed(analogRead(0));

}

void loop() 
{
 if(state)
 {
   r_num=random(1,6);
   for(int i=0;i<7;i++)
    {
      digitalWrite(i+2,num[r_num][i]);
    }
     //delay(1500);
    state=false;
 }

while(digitalRead(roll)==LOW)
{
   for(int i=0;i<10;i++)
    {
     for(int j=0;j<7;j++)
       {
         digitalWrite(j+2,num[i][j]);
       }
     delay(50);
    }
 state=true;
}
}
Çalışma

Projenin çalışması, Arduino’ya ek olarak bir Basma Düğmesinin arayüzlenmesi dışında yukarıdaki projeye benzer. Butona basıldığında Arduino’nun 0’dan 9’a kadar sayıları gösterdiğini görebilirsiniz. Butonu bıraktığınız anda 7 Segment Ekranda 1 ile 6 arasında rastgele bir sayı görüntülenir.

Uygulamalar

  • Arduino 7 Segment Ekran Arayüzü yardımıyla 0’dan 9’a kadar olan rakamları kolaylıkla görüntüleyebilirsiniz.
  • Bu tür görüntüleme cihazları, nesne sayacı, Çalar Saat, Dijital Saat, Zamanlayıcı Devresi gibi daha büyük projelerde kullanılabilir.

Bu makale buradan çevrilmiştir.

Related posts

Tasmota Nedir ve Akıllı Ev Cihazlarını Kontrol Etmek İçin ESP-01 ile Nasıl Kullanılır?

Ömer Ersin

Arduino: Analog ölçümler

Ömer Ersin

Arduino kullanarak Kapasite (kapasitans) Ölçümü

Ömer Ersin