Arduino Arduino Dersleri Gömülü Sistemler

Arduino Ders#4 Arduino’da kullanılan Değişken Tipleri

Program yazarken en çok kullandığımız elemanlardan biri de değişkenlerdir.Değişkenler, program içinde kullanılan verilerin saklandığı hafıza alanlarına,  program yazarken verdiğimiz  sembolik isimlerdir.

Değişkenler tanımlanırken tipleri de belirtilmesi gerekir. Değişken tipini doğru tanımlamak hafıza kullanımı açısından önemlidir. Çünkü her değişken tipine göre program içerisinde 1 ile 4 bayt arasında yer kaplar.

Öncelikle bilmemiz gereken basit “bit, byte,” tanımlamalarını ifade edelim:

byte 8 bitlik veri tutar. Makine dilinde veriler 0 ve 1’ler ile saklanır. Mesela, 01101001 verisi aslında bir sayının makine dilinde karşılığıdır. Buradaki 0 ve 1’lerin her biri bir bittir.

Byte kullanımına örnek verecek olursak;

byte x=21;,

Dolayısıyla her byte : 0 ile 255 arası değer alır.

DEĞİŞKEN TİPLERİ

1492256554.png

Her şeyde olduğu gibi değişken tanımlamanın da bazı kuralları vardır. Bunlar;

  • Değişken adı sayı ile başlamaz ancak sayı içerebilir
  • Değişken adları Türkçe karakter içermez,
  • Değişken adları özel karakter içermez,
  • Değişken adları alt tire ile başlamaz ancak alt tire içerebilir,
  • Değişken adları boşluk içermez.

1) boolean: Tek bitlik bir değişkendir. İçerisinde sadece 0 veya 1 verilerini barındırabilir. Yani TRUE veya FALSE. Eğer bir yerde yalnızca iki ihtimal varsa bu veri tipini kullanabiliriz. Kısaca bool şeklinde de tanımlama yapılabilir. Kişinin isteğine bağlıdır.

bool durum;
bool led1=TRUE;

2) byte: 8-bit negatif işaretsiz sayıyı içerisinde tutar. Bu da 0-225 arasına denk gelir.Not: 1 byte 8 bitlik veri tutar. Makine dilinde veriler 0 ve 1’ler ile saklanır. Mesela, 01101001 verisi aslında bir sayının makine dilinde karşılığıdır. Buradaki 0 ve 1’lerin her biri bir bittir.Byte kullanımına örnek verecek olursak;

byte x=21;

3) int: Uzun ismi Integer’dır ve tamsayı anlamına gelir.16-bit yani 2 byte’lık alan kaplar. Byte veri tipine göre çok daha büyük sayılar barındırabilir. Tutabildiği sayı aralığı ise -32,768 ile 32,767‘dir.Tam sayıları saklamak için en sık kullanılan veri tipidir. Arduino Due gibi 32-bit sistemlerde 32 bit yani 4 byte’lık veri tutarak -2,147,483,648 ile 2,147,483,647 arasındaki sayıları içinde barındırabilir.

int deger=96;

4) unsigned int:Integer veri tipi ile aynı özelliklere sahiptir. Yalnız negatif değerlere yer vermediği için, negatif değer için ayırdığı hafızayı pozitif değere ekleyerek 0 ile 65,535 arası değer alabilir. 32-bit sistemlerde ise 0 ile 4,294,967,295 arasında değer alabilir.

unsigned int sayi=146798;

5) char: Bir byte yani 8-bit genişliğindedir. İçinde karakter verisi bulundurur. -128’den 127‘ye kadar sayı verisi alabilir. Karakter değerleri numara şeklinde saklanmaktadır. Bunun anlamı da karakter değerleri üzerinde aritmetik işlem yapabileceğinizdir. Herhangi bir karakterin sayı değerini öğrenmek isterseniz ASCII tablosuna bakmalısınız. char değişkenine değer harf veya sayı olarak verilebilir.

char karakter = 'T';
char karakter = 84;

Bu kod satırlarının ikisi de aynı anlama gelmektedir.

ascii table4.xlsx
ASCII Tablosu

6) unsigned char:Negatif işareti olmayan char değişkeni tanımlar. Karakter verileri negatif değerler almazlar. Dolayısıyla char değişkeni sadece 127’ye kadar değer alabilir. unsigned char ile farklı karakter verilerine erişim olsa da Arduino dilinde byte verisiyle aynı anlama gelir ve 0 ile 255 arasında değer alır.

unsigned char karakter3 = 247;

7) word:Uno ve Atmega mikrodenetleyici bulunduran kartlarda unsigned int ile aynı özelliğe sahiptir. Fakat Due ve Zero kartlarda 32 bitlik negatif işaretsiz veri depolayabilir.

word deger=1200;

8) long:Tanımlayacağımız sayı çok uzunda bu tip bir değişken işimizi görecektir. 32 bitlik yani 4 byte’lık yer kaplayan bu veri tipi -2,147,483,648 ile 2,147,483,647 arasında değer alabilir.

long uzunsayi;

9) unsigned long: long veri tipinin negatif işareti kaldırılmış versiyonu da diyebiliriz. Yine long gibi 32 bitlik yer kaplar fakat negatif işaret için ayrılmış kısmı pozitifte de kullanabileceğimiz için 0 ve 4,294,967,295 arası bir tamsayı değeri atayabiliriz.

unsigned long cokuzunsayi=4325283;

10) float:Bu veri tipi ondalık sayıları da içinde barındırır. Eğer bir işlemde virgülden sonra da sayı varsa değişkenimizi bu veri tipiyle atamak zorundayız. float değişkeni -3.4028235E+38 ile 3.4028235E+38 arasında ondalık değer alabilir. Bu değer hafızada 32 bitlik yer tutar. float değişkeninde en fazla 6 veya 7 hane bulunabilir. Daha uzunu için double kullanmak lazımdır.

float sensor=3.2354;

11) double:Arduino’nun ATMEGA tabanlı kartlarında float değişkeninden farksızdır. Due kartında 64 bitlik yer tutar ve saklayabildiği ondalık sayı çok daha yüksek olabilir.double ondalikdeger=2.4323;

Özetlersek :

TipBoyut(byte)AralıkAçıklama
int2-32768 ile 32767 arasındaişaretli tamsayılar
unsigned int20 ile 65535 arasındapozitif tamsayılar
long4-2147483648 ile 2147483647 arasındaküçük negatif ve büyük pozitif tamsayılar
unsigned long40 ile 4294967295 arasındapozitif tamsayılar
char1-128 ile +127 arasındaişaretli -128 ile +128 arasındaki sayılar veya tek bir karakter
stringboyutu karakter sayısına göre değişkenlik gösterirkarakterlerden oluşan dizitırnak işareti(” “) içerisine yazılan karakter dizisidir. Örneğin;“2016 ya Merhaba Dünya!”
byte10 ile 255 arasında0 ile 255 arasında tam sayılar
float4-3.4028235E+38 ile 3.4028235E+38 arasındaondalık sayılar
double4-3.4028235E+38 ile 3.4028235E+38 arasındaondalık sayılar (arduinoda float ile double aynı aralığa sahiptir)
boolean1true(1) ya da false(0)mantık ifadelerinde kullanılırlar

Kaynaklarhttps://www.muhendisbilim.com/510-arduino-degiskenler-ve-kullanimlari
                    https://teknobolge.com/iot/arduinoda-veri-tiplerinidegiskenleri-ele-aldik&nbsphttps://koddefteri.net/arduino/temel-arduino-dersleri/arduino-degiskenler-ve-veri-tipleri.html https://bariscincorop.blogspot.com/2017/04/arduino-14-veri-tipleri.html

Similar Posts

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir