Arduino Eğitim: Değişken Tiplerine Giriş

0
3117
Arduino Eğitim Değişken Tipleri

Herkese tekrardan merhaba. Bu yazımızda değişken tiplerine giriş hakkında bilgiler vereceğim. Girişe başlamadan önce belirtmek istiyorum ki değişken tiplerini tam olarak kavramak için değişken tiplerini tam olarak anlayıp ne işe yaradıklarını iyi analiz etmek gerekiyor. Arduinomuzun 8 bitlik bir mikrodenetleyici oldugunu göz önünde bulundurursak kullanacagımız değişkenlerin boyutlarının bizim için ne derece önemli oldugunu bir kez daha gözler önüne serebilmiş oluruz.

Arduino Eğitim

Kısaca arduino eğitim için girişimizi yaptıktan sonra değişken tiplerinin kendilerinin nasıl seçilmesi gerektigindende bahsedelim. Arduino değişken tiplerimizi seçerken bizim neye ihtiyacımız oldugunu ve değişken tipinin bize neler sunduğunu bilmemiz gerekiyor. Mesela biz ondalık sayılarla işlem yapacaksak yani sayılarımızda virgül barındıracaksak değişken tipi olarak “float” kullanmamız gerekiyor. Aşağıda vereceğim resimde değişken tiplerinin detaylı bir şekilde görüp inceleyebilirsiniz.

 

Değişken tipi gelişi güzel seçilirse ne olur?

Değişken tiplerinin gelişigüzel seçilmesi proğramlarınızda taşmalara ve hatalı sonuçlara sebebiyet verecektir. Buda her programcının karşılaşmak istemedigi bir olaydır.

Değişken tiplerini nasıl seçmeliyim?

Bu sorunun kısa cevabını giriş yaparken belirtmiştim. Şimdi ise detaylı bir şekilde bu konuya deginelim. Örneğin tamsayılarla işlem yapmak istiyorsanız yani sizin işlem yapacağınız sayılar tamsayılarsa bu durumda seçmeniz gereken değişken tipine en uygun aday “int” degişken tipidir. Neden sorusunu soranlar içinse resimde paylaştığımız “int” değişkeni -32768 ila 32767 aralıgındaki degerler alabiliyor. Bu durumda tamsayılar üzerinde çalışılabilecek en uygun değişken tipi “int” haline dönüşüyor.

Sadece 0 ve 255 arasındaki tam sayılarla çalışmak istiyorum, ne yapmalıyım?

Bu durumda ise “int” değişken tipi yine kullanılabilir. Sizlerde değişken tiplerine dair biraz mantık geliştirmek için “int” in neden kullanılmaması gerektiğini anlatacağım. Yani şöyle bir durum söz konusu “int” kullanmak programda her hangi bir hataya sebebiyet vermeyecektir ancak “int” degişkenin boyutu resimdede görüldüğü gibi 4 KB dır. Ancak bu durumda biz 0-255 aralıgında değer alabilen “byte” 1 KB boyutunda ki değişken tipini kullanırsak 3KB kazanç sağlamış oluruz. Arduinomuzun kısıtlı bir işlemcisinin olmasını göz önüne alırsak uygun değişkeni seçip alandan kazanmak en büyük kârımız olacaktır.

Değişken tiplerini oluştururken dikkat edilmesi gerekenler nelerdir?

Degişken isimleri rakamlarla başlamamalıdır ayrıca değişken isimlerinde türkçe karakter içermemelidir. Örnegin (ö,ç,ş).. vs gibi. Değişken isimleri ayrık yazılmamalıdır. Örneğin sayı 1c (Arada boşluk olduğu için yanlış bir kullanımdır.)

Bu kadar bilgiden hemen sonra hadi değişkenlerle ilgili ilk programımızı yazalım! Sitemizde yazı kopyalamak bazı nedenlerden dolayı yasaktır. Bu yüzden kodları yorum kısmına kopyalacağım. Oradan kopyalayabilirsiniz.

/* Degişken kullanım örnegimiz-1

www.muhendisbeyinler.net

Hasan Basri Karakaya

*/

int sayi1 = 8; // 1. sayımızı 8 olarak seçtik.

int sayi2 = 5; // 2. sayımızı 5 olarak seçtik

int sonuc; // bu sayılarla yapacagımız işlemlerin sonucu içinse sonuc fonksiyonunu cagıracagız.

long int buyuksayi = 0;

void setup(){

Serial.begin(9600); // Seri haberleşme hızını 9600 olarak belirledik

}

void loop(){

Serial.print("8+5="); // 8+5= kısmını ekrana yazdırıyoruz.

sonuc = sayi1 + sayi2; // sayi1 ve sayi2 yi toplattık

Serial.println(sonuc); // sonuc fonksiyonumuzu okutuyoruz.

sayi1 = 1500; // sayi1'e 1500 degerini verdik

sayi2 = 1200; // sayi2'ye 1200 degerini verdik

sonuc = sayi1 * sayi2; // sayi1 ve sayi2 yi çarpıyoruz.

Serial.print("1500*1200="); // 1500*1200= kısmını ekrana yazdırıyoruz.

Serial.println(sonuc); // sonuc fonksiyonunu ekrana yazdırıyoruz

 

// Degisken tipi kullanılmadan yaptıgımız islemler

Serial.print("Donusum yapilmadan 1500*1200=");

buyuksayi = sayi1 * sayi2; // sayi1 ve sayi2 yi çarpıyoruz.

Serial.println(buyuksayi); // sonucu ekrana yazdiriyoruz.

/*

Yukarıda yaptıgımız işlemlerin tamamının sonucu yanlış çıkacaktır.

sebebi ise degişken tiplerini uygun şekilde kullanmamış olmamızdır.

şimdi aşagıda degişken tiplerini düzgün bir şekilde kullanarak,

dogru sonucu ekrana yazdıracagız.

*/

Serial.print("Donusum yapilarak 1500*1200=");

buyuksayi = (long)(sayi1) * (long)(sayi2);

/*

sayi1 ve sayi2 nin önlerinden yer alan (long) degiskenimiz bu sayilari o türe dönüştürüyor.

bu sayede dogru sonucu elde etmemizi sagliyor.

*/

Serial.println(buyuksayi);

 

while(1); // programımızı kitledik.

 

}

Programımızda neler yaptığımızı yanlarına yorum kısımları açarak belirttim. Eğer yine anlamadığınız bir kısım olursa yorum üzerinden sorabilirsiniz. Degişken tanımlamaları ile ilgili ilk yazımızın sonuna geldik, bir sonraki yazımızda görüşmek üzere esen kalın.  Arduino ile ilgili diğer yazılarımızı Arduino kategorisinden takip edebilirsiniz.

Paylaşır mısınız?
Önceki İçerikTürkiye’nin ürettiği Uçaklar: Etimesgut uçak Fabrikası
Sonraki İçerikRobotik Yazı Saati – gif
Hasan Basri Karakaya
Şu anda eğitimimi Kahramanmaraş Sütçü İmam Üniversitesi Elektrik-Elektronik Mühendisliği bölümünde sürdürmekteyim. Üzerinde çalışmalar yürütüp bir şeyler öğrenmeye çalıştığım ve bu bilgileri paylaşmak istediğim 2 alan var. Bunlar Gömülü Sistemler ve Tıp Elektroniği alanlarıdır. Genç bir mühendis adayı olarak yenilikleri takip edip teknolojiye ayak uydurmaya çalışıyorum. Saygılarımla.

Düşünceleriniz Nedir?