Arduino projelerinde sabitler, değişmeyen değerleri temsil eder ve kodun okunabilirliğini artırır. Sabitler sayesinde, proje boyunca sabit bir değeri tekrar tekrar yazmak yerine bir sabit tanımlayarak kullanabilirsiniz. Ayrıca sabitler, kodun daha güvenilir ve bakımının kolay olmasını sağlar.
Sabit Türleri
1. Preprocessor Sabitleri (#define)
- Preprocessor sabitleri,
#defineile tanımlanır. - Derleme aşamasında sabit değerler yerine konulur.
- Bellekte yer kaplamaz.
#define LED_PIN 13 // LED'in bağlı olduğu pin
#define DELAY_TIME 1000 // Gecikme süresi (ms)
void setup() {
pinMode(LED_PIN, OUTPUT); // LED pini çıkış olarak ayarla
}
void loop() {
digitalWrite(LED_PIN, HIGH); // LED'i yak
delay(DELAY_TIME); // Gecikme
digitalWrite(LED_PIN, LOW); // LED'i söndür
delay(DELAY_TIME); // Gecikme
}
2. Sabit Değişkenler (const)
- Sabit değişkenler,
constanahtar kelimesi ile tanımlanır. - Derleme zamanında bellekte yer alır.
- Kod boyunca değeri değiştirilemez.
const int ledPin = 13; // LED'in bağlı olduğu pin
const int delayTime = 1000; // Gecikme süresi (ms)
void setup() {
pinMode(ledPin, OUTPUT); // LED pini çıkış olarak ayarla
}
void loop() {
digitalWrite(ledPin, HIGH); // LED'i yak
delay(delayTime); // Gecikme
digitalWrite(ledPin, LOW); // LED'i söndür
delay(delayTime); // Gecikme
}
3. Sabitler ve Enum Kullanımı
- Birden fazla sabit için
enumkullanılabilir. - Kodun daha düzenli ve okunabilir olmasını sağlar.
enum TrafficLight {
RED = 13,
YELLOW = 12,
GREEN = 11
};
void setup() {
pinMode(RED, OUTPUT);
pinMode(YELLOW, OUTPUT);
pinMode(GREEN, OUTPUT);
}
void loop() {
digitalWrite(RED, HIGH);
delay(1000);
digitalWrite(RED, LOW);
digitalWrite(YELLOW, HIGH);
delay(1000);
digitalWrite(YELLOW, LOW);
digitalWrite(GREEN, HIGH);
delay(1000);
digitalWrite(GREEN, LOW);
}
Sabitlerle Çalışmanın Avantajları
- Kodun Okunabilirliğini Artırır: Sabitler, kodun ne yaptığını anlamayı kolaylaştırır. Örneğin,
LED_PINsabitini kullanmak, bir pin numarasını doğrudan yazmaktan daha anlamlıdır. - Tek Noktadan Yönetim: Sabit bir değeri değiştirmek gerektiğinde, sadece tanımını güncelleyerek kodun her yerinde değişiklik yapılır.
- Hata Riskini Azaltır: Sabitler yanlışlıkla değiştirilemez, böylece kodun güvenilirliği artar.
Sabitlerin Kullanım Alanları
- Pin Tanımları: LED, buton, sensör gibi bileşenlerin bağlı olduğu pinlerin tanımlanmasında.
- Gecikme Süreleri: Kod içinde tekrarlanan sabit sürelerin yönetiminde.
- Baud Hızı Tanımları: Seri iletişimde sabit baud hızının belirlenmesinde.
- Hata Kodları: Uygulamada belirli hata durumlarını temsil etmek için.
#define BAUD_RATE 9600 // Seri iletişim hızı
void setup() {
Serial.begin(BAUD_RATE);
Serial.println("Merhaba Arduino!");
}
void loop() {
// Seri iletişimde mesaj gönder
Serial.println("Sabitlerle çalışıyoruz!");
delay(1000);
}Sabit Kullanımı İle İlgili Püf Noktaları
- Küçük ve Anlamlı İsimler Kullan: Sabit isimleri kısa ve anlamlı olmalıdır (örneğin,
LED_PINveyaDELAY_TIME). - Türüne Dikkat Et: Sabitlerin türünü doğru seçmek bellek kullanımı açısından önemlidir (
int,float, vb.). - Yalnızca Gerekli Durumlarda Kullan: Çok fazla sabit tanımlamak kodu karmaşık hale getirebilir.

Bu Gönderiye Yorum Yapılmamış