Arduino Ders 11.2: Fonksiyonlar 3
Fonksiyon İçine Değer Almayan ve Geriye Değer Döndüren Fonksiyon
1. Giriş
Fonksiyonlar, Arduino programlarında kodu modüler hale getirmenin en önemli araçlarından biridir. Fonksiyon içine değer almayan ve geriye değer döndüren fonksiyonlar, işlem yapmak için hiçbir girdiye ihtiyaç duymaz ancak işlem sonucunda bir değer döndürür.
2. Temel Kavramlar
- Dönüş Değeri (Çıktı): Fonksiyonun işlem sonucunda geri döndürdüğü değer.
- return Anahtar Kelimesi: Fonksiyonun işlemler sonucunda döndürdüğü değeri belirtir.
3. Fonksiyon Tanımı
geri_donus_tipi fonksiyon_adi() {
// Fonksiyon işlemleri
return geri_donus_degeri;
}
4. Örnek: Rastgele Sayı Döndüren Fonksiyon
Kod Örneği
// Fonksiyonun tanımı
int rastgeleSayi() {
return random(1, 101); // 1 ile 100 arasında rastgele bir sayı döndür
}
void setup() {
Serial.begin(9600); // Seri haberleşmeyi başlat
// Fonksiyonu çağır ve sonucu yazdır
int sayi = rastgeleSayi();
Serial.print("Rastgele Sayı: ");
Serial.println(sayi);
}
void loop() {
// Döngü içinde bir işlem yapılmıyor
}
Kod Açıklaması
- rastgeleSayi: Hiçbir girdi almadan 1 ile 100 arasında rastgele bir sayı döndürür.
- setup(): Fonksiyonu çağırır ve dönen değeri seri monitöre yazdırır.
- loop(): Bu örnekte kullanılmaz.
5. Örnek: Sabit Bir Değer Döndüren Fonksiyon
Kod Örneği
// Fonksiyonun tanımı
float piDegeri() {
return 3.14159; // Pi sabitini döndür
}
void setup() {
Serial.begin(9600); // Seri haberleşmeyi başlat
// Fonksiyonu çağır ve sonucu yazdır
float pi = piDegeri();
Serial.print("Pi Değeri: ");
Serial.println(pi);
}
void loop() {
// Döngü içinde bir işlem yapılmıyor
}
Kod Açıklaması
- piDegeri: Sabit bir değer olan Pi'yi döndürür.
- setup(): Dönen Pi değerini seri monitöre yazdırır.
6. Örnek: Arduino Zamanını Döndüren Fonksiyon
Kod Örneği
// Fonksiyonun tanımı
unsigned long zamanAl() {
return millis(); // Arduino'nun çalışma süresini döndür (milisaniye cinsinden)
}
void setup() {
Serial.begin(9600); // Seri haberleşmeyi başlat
// Fonksiyonu çağır ve sonucu yazdır
unsigned long zaman = zamanAl();
Serial.print("Arduino Çalışma Süresi: ");
Serial.print(zaman);
Serial.println(" ms");
}
void loop() {
// Döngü içinde bir işlem yapılmıyor
}
Kod Açıklaması
- zamanAl: Arduino'nun çalışmaya başladığı andan itibaren geçen süreyi milisaniye cinsinden döndürür.
- setup(): Fonksiyonu çağırır ve dönen süreyi seri monitöre yazdırır.
7. Sonuç
Fonksiyon içine değer almayan ancak geriye değer döndüren fonksiyonlar, genellikle sabit değerleri, sistem durumlarını veya rastgele verileri döndürmek için kullanılır. Yukarıdaki örnekler, bu tür fonksiyonların nasıl oluşturulacağını ve kullanılacağını göstermektedir.
0 Yorumlar