Arduino Programlama ve Sketch’lerin Yapısı

Program Yapısı:

 Arduino’nun programlama için kullandığı dil, C++ programlama dilinin basitleştirilmiş halidir. Basitleştirme –çoğunlukla- tanımlamalar ve fonksiyon denilen iş parçaları ile sağlanmıştır. Mikroişlemciler veya mikrodenetleyiciler için yapılan tanımlamaların detaylarına ait karmaşalar, Arduino ile büyük ölçüde sadeleştirilmiştir. Ayrıca birçok donanıma hükmedecek küçük iş parçaları ile programcıyı fazla yormadan kod yazabilmesini sağlamaktadır.

 Arduino Program Bloğu:

 Arduino programlama dili, üç ana yapıdan oluşmaktadır. Bunlar;

I. Tanımlamaların olduğu kısım. Bu kısımda değişkenler tanımlanabilir, kütüphaneler programa dâhil edilebilir veya pinlere isim verme gibi işlemler yapılabilir. Örneğin; program içerisinde sürekli olarak kullanılan bir pin için, 13. pin şeklinde kullanmak yerine; 13. pine LED bağlanmış ise 13. pine “LED” adını vererek büyük ölçüde kullanım kolaylığı sağlanabilir.

II. Kurulum kısmı. Bu kısımda hangi pinlerin giriş hangi pinlerin çıkış olacağı, seri veri haberleşme ile ilgili ayarlar gibi yazılacak programda kullanılan Arduino özellikleri için gerekli kurulumlar yapılır. Kurulum kısmı, program ilk çalışmaya başladığında bir kereye mahsus çalışır ve Reset atılmadığı veya enerjisi kesilmediği sürece tekrar çalışmaz.

III. Son kısım ise asıl programın işletildiği bölümdür. Yapacağımız projenin tüm işlevleri bu kısma yazılır. Bu bölüm yazmış olduğumuz kodları, enerjisi kesilene kadar ya da Reset atılana kadar sürekli olarak çalıştırır. Program bu bölümün başından başlayıp sonuna kadar geldiğinde tekrar bu bölümün başına dönerek çalışmaya devam eder. Buna sonsuz döngü denmektedir.

Bir Arduino programında(sketch) bloklar aşağıdaki şekliyle kullanılmaktadır.

sketch

Bloklardan ilki tanımlamalar kısmıdır.

Üçüncü kısım da Loop() ile başlayan kısımdır. Burada loop() fonksiyonu da ‘{‘ ile başlar ve ‘}’ ile biter. Yazmış olduğumuz asıl program kodları da bu iki süslü parantez arasına yazılır. Setup() ve Loop() fonksiyonları program içerisinde mutlaka bulunmalıdır. Void ifadesi ise C diline ait bir terimdir. Fonksiyonun türünü belirtir. İkinci kısım Setup() kısmıdır. Setup() kısmı ‘{‘ süslü parantez ile başlar ve ‘}’ süslü parantez ile biter. Bütün kuruluma ait komutlar bu iki süslü parantez arasına yazılmalıdır. Setup ifadesinden sonra kullanılan () parantezler ise o ifadenin bir fonksiyon olduğunu gösterir. Setup() = kurulum fonksiyonu.

 

Açıklama Satırları( // “ ve “ /* “ “  */ “) işaretlerinin kullanımı

Süslü parantez aralarında kullanılan “//” simge, program sayfası içerisinde herhangi bir yere yazılabilir ve yazıldığı satır açıklama satırıdır. Açıklama satırları bizlere program yazarken hatırlatma amaçlı bazı notlar almamıza ya da ihtiyaç duyulabilecek açıklamalar da bulunmamıza yarar. Derleyici, “ // “ işaretinin olduğu satırı dikkate almaz. Açıklama amacıyla kullanılan diğer bir yöntem ise “ /* “ ve “ */ “ işaretleridir. Kullanımı ise şu şekildedir; Program içerisinde istediğimiz yere “ /* “ işareti koyduktan sonra gerekli notlar alınır ya da açıklamalar yapılır ve sonrasında ” */ ” işareti konularak açıklama bitirilir. Derleyici bu işaretler arasına yazılan hiçbir yazıyı dikkate almaz, sadece kullanıcıya ait satırlardır.

Birbirlerinden farkı ise, “ // “ satır için kullanılır. Konulduğu satırın sonuna kadar derleyici tarafından dikkate alınmaz. “ /* “ ve “ */ ” işareti ise daha fazla satır kullanımına ihtiyaç duyulduğunda kullanılır.

 

Programın Yazımıyla İlgili Bazı Kurallar

  •  Komutlar yan yana aynı satıra yazılabileceği gibi alt alta da yazılabilir. Ancak programın anlaşılabilirliği açısından alt alta yazmak faydalı olacaktır.
  • Komutların sonuna (;) noktalı virgül konulur.
  • Programın başında tanımlamalar kısmında kullanılacak kütüphaneler varsa #include komutu ile programa dâhil edilir.
  • Türkçe karakter kullanılmamalıdır. Fakat açıklama satırları içerisinde (derleme işlemine dahil edilmediğinden) kullanılabilir.

Devamı… Arduino Komutları

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d blogcu bunu beğendi: