Merhaba arkadaşlar. Geçtiğimiz hafta sizlere arduino eğitim dersimizde #define ifadesinin hangi durumlarda kullanılacağı hakkında bilgi vermiştim. Bir önceki yazıma ve arduino eğitimleri yazılarıma ulaşabilirsiniz. Bu arduino eğitim yazımızda sizlerle diziler konusuna giriş yapacağız. Ancak önce belirtmek istiyorum ki herhangi bir yanlışlığa sebebiyet vermemek adına bizim şu anda işlediğimiz konular aslında C++ temellerini anlatan birer yazıdır. Şu anda henüz Arduino ile ilgili başlangıçta uyguladığımız LED yakma uygulaması dışında bir uygulama gerçekleştirmedik. C++ konusunda gerekli bilgi düzeyine eriştikten hemen sonra breadboard üzerinde uygulayacağımız projelere giriş yapacağız.
Arduino Eğitim
Hatırlatmamızdan hemen sonra konumuza girelim; Diziler genelde fazla kod yazmaktan kaçınılırken kullanılır ve kullanımı oldukça fayda sağlar. Ne yönden fayda sağlar diyecek olursanız fazla kod yazmanızı önler. Örnegin 4 farklı değeri saklamamız gerektiğinde ;
int deger1;
int deger2;
int deger3;
int deger4;
Şeklinde değişken tanımlaması yapabiliriz. Ancak başta belirttiğimiz zamandan tasarruf ve programımızın estetik görünümünü güzelleştirmek adına böyle bir durumda dizileri kullanmak kendi lehimize olacaktır. Yani yukarıda tanımladıgımız 4 değişkeni şu şekilde kısaca tanımlayabiliriz.
int degerler[4];
Burada 4 farklı int (integer) veri tipinde değer tanımlaması yapmış olduk.
Dizilerin değerlerini sonradan yada tanımladıktan hemen sonra atayabiliriz. Yani ;
int degerler[16] = {M,U,H,E,N,D,I,S,B,E,Y,I,N,L,E,R};
Burada köşeli parantezle 16 olarak kümemizde ne kadar eleman yer alacağını belirttik. Eğer saymaya üşeniyorsak şu şekildede yapabiliriz.
İnt degerler[] = {M,U,H,E,N,D,I,S,B,E,Y,I,N,L,E,R};
Köşeli parantezin içini boş bıraktığımızda dizinin (kümenin) boyutu otomatik olarak belirlenecektir.
Şimdi önemli bir noktaya değinelim. Tanımlamış olduğumuz değişkenlere erişim için köşeli parantez ile değişkenimizin sıra numarasını belirtiyoruz. Yani başta tanımladığımız yada boş bıraktığımız indis’i çağırma işlemi gerçekleştireceğiz. Dikkat edilmesi gerek husus indisin ‘0’ dan başladığıdır. Yani yukarıda yazdığımız 4 farklı değeri olan değişkenimizde(kümemizde) 4 numaralı elemana erişmek için köşeli parantez içinde [4] degilde [3] yazıyoruz. Yani ;
deger[0] => 1. Sıradaki degişken
deger[1] => 2. Sıradaki değişken
deger[3] => 4. Sıradaki değişken
Değişkenlerimize değer atama işlemini şu şekilde gerçekleştiriyoruz.
deger[0] = 90; => 1. Sıradaki degişkenimize 90 tamsayısını atadık.
Şimdi for döngüsünden yararlanarak tüm dizi elemanlarına erişim sağlamayı görelim ve dizilerle ilgili programımızı yazalım.
KOD BAŞLANGICI
/*
Değişken Tipleri - Diziler
For döngüsünden yararlanmak
Muhendisbeyinler.net
Hasan Basri Karakaya
*/
char harfler[16] = {'M','U','H','E','N','D','I','S','B','E','Y','I','N','L','E','R'}; // bknz char olarak tanımlanan yani harf içeren ifadeler tek tırnak arasına alınarak yazılır
int sayilar[4] = {1,3,5,7};
void setup(){
Serial.begin(9600);
}
void loop(){
for(char i = 0;i < 16; i++)
{
Serial.println(harfler[i]);
}
for(int i = 0;i < 4; i++)
{
Serial.println(sayilar[i]);
}
while(1); // Sonsuz döngü, program kilitlendi.
}
Programımızı yazıp Arduino’muza yükledikten sonra aşağıda verdiğim görüntüyle karşılaşacaksınız.
İsterseniz dizilerden faydalanarak 2 yazıdır üst üste üzerinde durduğumuz Serial Monitor aracılığı ile yine ekranımıza MUHENDISBEYINLER yazdıralım.
/*
Diziler yardımıyla Serial Monitorde yazı yazdırma
Muhendisbeyinler.net
Hasan Basri Karakaya
*/
char harfler[] = {'M','U','H','E','N','D','I','S','B','E','Y','I','N','L','E','R'};
void setup(){
Serial.begin(9600);
}
void loop(){
int i;
for(i = 0; i<16; i++){
Serial.print(harfler[i]);
delay(250); // 250 ms aralıklarla her bir harfi ekrana gönder
}
while(1); // bu işlemi bir kere yap ve bir daha yapma - Programı kilitledik
}
Ekranımızda görülecek yazıyı aşagıdaki resimde görebilirsiniz.
Sizler için hazırladığım arduino eğitim – diziler videom.
Kodları yorum kısmından kopyalayabilirsiniz. Bu arduino eğitim yazımızda sizlere Diziler den bahsettik. Bir sonraki yazımızda görüşmek üzere, hoşçakalın!