Öncelikle 7 segment display nedir?
7 segment display ledlerden oluşan ortak anot veya katot uclarına sahip elemanlardır.0-9 arası sayısal ifadeleri göstermek için kullanılır.Genel olarak dijital saat, takvim vs sayıcı devrelerinde sıklıkla kullanılmaktadır.
ORTAK KATOT - ORTAK ANOT |
Yukarıda
ki resimde 7-segment displayin iç yapısında ki led bağlantılarının verildiğini
görüyoruz . Eğer ortak uç katot ise gnd , ortak uç anot ise 5V girişine
bağlıyoruz.Ben burada ortak uç katot kullanacağım. Uygulama için gerekli olan malzemelerimiz
- 1 adet arduino uno
- Breadboard
- 1 adet 7 segment display
- 2 adet 220 ohm direnç
- Yeteri kadar jumper kablo
Uygulamamızda 0 ile 9 arasındaki çift sayıları gösteren devre yapacağız. Şekildeki bağlantılarımızı yapıp kod kısmına geçebiliriz.
PROGRAMIN KODLARI
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
int f = 6;
int g = 7;
void setup()
{
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
}
void rakamyaz(int rakam)
{
switch(rakam)
{
case 0 :
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
break;
case 2:
digitalWrite(a, HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
break;
case 4:
digitalWrite(a, LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
case 6:
digitalWrite(a, HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
case 8:
digitalWrite(a, HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
}
}
void loop(){
for(int i=0; i<=9;i++){
rakamyaz(i);
delay(1000);
}
}
Hiç yorum yok:
Yorum Gönder