3000 TL ve üzeri siparişlerde Kargo Ücretsiz!
Arduino ile 7 Segment Display Kontrolü

Arduino ile 7 Segment Display Kontrolü

Arduino kullanarak 7 segment display kontrolü yapma adımları ve sayısal gösterge projeleri hakkında bilgiler. Bu rehber, 7 segment display kullanarak rakam ve sayılar gösterme konusunda pratik bilgiler içerir.

4 dk okuma 2002 okunma

selam Hiber bilişim ailsei bu yazımızda 7 Segment Display ekranın Arduino ile kullanımını inceleyeceğiz. öncelikle 7 Segment Display çalışma mantığını ve nasıl çalıştına bakalım

7 Segment Display Led Nedir? Nasıl Çalışır?

7 segment display, üzerinde rakamları göstermek için 7 adet led bulunan bir dijital rakam görüntüleme modülüdür.

Yazılacak rakama göre bazı ledler yakılır, bazı ledler söndürülür. aşşada görüldüğü gibi7 segment display led ekranlar bağlantılarına göre ortak anot 7 segment display ve ortak katot 7 segment display olmak üzere iki çeşit olabilmektedir. Ortak anot 7 segment display led nedir?Ortak anot 7 segment display, tüm ledlerin + bacaklarının ortak kullanıldığı led display çeşitidir. Bu durumda 3. ve 8. bacaklar arduino 5V pinine bağlanmalıdır.Ortak anot 7 segment display bağlantı şekili

1 nolu bacak ( E )=> arduino 2,2 nolu bacak ( D )=> arduino 3,3 nolu bacak => arduino 5V,4 nolu bacak ( C )=> arduino 4,5 nolu bacak ( DP )=> arduino 5,6 nolu bacak ( B )=> arduino 6,7 nolu bacak ( A )=> arduino 7,8 nolu bacak => arduino 5V,9 nolu bacak ( F )=> arduino 8,10 nolu bacak ( G )=> arduino 9 numaralı pinlere arduino pinine bağlayalım.

Ortak anot 7 segment display arduino bağlantısını aşağıdaki şemaya göre yapalım.Ortak anot 7 segment display led ile sayıları göstermek için yanmasını istediğimiz ledin bağlı olduğu arduino pinine LOW, sönmesini istediğimiz ledin bağlı olduğu arduino pinine HIGH sinyali göndermeliyiz.Arduino Uno kartına şu kodu Arduino IDE ile yükleyeceğiz:

int E=2; int D=3; int C=4; int P=5;
int B=6; int A=7; int F=8; int G=9;

void setup() {
 // LED pinlerini çıkış olarak ayarla
 pinMode(E, OUTPUT);
 pinMode(D, OUTPUT);
 pinMode(C, OUTPUT);
 pinMode(A, OUTPUT);
 pinMode(B, OUTPUT);
 pinMode(F, OUTPUT);
 pinMode(G, OUTPUT);
 pinMode(P, OUTPUT);
}

void loop() {
 // 0'dan 9'a kadar sayıları yazdırma döngüsü
 for (int i = 0; i <= 9; i++) {
 SayiYaz(i);
 delay(1000); // 1 saniye bekle
 }
}

void SayiYaz(int sayi) {
 // 7-segment ekran için sayıyı gösteren fonksiyon

 // Sayıları 7-segment ekran bağlantısına göre aydınlatma durumlarına göre kontrol edin
 switch (sayi) {
 case 0:
 digitalWrite(E, LOW);
 digitalWrite(D, LOW);
 digitalWrite(C, LOW);
 digitalWrite(B, LOW);
 digitalWrite(A, LOW);
 digitalWrite(F, LOW);
 digitalWrite(G, HIGH); // '0' rakamı için G segmenti HIGH olmalı
 break;
 case 1:
 digitalWrite(E, HIGH);
 digitalWrite(D, HIGH);
 digitalWrite(C, LOW);
 digitalWrite(B, LOW);
 digitalWrite(A, HIGH);
 digitalWrite(F, HIGH);
 digitalWrite(G, HIGH); // '1' rakamı için G segmenti HIGH olmalı
 break;
 case 2:
 // Diğer durumlar için segmentlerin durumlarını belirtin
 // (Kod daha fazla kesilerek kopyalanmış, daha sonra temizlik yapılabilir)
 digitalWrite(E, LOW);
 digitalWrite(D, LOW);
 digitalWrite(C, HIGH);
 digitalWrite(B, LOW);
 digitalWrite(A, LOW);
 digitalWrite(F, HIGH);
 digitalWrite(G, LOW);
 break;
 // Diğer rakamlar için de benzer şekilde durumları tanımlayın
 case 3:
 // ...
 break;
 case 4:
 // ...
 break;
 case 5:
 // ...
 break;
 case 6:
 // ...
 break;
 case 7:
 // ...
 break;
 case 8:
 // ...
 break;
 case 9:
 // ...
 break;
 }
}

Ortak katot 7 segment pin bağlantıları ve kodu1 nolu bacak ( E )=> arduino 2,2 nolu bacak ( D )=> arduino 3,3 nolu bacak => arduino 5V,4 nolu bacak ( C )=> arduino 4,5 nolu bacak ( DP )=> arduino 5,6 nolu bacak ( B )=> arduino 6,7 nolu bacak ( A )=> arduino 7,8 nolu bacak => arduino 5V,9 nolu bacak ( F )=> arduino 8,10 nolu bacak ( G )=> arduino 9 numaralı pinlere arduino pinine bağlayalım.

kodları ise şu şekil

int E=2; int D=3; int C=4; int P=5;
int B=6;int A=7; int F=8; int G=9;
void setup() {
pinMode(E, OUTPUT); pinMode(D, OUTPUT); pinMode(C, OUTPUT);
pinMode(A, OUTPUT); pinMode(B, OUTPUT); pinMode(F, OUTPUT); 
pinMode(G, OUTPUT); pinMode(P, OUTPUT); 
}
void loop() {
for(int i=0; i<=9;i++){
RakamYaz(i);
delay(1000);
}
}
void RakamYaz(int rakam)
{
switch(rakam)
{
case 0 :
digitalWrite(E,HIGH);
digitalWrite(D,HIGH); 
digitalWrite(C,HIGH); 
digitalWrite(B,HIGH); 
digitalWrite(A,HIGH); 
digitalWrite(F,HIGH); 
digitalWrite(G,LOW); 
break;
case 1:
digitalWrite(E,LOW);
digitalWrite(D,LOW); 
digitalWrite(C,HIGH); 
digitalWrite(B,HIGH); 
digitalWrite(A,LOW); 
digitalWrite(F,LOW); 
digitalWrite(G,LOW); 
break;
case 2:
digitalWrite(E,HIGH);
digitalWrite(D,HIGH); 
digitalWrite(C,LOW); 
digitalWrite(B,HIGH); 
digitalWrite(A,HIGH); 
digitalWrite(F,LOW); 
digitalWrite(G,HIGH); 
break;
case 3:
digitalWrite(E,LOW);
digitalWrite(D,HIGH); 
digitalWrite(C,HIGH); 
digitalWrite(B,HIGH); 
digitalWrite(A,HIGH); 
digitalWrite(F,LOW); 
digitalWrite(G,HIGH); 
break;
case 4:
digitalWrite(E,LOW);
digitalWrite(D,LOW); 
digitalWrite(C,HIGH); 
digitalWrite(B,HIGH); 
digitalWrite(A,LOW); 
digitalWrite(F,HIGH); 
digitalWrite(G,HIGH); 
break;
case 5:
digitalWrite(E,LOW);
digitalWrite(D,HIGH); 
digitalWrite(C,HIGH); 
digitalWrite(B,LOW); 
digitalWrite(A,HIGH); 
digitalWrite(F,HIGH); 
digitalWrite(G,HIGH); 
break;
case 6:
digitalWrite(E,HIGH);
digitalWrite(D,HIGH); 
digitalWrite(C,HIGH); 
digitalWrite(B,LOW); 
digitalWrite(A,HIGH); 
digitalWrite(F,HIGH); 
digitalWrite(G,HIGH); 
break;
case 7:
digitalWrite(E,LOW);
digitalWrite(D,LOW); 
digitalWrite(C,HIGH); 
digitalWrite(B,HIGH); 
digitalWrite(A,HIGH); 
digitalWrite(F,LOW); 
digitalWrite(G,LOW); 
break;
case 8:
digitalWrite(E,HIGH);
digitalWrite(D,HIGH); 
digitalWrite(C,HIGH); 
digitalWrite(B,HIGH); 
digitalWrite(A,HIGH); 
digitalWrite(F,HIGH); 
digitalWrite(G,HIGH); 
break;
case 9:
digitalWrite(E,LOW);
digitalWrite(D,HIGH); 
digitalWrite(C,HIGH); 
digitalWrite(B,HIGH); 
digitalWrite(A,HIGH); 
digitalWrite(F,HIGH); 
digitalWrite(G,HIGH); 
break;
}
}
 

Kodları uyguladığımızda 0 dan başlayarak 9 a kadar sayılar 1 er saniye aralıklarla gösterilecektir.Devreye 2 adet buton ekleyerek buton ile 7 segment display kontrolü yapabilir, buton ile sayıları arttırıp azaltabileceğiniz bir proje oluşturabilirsinizbugünki yazımızın sonuna geldik şahsen ben yaparken çok eğlendim siz de eğlendinizi?Bir sonraki yazımızda görüşmek üzere.

Paylaş
Tüm yazılara dön

Yorumlar

Bu yazıya henüz yorum yapılmamış. İlk yorumu siz yazın.

E-posta adresiniz yayınlanmaz. Yorumlar yayınlanmadan önce denetlenir.

Bu form Google reCAPTCHA ile korunmaktadır; Google Gizlilik Politikası ve Hizmet Şartları geçerlidir.

Benzer Yazılar

Hızlı Kargo Hafta içi saat 15:00 öncesinde oluşturduğunuz tüm siparişler aynı gün kargoya verilmektedir.
Güvenli Alışveriş Tüm bilgileriniz 256 Bit SSL sertifikasıyla korunmaktadır.
Uzman Teknik Servis Ürünleriniz için profesyonel bakım ve onarım.
Ücretsiz Kargo Belirli tutarın üzerindeki alışverişlerinizde kargo ücreti ödemezsiniz.

Bültenimize Abone Ol

Kampanya ve fırsatlardan ilk siz haberdar olun.

Kuruköprü Mah. Sefa Özler Cad. özden İşmerkezi kat 7/74 Seyhan / adana

Ödeme Yöntemleri

Visa Mastercard Banka Kartı World

©2017 - 2026 Tüm hakları saklıdır.