Arduino ile 8x8 matris kayan yazı devresini yapacağız. Bu devrede yazılar yukarı doğru kayarak geçiş yapacaktır.Bu devremizin yapılışını adım adım anlatacağız ve istediğimiz çıktıyı verebileceğiz. Bu devremiz çok basit gibi görünsede yapılışı olduğunca zordur. Zor olan kısmı ise led bağlantılarını yapmaktır. Led bağlantılarının yapılır şekli aşağıdaki gibidir : Burada bacakların önünde hangi numara yazıyorsa arduino üzerinde oraya bağlantımızı yapacağız.
24,60,102,126,102,102,102,0,0,0, // A 124,102,102,124,102,102,124,0,0,0, // B 60,102,96,96,96,102,60,0, 0,0, // C 120,108,102,102,102,108,120,0, 0,0, // D 126,96,96,120,96,96,126,0, 0,0, // E 126,96,96,120,96,96,96,0, 0,0, // F 60,102,96,110,102,102,60,0, 0,0, // G 102,102,102,126,102,102,102,0, 0,0, // H 60,24,24,24,24,24,60,0, 0,0, // I 30,12,12,12,12,108,56,0, 0,0, // J 102,108,120,112,120,108,102,0, 0,0, // K 96,96,96,96,96,96,126,0, 0,0, // L 99,119,127,107,99,99,99,0, 0,0, // M 102,118,126,126,110,102,102,0, 0,0, // N 60,102,102,102,102,102,60,0, 0,0, // O 124,102,102,124,96,96,96,0, 0,0, // P 60,102,102,102,102,60,14,0, 0,0, // Q 124,102,102,124,120,108,102,0, 0,0, // R 60,102,96,60,6,102,60,0, 0,0, // S 126,24,24,24,24,24,24,0, 0,0, // T 102,102,102,102,102,102,60,0, 0,0, // U 102,102,102,102,102,60,24,0, 0,0, // V 99,99,99,107,127,119,99,0, 0,0, // W 102,102,60,24,60,102,102,0, 0,0, // X 102,102,102,60,24,24,24,0, 0,0, // Y 126,6,12,24,48,96,126,0, 0,0, // Z
Örneğin: bizim programımızda istediğimiz yazıyı yazmak için AZKOD yazısını yazmak için kullanacağımız kod aşağıdaki gibidir. Sizde bu koda bakarak istediğiniz yazıyı yazabilirsiniz.
// ilk satırda ve son satırda matrixi boş bırakıyoruz. İsterseniz bırakmayabilirsiniz.
char karakter[] = {0,0,0,0,0,0,0,0,0,0,0,
24,60,102,126,102,102,102,0,0,0,
126,6,12,24,48,96,126,0,0,0,
102,108,120,112,120,108,102,0,0,0,
60,102,102,102,102,102,60,0, 0,0,
120,108,102,102,102,108,120,0, 0,0,
0,0,0,0,0,0,0,0,0,0,0};
Şimdi Gelelim En önemli Kısma Kod kısmında kaç karakterli yazımız olacağını belirliyoruz. Şuan bizim AZKOD yazdıracağız 5 karakterimiz var birde ilk ve son satırda boş bıraktık yani toplam 7 satırımız var. Biz döngümüzün nereye kadar devam edeceğini satırlarımıza göre belirliyoruz. Döngümüzün kaç olacağı Satır sayısı * 10 - 8 olarak belirlenir. Bizim 7 satırımız vardı yani 7*10-8 = 62 'ye kadar döngümüz devam edecek.
//bu kısım çok önemli yoksa yazınızı yazar ve saçma sapan karakterler çıkabilir.
for(int x=0;x<52;x++) //7 satır *10 -8 = 62
{……..
char cikis[8] = {8,9,10,11,12,13,A0,A1};
char karakter[] = {0,0,0,0,0,0,0,0,0,0,0,
24,60,102,126,102,102,102,0,0,0,
126,6,12,24,48,96,126,0,0,0,
102,108,120,112,120,108,102,0,0,0,
60,102,102,102,102,102,60,0, 0,0,
120,108,102,102,102,108,120,0, 0,0,
0,0,0,0,0,0,0,0,0,0,0};
void setup()
{
for (int x=8;x<14;x++)
{
pinMode(x, OUTPUT);
}
pinMode(A0, OUTPUT);
pinMode(A1, OUTPUT);
for (int i=0;i<8;i++)
{
digitalWrite(cikis[i],HIGH);
}
DDRD = 0xFF;
PORTD =0;
}
void loop()
{
for(int x=0;x<52;x++)
{
for(int a=0;a<20;a++)
{
for (int i=0;i<8;i++)
{
digitalWrite(cikis[i],LOW);
PORTD = karakter[i+x];
delay(1);
digitalWrite(cikis[i],HIGH);
}
}
}
delay(1000);
}
Önceki Ders: Arduino ile 7 Segment 0-9 Geri Sayıcı | Sonraki Ders: Arduino ile Havaya Yazı |