arduino kod nasıl yazılır
Arduino kod nasıl yazılır?
Cevap:
Arduino kod yazmak, temel olarak Arduino mikrodenetleyicisinin anlayabileceği şekilde programlama yapmaktır. Arduino, C/C++ tabanlı özel bir dil yapısı kullanarak çalışan bir geliştirme platformudur. Yeni başlayanlar için Arduino kodları oldukça anlaşılır ve öğrenmesi kolaydır. İşte adım adım Arduino’da kod yazma süreci ve temel bilgiler:
İçindekiler
- Arduino Programlama Ortamı (IDE) Kurulumu
- Arduino Kodunun Temel Yapısı
- Setup() ve Loop() Fonksiyonları
- Temel Arduino Komutları
- Basit Bir Arduino Örneği
- Kod Yazarken Dikkat Edilmesi Gerekenler
- Özet Tablosu
1. Arduino Programlama Ortamı (IDE) Kurulumu
Arduino kod yazabilmek için önce bilgisayarınıza Arduino IDE programını kurmanız gerekir. Bu ortamda:
- Kod yazabilirsiniz,
- Yazdığınız kodu derleyip (compile) hata kontrolü yapabilirsiniz,
- Arduino kartınıza kodu yükleyebilirsiniz.
Arduino IDE’yi resmi Arduino sitesinden ücretsiz indirebilirsiniz.
2. Arduino Kodunun Temel Yapısı
Arduino programları iki ana fonksiyondan oluşur:
void setup() {
// Başlangıçta sadece 1 defa çalışır, başlangıç ayarları buraya yazılır.
}
void loop() {
// Setup’tan sonra sürekli tekrar eden kodlar buraya yazılır.
}
setup()fonksiyonu: Arduino açıldığında veya resetlendiğinde bir kez çalışır.loop()fonksiyonu: Setup bittiğinde sürekli olarak tekrar eder.
3. Setup() ve Loop() Fonksiyonları
-
setup(): Pinlerin giriş/çıkış modlarını tanımlamak, seri haberleşmeyi başlatmak gibi başlangıç ayarlarını yaparız.
-
loop(): Sensör okumaları, LED yakma/söndürme, motor kontrolü gibi cihazın temel işleyişi için gereken kodları buraya yazarız.
Örnek:
void setup() {
pinMode(13, OUTPUT); // 13 numaralı pini çıkış olarak ayarla (ör. LED)
}
void loop() {
digitalWrite(13, HIGH); // 13 numaralı pini HIGH yap (LED yanar)
delay(1000); // 1000 ms (1 saniye) bekle
digitalWrite(13, LOW); // 13 numaralı pini LOW yap (LED söner)
delay(1000); // 1 saniye bekle
}
4. Temel Arduino Komutları
| Komut | Açıklama | Örnek |
|---|---|---|
pinMode(pin, MODE) |
Pin giriş/çıkış modunu ayarlar | pinMode(2, INPUT); (pin 2 giriş) |
digitalWrite(pin, VALUE) |
Dijital pine HIGH (5V) veya LOW (0V) sinyali gönderir | digitalWrite(13, HIGH); (pin 13 LED aç) |
digitalRead(pin) |
Dijital pinin durumunu okur (HIGH ya da LOW) | int buttonState = digitalRead(7); |
delay(ms) |
Programın çalışmasını ms kadar durdurur | delay(500); (yarım saniye bekle) |
analogRead(pin) |
Analog pin (A0-A5) değerini 0-1023 arasında okur | int sensorValue = analogRead(A0); |
Serial.begin(speed) |
Seri haberleşmeyi başlatır (örn. 9600 baud) | Serial.begin(9600); |
Serial.print() |
Seri monitöre veri gönderir | Serial.print("Merhaba!"); |
5. Basit Bir Arduino Örneği
Amaç: Arduino üzerindeki 13 numaralı LED’i 1 saniye aralıklarla yakıp söndürmek.
void setup() {
pinMode(13, OUTPUT); // 13 numaralı pini çıkış olarak ayarla
}
void loop() {
digitalWrite(13, HIGH); // LED’i yak
delay(1000); // 1 saniye bekle
digitalWrite(13, LOW); // LED’i söndür
delay(1000); // 1 saniye bekle
}
Kod açıklaması:
- Önce 13 numaralı pin çıkış olarak ayarlanıyor.
- Ardından sürekli 13 numaralı pin HIGH yapılarak LED yanıyor, LOW yapılarak LED sönüyor.
delay(1000)sayesinde 1 saniye aralıklarla işlem tekrarlanıyor.
6. Kod Yazarken Dikkat Edilmesi Gerekenler
- Pin numaralarını doğru belirleyin: Arduino kartınızda hangi pinin ne işe yaradığını biliyor olun.
- Pin modlarını doğru ayarlayın: Giriş/çıkış pin modları kodun doğru çalışması için çok önemli.
- Seri monitör ile debug yapın: Hataları görmek için
Serial.print()komutunu kullanarak değişken değerlerini kontrol edin. - Kütüphaneleri kullanmayı öğrenin: Daha karmaşık cihazlar için Arduino kütüphaneleri var, bu eklentilerle fonksiyonlarınız kolaylaşır.
- Kodu iyi yorumlayın: Kendi yazdığınız kodda açıklamalar (
//) kullanarak daha sonra anlamayı kolaylaştırın.
7. Özet Tablosu: Arduino Kod Yazmanın Temel Aşamaları
| Aşama | Açıklama | Örnek Komut |
|---|---|---|
| IDE Kurulumu | Arduino IDE’yi yükleyip açmak | - |
| Setup Fonksiyonu | Pin modlarını ve başlangıç ayarlarını yapmak | pinMode(13, OUTPUT); |
| Loop Fonksiyonu | Tekrarlayan işlemleri yazmak | digitalWrite(13, HIGH); delay(1000); |
| Temel Komutları Kullanmak | Dijital ve analog pinleri kontrol etmek | digitalRead(pin), analogRead(pin) |
| Seri İletişim Kullanımı | Kodun çalışmasını gözlemlemek için seri çıktı alma | Serial.begin(9600); Serial.print(val); |
Sonuç olarak, Arduino kod yazmak, temel programlama bilgisi ve Arduino’nun sunduğu fonksiyonları öğrenmekle başlar. Bu adımları takip ederek kendi projelerinizi hayata geçirebilirsiniz.
Başlangıç için en önemli kısım setup() ve loop() fonksiyonlarını anlamak ve ardından basit LED yakma veya buton okuma ile başlamak olacaktır. Zamanla sensörler, motorlar gibi daha karmaşık donanımlar için kod yazmayı öğrenebilirsiniz.
Kaynaklar:
- Arduino Resmi Web Sitesi (arduino.cc)
- Arduino Başlangıç Kılavuzları ve Kod Örnekleri
- Open Source Elektronik ve Programlama Toplulukları