Arduino Dersleri-9 Arduino Değişkenler
Merhabalar, bu yazımızda Arduino Dersleri-9 Arduino Değişkenler Tanımlamalar (Variables) ve Sabitler konusunu işleyeceğiz. Konu içerisinde int, unsigned int, bool, char, unsigned char, byte, float, double, long, unsigned long ve string değişkenleri ile define ve const sabitleri hakkında bilgilendirme yapacağım. Değişkenler, belirli verileri hafızada tutan kod bloklarıdır. Bu değerler sayısal veya metinsel değerler olabilir. Herhangi bir sensörden veya analog devre elemanından alacağımız değerleri bu değişkenler içerisine atayarak kod bloğunda istediğimiz yerde bu değişkenleri kullanabiliriz. Ayrıca Arduino kod sayfasında pin numarasına herhangi bir sensörü veya led diyotu değişken ismi vererek atadığımızda bu değişken ismi, kod tasarımı veya devre kontrolü sırasında bize kolaylık sağlayacaktır.
DEĞİŞKENLER:
Değişken tanımlama işlemi aşağıdaki gibi yapılır.
Değişken ismi tanımladıktan sonra eşittir ile değer atama zorunluluğumuz yoktur. Kodlama alanı içerisinde de değer atayabiliriz ya da o değişkeni değer vermeden de kod kısmında kullanabiliriz.
Değişken tanımlarken hata almamak için aşağıdaki kurallara dikkat etmemiz gerekir.
1. Değişken adı sayı ile başlamaz ancak sayı içerebilir
2. Değişken adları özel karakter içermez,
3. Değişken adları Türkçe karakter içermez,
4. Değişken adları alt tire ile başlayabilir ve alt tire içerebilir,
5. Değişken adları boşluk içermez.
Bu bilgiler kapsamında Arduino programında kullanacağımız değişkenleri tanıyalım.
int Değişkeni:
Tamsayı türü değişken tipidir. Uzun ismi Integer’dır ve tamsayı anlamına gelir. -32,768 ile 32,767 arasındaki tam sayılarda kullanılır. En sık kullanılan veri tipidir. Veri boyutu 2 byte değerindedir.
Örnek Kullanım:
int sayi = 0;
int deger = -155;
int led = 13;
Arduino Örnek Kullanım:
int sayi = 5; void setup() { Serial.begin(9600); } void loop() { Serial.println(sayi); } |
unsigned int Değişkeni:
Sayı türü değişken tipidir. 0 ile 65535 arasındaki pozitif tamsayılar için kullanılır. Veri boyutu 2 byte değerindedir.
Örnek Kullanım:
unsigned int sayi = 125;
Arduino Örnek Kullanım:
unsigned int sayi = 5; void setup() { Serial.begin(9600); } void loop() { Serial.println(sayi); } |
bool Değişkeni:
Boolean olarak ifade edilen değişken, değer olarak true (1) ya da false (0) değerlerini alır. Eğer bu değerleri içeren iki ihtimalli bir değişken kullanacaksak bu veri tipini kullanabiliriz. Kısaca bool şeklinde de tanımlama yapılabilir. Veri boyutu 1 byte değerindedir.
Örnek Kullanım:
bool sayi = true;
bool sayi = false;
veya
bool sayi = 1;
bool sayi = 0;
Arduino Örnek Kullanım:
bool sayi = 1; void setup() { Serial.begin(9600); } void loop() { Serial.println(sayi); } |
char Değişkeni:
Karakter türü değişken tipidir. -128 ile +127 arasında sayı verisi tutabilir. Bir karakterin ASCII tablosunda sayısal bir karşılığı bulunmaktadır. Bundan dolayı karakter değerleri de sayı değeri şeklinde saklanmaktadır. char değişkenine değer, harf veya sayı verilebilir. Veri boyutu 1 byte değerindedir.
Örnek Kullanım:
char kucukharf = ‘a’;
char buyukharf = ‘B’;
char sayi = 99;
Not: Karakter değerlerinde tek tırnak işareti kullanılır. Rakamlarda tek tırnak işareti kullanılmaz.
char karakter = ‘A’;
char karakter = 65;
Bu kod satırlarının ikisi de aynı anlama gelmektedir. A değeri ASCII kod tablosunda 65 değerine denk gelmektedir. Bundan dolayı seri port ekranında her iki yazım şeklinde de A değerini görürüz. Aradaki tek fark, birisinde karakterin sayısal karşılığını yazarken diğerinde kendisini yazıyoruz. Aşağıda ASCII char değerlerine ait tablo görülmektedir.
Arduino Örnek Kullanım:
char harf = ‘A’; void setup() { Serial.begin(9600); } void loop() { Serial.println(harf); } |
unsigned char Değişkeni:
Karakter türü değişken tipidir. 0 ile 255 arasında pozitif sayı verisi tutabilir. byte değişkeni ile aynıdır. Bundan dolayı Arduino programlama stilinin tutarlılığı için byte veri türü tercih edilmektedir. Veri boyutu 1 byte değerindedir.
Örnek Kullanım:
unsigned char sayi = 134;
Arduino Örnek Kullanım:
unsigned char harf = ‘155’; void setup() { Serial.begin(9600); } void loop() { Serial.println(harf); } |
byte Değişkeni:
Sayı türü değişken tipidir. 0 ile 255 arasındaki tam sayılar için kullanılır. Veri boyutu 1 byte değerindedir.
Örnek Kullanım:
byte sayi = 125;
Arduino Örnek Kullanım:
byte sayi = 125; void setup() { Serial.begin(9600); } void loop() { Serial.println(sayi); } |
float Değişkeni:
Ondalık sayı türü için kullanılan değişken tipidir. -3.4028235E+38 ile 3.4028235E+38 arasında ondalık değer alabilir. Eğer bir virgülden sonra da sayı değeri içeren bir işlemimiz varsa değişkenimizi bu veri tipiyle oluşturmalıyız. float değişkeninde en fazla 6 veya 7 hane bulunabilir. Daha uzun veri tipi için double kullanmak gerekir. Veri boyutu 4 byte değerindedir.
Örnek Kullanım:
float sensor=5.7623;
Arduino Örnek Kullanım:
int deger = 0; void setup() { Serial.begin(9600); Serial.println(“Potansiyometre Deger Okuma”); } void loop() { deger = analogRead(A0); float gerilim = (5.00 / 1024.00) * deger; //5V gerilim, 1024 bit’e bölünür ve potansiyometreden gelen değer ile çarpılır, değer gerilim olarak ölçülür. Serial.print(gerilim); //Hesaplanan gerilim seri monitör ekranında görülür. Serial.println(” Volt”); delay(100); } |
double Değişkeni:
Ondalık sayı türü için kullanılan değişken tipidir. -3.4028235E+38 ile 3.4028235E+38 arasında ondalık değer alabilir. float değişkeni ile aynıdır. Daha uzun veri tipi için double değişkeni kullanılır. Veri boyutu 4 byte değerindedir.
Örnek Kullanım:
double sensor=5.7623;
Arduino Örnek Kullanım:
int deger = 0; void setup() { Serial.begin(9600); Serial.println(“Potansiyometre Deger Okuma”); } void loop() { deger = analogRead(A0); double gerilim = (5.00 / 1024)* deger; //5V gerilim, 1024 bit’ e bölünür ve potansiyometreden gelen değer ile çarpılır, değer gerilim olarak ölçülür. Serial.print(gerilim); //Hesaplanan gerilim seri monitör ekranında görülür. Serial.println(” Volt”); delay(100); } |
long Değişkeni:
Sayı türü değişken tipidir. Çok büyük tamsayılarda kullanılır. -2,147,483,648 ile +2,147,483,647 arasındaki sayıları için kullanılır. Değer atanırken atanan değer sonuna “L” harfi konulur. Veri boyutu 4 byte değerindedir.
Örnek Kullanım:
long sayi = 654321L;
Arduino Örnek Kullanım:
long sayi = 654321L; void setup() { Serial.begin(9600); } void loop() { Serial.println(sayi); } |
unsigned long Değişkeni:
Sayı türü değişken tipidir. Pozitif çok büyük tamsayılarda kullanılır. 0 ile 4,294,967,295 arasındaki sayıları için kullanılır. Değer atanırken atanan değer sonuna “L” harfi konulur. Veri boyutu 4 byte değerindedir.
Örnek Kullanım:
unsigned long sayi = 654321L;
Arduino Örnek Kullanım:
unsigned long sayi = 654321L; void setup() { Serial.begin(9600); } void loop() { Serial.println(sayi); } |
String Değişkeni:
Karakter türünde kullanılan bir değişkendir. Veri boyutu, bellek boyutu ile sınırlıdır.
Örnek Kullanım:
String metin = “Kodlama egitimi”;
Arduino da String değişkeni yerine char metin[] ifadelerinin kullanılması önerilmektedir.
char metin[] = “kodlama” ;
char değer[] = “veri”;
Arduino Örnek Kullanım:
char mesaj[]=”Kodlama”; void setup() { Serial.begin(9600); } void loop() { Serial.println(mesaj); } |
SABİTLER:
Arduino içerisinde değişkenlerin sabit kalması gerektiği durumlar olabilir. Bunun için kullanacağımız sabit komutlar şunlardır.
#define Sabiti:
Arduino’da program derlenmeden önce sabit bir değere isim vermek için kullanılan bir bileşenidir. Arduino’da #define ile tanımlanan sabitler çip üzerinde herhangi bir bellek alanı kaplamaz. Arduino derleyicisi, bu sabitlerle yapılan eşleştirmeleri, derleme zamanında tanımlı değerle değiştirir.
Örnek Kullanım:
#define led 13
#define ile tanımlamalarda = ve ; işaretleri kullanılmaz.
#const Sabiti:
Değişkene atanan değeri ” salt okunur ” yapan ve sabitleyen bir niteleyicisidir. Kod içerisinde değişken değerinin değişmemesi istenilen durumlarda kullanılır. Kod içerisinde yanlışlıkla aynı değişken değeri tekrar edilirse kod derlemesi hata mesajı verecektir. const komutu değişkenlerin başına eklenerek değişken içeriği sabitlenebilir.
Örnek Kullanım:
const int led = 13;
Arduino Örnek Kullanım:
#define kirmiziled 13
int yesilled = 12;
const int maviled = 11;
void setup() {
pinMode(kirmiziled, OUTPUT);
pinMode(yesilled, OUTPUT);
pinMode(maviled, OUTPUT);
}
void loop() {
digitalWrite(kirmiziled, HIGH);
digitalWrite(yesilled, HIGH);
digitalWrite(maviled, HIGH);
delay(1000);
digitalWrite(kirmiziled, LOW);
digitalWrite(yesilled, LOW);
digitalWrite(maviled, LOW);
delay(1000);
}
|
Arduino Değişkenler
Konu anlatımımız bu kadar. yorum yapmayı unutmayınız.
Devre hakkında yorumlarınızı aşağıdaki yorum kısmına yazabilirsiniz. Youtube kanalımızda da Temel Elektrik- Elektronik, Arduino ve mBlock ile ilgili ders videoları bulabileceksiniz. Youtube kanalıma abone olmayı da unutmayınız.
https://www.youtube.com/@candemirahmet
Yorum Yap