Arduino projelerinde fonksiyonlar, belirli bir görevi yerine getiren ve tekrar tekrar kullanılabilir kod bloklarıdır. Fonksiyonlar sayesinde kodunuzu modüler, okunabilir ve bakımı kolay hale getirebilirsiniz.
Fonksiyonların Avantajları
- Tekrar Kullanılabilirlik: Aynı işlemi birden fazla yerde yazmak yerine bir kez yazıp birçok yerde kullanabilirsiniz.
- Kodun Okunabilirliği: Fonksiyonlar, karmaşık projeleri daha kolay anlaşılır hale getirir.
- Hata Ayıklama Kolaylığı: Hataları izole ederek daha kolay çözebilirsiniz.
Fonksiyonların Yapısı
Bir fonksiyonun temel yapısı şu şekildedir:
veri_tipi fonksiyon_adi(parametreler) {
// Fonksiyonun gerçekleştireceği işlemler
return değer;
}
Fonksiyonun Elemanları
int, void).void ise gerekmez.Arduino’da Fonksiyon Çeşitleri
1. Geri Değer Döndürmeyen Fonksiyonlar (void)
Bu fonksiyonlar, bir işlem yapar ancak değer döndürmez.
Örnek:
void ledYak() {
digitalWrite(13, HIGH); // LED'i yak
delay(1000);
digitalWrite(13, LOW); // LED'i söndür
delay(1000);
}
2. Geri Değer Döndüren Fonksiyonlar
Bu fonksiyonlar, bir işlem yaptıktan sonra bir değer döndürür.
Örnek:
int topla(int a, int b) {
return a + b;
}
Kullanım:
int sonuc = topla(5, 3); // sonuc: 8
Serial.println(sonuc);
Fonksiyonların Kullanımı
1. Basit Fonksiyon: LED Yak-Söndür
void ledKontrol(int pin, int durum) {
digitalWrite(pin, durum);
}
void setup() {
pinMode(13, OUTPUT);
ledKontrol(13, HIGH); // LED'i yak
delay(1000);
ledKontrol(13, LOW); // LED'i söndür
delay(1000);
}
void loop() {
// Döngü içinde işlem yapılmaz
}2. Parametre Alan ve Değer Döndüren Fonksiyon: Ortalama Hesaplama
float ortalama(float a, float b, float c) {
return (a + b + c) / 3.0;
}
void setup() {
Serial.begin(9600);
float sonuc = ortalama(10, 20, 30);
Serial.print("Ortalama: ");
Serial.println(sonuc);
}
void loop() {
// Döngüde işlem yapılmaz
}3. Çok Amaçlı Fonksiyon: Trafik Lambası Kontrolü
void trafikLambasi(int kirmizi, int sari, int yesil) {
digitalWrite(kirmizi, HIGH);
delay(1000);
digitalWrite(kirmizi, LOW);
digitalWrite(sari, HIGH);
delay(1000);
digitalWrite(sari, LOW);
digitalWrite(yesil, HIGH);
delay(1000);
digitalWrite(yesil, LOW);
}
void setup() {
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
}
void loop() {
trafikLambasi(13, 12, 11);
}
Fonksiyonlarla Çalışırken Dikkat Edilecekler
- Fonksiyon İsimlendirme: İsimler fonksiyonun ne yaptığını açıkça ifade etmeli (
ledKontrol,ortalamaHesaplagibi). - Parametre Türleri: Parametrelerin doğru veri türünde olduğundan emin olun.
- Return Kullanımı: Geri döndürülmesi gereken bir değer varsa
returnkullanmayı unutmayın. - void Fonksiyonlar: Eğer geri döndürme gerekmiyorsa
voidkullanabilirsiniz.
Arduino’da Fonksiyon Kullanım Özeti
void Fonksiyonvoid ledYak()int topla(int a, int b)void ledKontrol(int pin, int durum)void ledYak()Arduino’da fonksiyonlar, projelerinizi daha düzenli ve okunabilir hale getirmenin önemli bir yoludur. Parametreler ve geri döndürme değerleriyle çalışan fonksiyonları öğrenmek, projelerinizi daha profesyonel hale getirir. Yukarıdaki örnekleri ve tablodaki bilgileri kullanarak projelerinize kolayca fonksiyon ekleyebilirsiniz.

Bu Gönderiye Yorum Yapılmamış