Arduino Ders 11.1: Fonksiyonlar 2
Fonksiyon İçine Değer Alan ve Geriye Değer Döndürmeyen Fonksiyon
1. Giriş
Fonksiyonlar, Arduino programlamasında kodu daha düzenli ve tekrar kullanılabilir hale getirir. Fonksiyon içine değer alan ancak geriye değer döndürmeyen fonksiyonlar, işlem yapmak için bir giriş değeri alır ancak işlem sonucunda herhangi bir değer döndürmez.
2. Temel Kavramlar
- Parametre (Girdi): Fonksiyonun işlem yapması için gereken veridir.
- void: Geriye hiçbir değer döndürmeyen fonksiyonlarda kullanılan dönüş tipi.
3. Fonksiyon Tanımı
void fonksiyon_adi(parametre_tipi parametre_adi) {
// Fonksiyon işlemleri
}
4. Örnek: LED Durumunu Ayarlayan Fonksiyon
Kod Örneği
// Fonksiyonun tanımı
void ledDurumuAyarla(int ledPin, bool durum) {
pinMode(ledPin, OUTPUT); // Pin çıkış olarak ayarlanır
digitalWrite(ledPin, durum); // LED durumu ayarlanır
}
void setup() {
// 13 numaralı LED'i aç
ledDurumuAyarla(13, true);
delay(1000); // 1 saniye bekle
// 13 numaralı LED'i kapat
ledDurumuAyarla(13, false);
}
void loop() {
// Döngü içinde bir işlem yapılmıyor
}
Kod Açıklaması
- ledDurumuAyarla: Belirtilen pine bağlı bir LED'in durumunu açar veya kapatır.
- setup(): Fonksiyonu çağırarak LED'in durumunu ayarlar.
- loop(): Bu örnekte kullanılmaz.
5. Örnek: Seri Monitöre Mesaj Yazdıran Fonksiyon
Kod Örneği
// Fonksiyonun tanımı
void mesajYaz(String mesaj) {
Serial.println(mesaj); // Mesajı seri monitöre yazdır
}
void setup() {
Serial.begin(9600); // Seri haberleşmeyi başlat
// Fonksiyonu çağır ve mesaj yazdır
mesajYaz("Merhaba, Arduino!");
mesajYaz("Fonksiyonlar harika çalışıyor.");
}
void loop() {
// Döngü içinde bir işlem yapılmıyor
}
Kod Açıklaması
- mesajYaz: Parametre olarak aldığı mesajı seri monitöre yazdırır.
- setup(): Fonksiyonu çağırarak farklı mesajları seri monitöre yazdırır.
6. Örnek: Motorun Çalışma Süresini Ayarlayan Fonksiyon
Kod Örneği
// Fonksiyonun tanımı
void motorCalistir(int motorPin, int sure) {
pinMode(motorPin, OUTPUT); // Pin çıkış olarak ayarlanır
digitalWrite(motorPin, HIGH); // Motoru çalıştır
delay(sure); // Belirtilen süre kadar bekle
digitalWrite(motorPin, LOW); // Motoru durdur
}
void setup() {
// Motoru 3 saniye çalıştır
motorCalistir(9, 3000);
}
void loop() {
// Döngü içinde bir işlem yapılmıyor
}
Kod Açıklaması
- motorCalistir: Belirtil
0 Yorumlar