7 Segment Led Ekran Uygulaması
7 Segment Led Ekran Uygulaması

7 Segment Led Ekran Uygulaması

Bu uygulamada bir 7 segment led ekran ile sayıcı denemesi yapacağız.

Youtube Channel: 

7  Segment ekran ortak katot bir ekrandır. Arduino kartın dijital pinlerini kullanarak ekranın ledlerini yakacağız.

7 segment ekranın 10 adet pini vardır. Bunlar: a, b, c, d, e, f, g, nokta ve iki adet Katot(GND) ucudur.

a, b, c, d, e, f, g, nokta pinleri, Arduino kartın dijital çıkış pinlerine 1K’lık dirençlerle bağlanmıştır. a, b, c, d, e, f, g, nokta pinleri, kartın d13, d12, d11, d10, d9, d8, d7, d6, d4 dijital çıkışlarına bağlanmıştır.

Arduino kod ekranında, her rakam için bir dizi tanımladık ve hangi ledleri yakacağımızı belirttik. Aşağıdaki kodlarda ise bir “for” döngüsü yardımıyla, bu dizi içindeki değerleri “digitalWrite” komutuyla dışarı aktardık.

Arduino kodları aşağıda : 

//--------- -{a,b,c,d,e,f,g,dot}
  int s0[] = {1,1,1,1,1,1,0,0};
  int s1[] = {0,1,1,0,0,0,0,0};
  int s2[] = {1,1,0,1,1,0,1,0};
  int s3[] = {1,1,1,1,0,0,1,0};
  int s4[] = {0,1,0,0,1,1,1,0};
  int s5[] = {1,0,1,1,0,1,1,0};
  int s6[] = {1,0,1,1,1,1,1,0};
  int s7[] = {1,1,1,0,0,0,0,0};
  int s8[] = {1,1,1,1,1,1,1,0};
  int s9[] = {1,1,1,1,0,1,1,0};
  int s10[]= {1,1,1,1,1,1,0,0};
  
void setup()
{
  
  pinMode(13, OUTPUT);  // a 
  pinMode(12, OUTPUT);  // b 
  pinMode(11, OUTPUT);  // c 
  pinMode(10, OUTPUT);  // d 
  pinMode(9, OUTPUT);    // e 
  pinMode(8, OUTPUT);  // f
  pinMode(7, OUTPUT);  // g 
  pinMode(6, OUTPUT);  //DOT LED  <-----------
  
 }
void loop()
{
  // test routing-----------------------
  for(int i=6;i<14;i++)  {
    digitalWrite(i,HIGH); delay(50);digitalWrite(i,LOW);
    }
    for(int i=14;i>5;i--)  {
    digitalWrite(i,HIGH); delay(50);digitalWrite(i,LOW);
    }
// test routing-----------------------END

for(int i=1;i<10;i++) { digitalWrite(14-i,s0[i-1]); delay(50);digitalWrite(14-i,s0[i-1]);}; delay(100);
for(int i=1;i<10;i++) { digitalWrite(14-i,s1[i-1]); delay(50);digitalWrite(14-i,s1[i-1]);}  delay(100);
for(int i=1;i<10;i++) { digitalWrite(14-i,s2[i-1]); delay(50);digitalWrite(14-i,s2[i-1]);}    delay(100);
for(int i=1;i<10;i++) { digitalWrite(14-i,s3[i-1]); delay(50);digitalWrite(14-i,s3[i-1]);}; delay(100);
for(int i=1;i<10;i++) { digitalWrite(14-i,s4[i-1]); delay(50);digitalWrite(14-i,s4[i-1]);}  delay(100);
for(int i=1;i<10;i++) { digitalWrite(14-i,s5[i-1]); delay(50);digitalWrite(14-i,s5[i-1]);}    delay(100);
for(int i=1;i<10;i++) { digitalWrite(14-i,s6[i-1]); delay(50);digitalWrite(14-i,s6[i-1]);}; delay(100);
for(int i=1;i<10;i++) { digitalWrite(14-i,s7[i-1]); delay(50);digitalWrite(14-i,s7[i-1]);}  delay(100);
for(int i=1;i<10;i++) { digitalWrite(14-i,s8[i-1]); delay(50);digitalWrite(14-i,s8[i-1]);}    delay(100);
for(int i=1;i<10;i++) { digitalWrite(14-i,s9[i-1]); delay(50);digitalWrite(14-i,s9[i-1]);}; delay(100);   
}