Arduino Programlama Yapısı ve Arduino ya giriş
Arduino ile programlama ile yazı dizimizde sizlere elimden geldiğinde programlama yapısından başlayıp yapıları sırası ile tanıtacağız.
Temel bir Arduino program döngüsü, setup () ve loop () adında iki işlevden oluşur.
Arduino IDE’yi açın ve iki işlevi görmek için Dosya → Örnekler → 01.Basics → BareMinimum öğesini seçin. Bu iki işlev artık varsayılan olarak yeni bir Arduino IDE penceresinde göründüğünden, IDE’nin yeni versiyonunda BareMinimum örnek taslağını açmak gerekli değildir.
Function Nedir?
Function daha sonra daha ayrıntılı olarak ele alınacaktır, şimdilik sadece işlevler hakkında aşağıdakileri bilmeniz gerekecektir:
Tüm fonksiyonlar benzersiz bir isme sahip olmalıdır, setup benzersiz bir fonksiyon isminin bir örneğidir (setup ve loop Arduino programlamada özel fonksiyonlardır ve temel yapısının bir parçasını oluşturur).
İşlev adını, bir şey içerebilen veya içermeyen parantez () açıp kapatarak takip eder.
Tüm fonksiyonlar bir dönüş tipine sahip olmalıdır. Hem setup hem de loop geçersiz bir dönüş tipine sahiptir.
Bir fonksiyonun gövdesi bir açılış ve kapanış ayracı ({ve}) oluşur.
Yeni bir programlama dilini öğrenmeye başladığında “merhaba dünya” programı yazmak bir programlama geleneğidir. Bunun İçin bizde bu geleneği yerine getirelim
“Merhaba dünya” programı sadece “Merhaba, dünya!” yazısını ekrana yazdırmaktır. Bu programın amacı, programlama ortamınızın doğru şekilde kurulduğunu ve çalıştığını doğrulamaktır. “Merhaba dünya” programınız çalışıyorsa, yeni programlama dilini öğrenmeye başlayabilirsiniz.
Arduino’nun “merhaba dünya” metnini yazacak bir ekranı yok, ama USB portunu kullanabiliriz ve Serial Monitör kısmına bakınız.
void setup() {
Serial.begin(9600);
Serial.println("Hello, world!");
}
void loop() {
}
Dosya → Farklı Kaydet … Arduino IDE menüsünden ve sonra dosyayı hello_world olarak yeniden adlandırın.
Arduino’nuzu bir USB kablosu kullanarak PC’nize takın. Programı Arduino’ya yüklemek için Yükle düğmesine tıklayın.
Şimdi uygulamamızı denemek ve metin mesajını yazdırmak için Arduino IDE Seri Monitör Penceresini açın.
Ekranda Hello World yazını görüyorsanız uygulamanız çalışmaktadır.
Hata bulma
Programlama Hataları
IDE penceresine yanlış yazılan kod satırlarında bir hata derleme hatasına neden olacaktır, bu nedenle yukarıdaki kodda gösterildiği gibi her şeyi yazdığınızdan emin olun. Doğrulama düğmesi (onay simgesi) veya Yükle düğmesi (yatay ok simgesi) tıklandığında program derlenir.
Arduino’ya yüklerken sorun yaşıyorsanız, Araçlar → Kart altında doğru Arduino kartının seçildiğinden ve Araçlar → Seri Bağlantı Noktası altında doğru seri bağlantı noktasının seçildiğinden emin olun.
Baud Hızı Ayar Hatası
Uygulama başarılı bir şekilde yüklendiyse, seri izleme penceresinde metnin gösterilmesini engelleyen tek sorun, seri monitör penceresinin sağ alt tarafındaki baud hızının “Running the hello_world” de gösterildiği gibi 9600 olarak ayarlanmamasıdır.
Setup () işlevi
Setup () işlevindeki ifadeler, taslağın her çalıştırıldığında yalnızca bir kez çalıştırılır. Program daha sonra loop () işlevindeki ifadeleri çalıştırmaya başlar.
Arduino’ya programlandıktan sonra çalışacaktır. Seri monitör penceresini açmak Arduino’yu sıfırlayacak ve taslağı tekrar çalıştırmaya başlayacaktır.
Ayrıca Arduino üzerindeki sıfırlama düğmesine basılarak veya bağlantıyı keserek ve ardından Arduino’ya giden güce yeniden bağlanarak yeniden çalışabilir.
Loop () işlevi
Loop () işlevindeki ifadeler, sürekli olarak yukarıdan aşağıya ve sonra da en üste doğru çalışır.
Loop () işlevi iki deyim içeriyorsa, ilk ifade çalıştırılacak, ardından ikinci deyim, daha sonra ilk ifade tekrarlanacak ve böylece bir döngüde olacaktır.
Merhaba dünya örneğimizde loop () işlevinde hiçbir ifade bulunmadığından, program yürütme döngüde sona erecek ve hiçbir şey yapmadan takılıp kalmaya başlayacaktır.
Boş olsa bile, loop () işlevine sahip olmak önemlidir, çünkü onsuz, Arduino kartındaki mikro denetleyici, setup () işlevindeki ifadeler sonraki bellekte buldukları her şeyi yürütmeye çalışacaktır. Mikrodenetleyici, bir komut olarak bellekte bulduğu her şeyi yürütmeye çalışacaktır, ancak Loop() işlevi, program yürütmeyi döngüde tutarak bunu yapmasını engeller.
Dersimizin bu bölümü bitmiştir. Diğer bölümde Loop işlevini daha detaylı örnekler ile göreceğiz.