Değişkenler ve Değişken Tipleri (Arduino Programlama, 3) Featured

Rate this item
(1 Vote)

Değişkenler, girdiğimiz değerleri alan veya programın çalışmasıyla bazı değerlerin atandığı veri tutuculardır. Programlama dillerinde değişken konusu önemlidir. Özellikle arduino gibi küçük bir hafızaya sahip bir kart için değişken tanımlamalarına dikkat etmeliyiz. Kullanacağımız değere göre farklı tiplerde değişkenler tanımlayabiliriz. Şimdi en çok kullanılan değişken tiplerinden ve kullanımlarından bahsedelim.

Değişken tiplerinden bahsetmeden önce değişkenlere isim verirken dikkat etmemiz gereken noktaları inceleyelim.

Değişkene isim verirken dikkat edilmesi gereken noktalar:
Değişkene isim verirken Türkçe karakter kullanılmaz (ç,ğ,ı,İ,ö,ş,ü)
Değişken isimlerinde boşluk kullanılmaz.
Değişken isimlerinde büyük küçük harf duyarlılığı vardır. Yani ortalama değişkeni ile ORTALAMA değişkeni farklı algılanır.
Alt çizgi ile başlamaz, özel karakter içeremez, mutlaka harf ile başlamalıdır.
Programlama diline ait komutlar değişken ismi olarak tanımlanamaz. (not, or, and gibi)

 

Değişken tanımlama:  int a=15;   Burada yer alan int değişken tipini, a değişken adını, = değişken atama operatörünü, 15 değişkenin değerini temsil eder.

 

 

Başlamadan önce bilgisayardaki en küçük birimin bit olduğunu ve bunun 0 ve 1 lerden herhangi birini temsil ettiğini hatırlatalım.

8 bit =1 byte

1024 byte=1 Kilobyte

1024 Kilobyte= 1 Megabyte

1042 megabyte=1gigabyte

Arduino uno 32 kilobyte hafızaya sahiptir.

 

 

 

Değişken Tipleri

https://www.arduino.cc/reference/en/#variables

Değişken Tipi


Bellekte Kapladığı Boyut(byte)

Değişkenin Alacağı Aralık

Açıklama

int

2

-32768 ile 32767 arasında

Negatif tam sayıları da içerir.

unsigned int

2

0 ile 65535 arasında

Belirtilen değer ile gösterilen pozitif tamsayılar

long

4

-2147483648 ile 2147483647 arasında

Negatif tam sayıları da içerir.

unsigned long

4

0 ile 4294967295 arasında

Belirtilen değer ile gösterilen pozitif tamsayılar

char

1

-128 ile +127 arasında

işaretli -128 ile +128 arasındaki sayılar veya tek bir karakter. Sayıları ascii kodlarına göre karaktere dönüştürür.

string

boyutu karakter sayısına göre değişkenlik gösterir

Karakter (metin)

tırnak işareti(” “) içerisine yazılan karakter dizisidir. Örneğin;

“Merhaba”

byte

1

0 ile 255 arasında

0 ile 255 arasında tam sayılar

float

4

-3.4028235E+38 ile 3.4028235E+38 arasında

ondalık sayılar

double

4

-3.4028235E+38 ile 3.4028235E+38 arasında

float veri tipiyle aynı. (arduino için)

boolean

1

true(1) ya da false(0)

mantıksal

 Global ve Yerel değişkenler

Değişken tanımlarken programın tamamında geçerli olan bir değişken tanımlamak istiyorsak bunu setup bloğunun üstünde yapmalıyız. Aksi halde setup içinde tanımladığımız değişkeni loop bloğu içinde kullanamayız. Setup bloğu içinde tanımlanan bir değişken sadece o blokta kullanılır.

 

void setup() {
int a=5;
Serial.begin(9600);
}
void loop() {
  Serial.println(a);
}

 programı çalışmayacaktır. int a=5; satırını programın ilk satırına kaydırırsak çalışacaktır.

 

int a=5;
void setup() {
Serial.begin(9600);
}
void loop() {
  Serial.println(a);
}

Char değişken tipi

8 bit yani 1 bytelık değişkendir. Bir karakter verisi bulundurur.

 

char a=65;
void setup() {
Serial.begin(9600);
}
void loop() {
  Serial.println(a);
}

Bunun çıktısı A olacaktır. Çünkü ascii kod tablosuna göre 65 sayısı A harfini temsil etmektedir.

 

Diziler

Diziler programlama dillerinde çok kullanılan bir değişken yapısıdır. Normalde bir değişkenin bir değer tutabileceğini belirtmiştik. Dizilerde ise birden fazla değer tutabilmektedir.
Tek boyutlu dizi örneğiyle devam edelim:
Kullanımı:
int sayilar[5] = {10,15,20,25,30};
Değişken tipi int yani tam sayı olan 5 değer tutan sayilar isminde bir dizi tanımladık. Burada dikkat edilmesi gereken nokta, dizilerden değer okurken her bir değerin bir indis numarasının olmasıdır. 5 değerden oluşan yukarıdaki dizide, 10 sayısını ekrana yazdırmak için (seri porta göndermek için) Serial.println(sayilar[0]);  ifadesini kullanırız. Yani dizilerde indis numaraları 0’dan başlar ve bir artarak devam eder. Aynı örnekte 30 sayısını ekrana yazdırmak için Serial.println(sayilar[4]); ifadesini kullanırız.
Somutlaştırmak adına şöyle bir tablo çizebiliriz.

int sayilar[5]={10,15,20,25,30}; //sayilar isminde 5 değerden oluşan bir dizi tanımladık
void setup() {
Serial.begin(9600); //seri ekran başlatıldı
}
void loop() {
Serial.println(sayilar[0]); //dizinin 0 indis numaralı değerini ekrana yazdırdık yani 10
delay(2000);  //2 saniye bekle
Serial.println(sayilar[4]); //dizinin 4 indis numaralı değerini ekrana yazdırdık yani 30
delay(2000);
}

sayilar

İndis no

Değer

0

10

1

15

2

20

3

25

4

30

 

İki boyutlu diziler: Tek boyutlu dizilerle aynı mantıkta kullanılmaktadır. Burada keypad örneğine bakabilirsiniz. for döngüsünü anlattıktan sonra, for döngüsü ile dizileri birlikte kullanacağız.

 

 

Konuyla ilgili aşağıdaki youtube videolarını izleyebilirsiniz.

Lezzetli Robot Tarifleri

https://www.youtube.com/watch?v=lsksPnHu22k

Sen de Kod yaz

https://www.youtube.com/watch?v=vMsaeRlNR_8

 

CTRL Bizde

Kendi halinde bir kaç kişiyiz,. Karşılaştığımız sorunları çözmek için bazen "çok zaman" harcadığımızı fark edip

devamı

Yeni Eklenenler