Eğitim3: Arduino’ da Veri Tipleri

Merhaba arkadaşlar. Bugün kü yazımızda veri tiplerini tanıyacağız.

Kaliteli kod yazabilmek amacılığı ile veri tiplerine hakim olmak gerekiyor.

Örneğin bir inşaatta 2 işçinin yapabileceği küçük bir işi 10 işçiye yaptırırsak, 8 işçi gereksiz yere bekleyecek. Maliyet kaybı ve gereksiz kaynak kullanımına sorun açılmış olunacak. Böyle bir durum, mühendislik disiplinine tamamen ters düşmektedir.

Arduino gibi elektroniksel kontrollerin yapıldığı devrelerde hafızayı verimli ve doğru kullanmak, özellikle real time çalışılan projelerde, çok kritik bir durumdur. Bu konunun açıklığına ulaşılmadan kod yazılması taraftarı değilim.

O yüzden lafı daha uzatmadan hemen başlayalım..

Öncelikle bit-byte kavramlarını bir çözelim.

Bilgisayar ve sistemlerinde her şey 1 ve 0 olarak saklanıyor, bunu bildiğimizi umuyorum.

1 ve 0 ayrı ayrı birer bitler olmak üzere;

8 bit bir araya gelerek 1 bayt oluşturur.

1024 byte bir araya gelerek 1 kilobayt oluşturur.

1024 kilobayt bir araya gelerek 1 megabayt oluşturur.

1024 megabayt bir araya gelerek 1 gigabayt oluşturur.

1024 gigabayt bir araya gelerek 1 terabayt oluşturur.

1024 terabayt bir araya gelerek 1 petabayt oluşturur.

1024 petabayt bir araya gelerek 1 eksabayt oluşturur.

…… diye devam eder. Gerisi arduino için önemli değildir 🙂

Genel anlamda veri tiplerini 2 ye ayırırsak,

Sayısal Veri Tipleri

1.İnteger (Kullanımı: int)

int bir data tipi 2 byte’lık kod alanına sahip olup  -32768 ile 32767 arasındaki negative veya pozitif tam sayı değerlerini barındırır.

2. Pozitif İnteger (Kullanımı:unsigned int)

unsigned int bir data dipi 2 byte’lık kod alanine sahip olup 0 ile 65535 arasındaki pozitif tam sayı değerlerini barındırır.

3. Long (Büyük tam sayı) (Kullanımı: long)

long data tipi 4 byte’lık kod alanine sahip olup -2147483648 ile 2147483647 arasındaki pozitif ve negatif sayı değerlerini barındırır.

4. Pozitif Long (Büyük pozitif tam sayı) (Kullanımı: unsigned long)

unsigned long data tipi 4 byte’lık kod alanine sahip olup 0 ile 4294957295 arasındaki pozitif tam sayı değerlerini barındırır.

Yani long tipinin 0 dan sonrasını 2 ile çarparak 0 ile 2*(long’un 0 dan sonraki max sayısı) aralığındadır.

5. Float ve Double (Kesirli sayı) (Kullanımı: float / double )

float  data tipi 4 byte’lık kod alanina sahip olup 3.4028235E+38 ile -34028235E+38 arasındaki kesirli sayıları barındırır.

double data tipi 4 byte’lık kod alanina sahip olup float ile aynı arlığa sahiptir ve Arduino da float’ın bir diğer ismidir.

6. Boolean – Mantıksal Kontrol (Kullanımı: boolean)

boolean data tipi 1 byte’lık kod alanine sahip olup fals ( 0 ) yada true ( 1 ) değerlerini saklar. Belki en önemli tip bu diyebilirim. Diğerleri de mutlaka önemlidir ama. Bool tipi ile mantıksal bir sonuçlama, karar verme işlemleri yapılmaktadır.

Örneğin: ışık sensörünün çalıştığını anlamak için; sensör çalıştırıldıktan sonra bool tipine 1 veya true değeri atarsanız daha sonra bu değerin doğruluğunu kontrol edebilirsiniz.

7. Byte (8bit=2^8=256′ dır. 0-255) (Kullanımı: byte)

byte data tipi 1 byte’lık kod alanine sahip olup 0 ile 255 arasında char gibi çalışır. Tek farkı tek karakter şartı yoktur.

Karakterize Veri Tipleri

7. Character (Kullanımı: char)

char data tipi 1 byte’lık kod alanine sahip olup -128 ile 127 arasındaki değerler ile tek bir karakterin saklanması için kullanılır.

8. String (Kullanımı: string)

 

string data tipi 1 byte’lık kod alanine sahip olup metin içerikli değerlerin saklanmasında kullanılır.

ve

void ise sadece değer döndüren fonksiyonlar için kullanılır. Bu başlığı fonksiyonları anlatırken tekrar tekrar değineceğim.

 

Leave a Reply

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