Arduino Programlama

Arduino Programlama dilinin temel özellikleri

  • Program yazımı belirli kalıpta, bloklar halinde olur.
  • Bloklar, { } parantezleri ile oluşturulur.
  • Komutlar aynı veya alt alta satırlara yazılabilirler.
  • Tüm komutlar, noktalı virgül (;) ile biter. Yalnız blok başlatan ifadelerden sonra noktalı virgül kullanılmaz.
  • Programda kullanılan tüm değişkenler ve bilgi tipleri bildirilir.
  • Programın başında kütüphaneler aktifleştirilir/çağrılır.
  • Açıklamalar “//” ve “/* */ ” (Birden fazla satır için) ile yazılır.
  • #define ile eşdeğer ifade atanır.
  • #include ile kütüphane çağrılır.

Arduino programları üç ana bölümden oluşabilir

  • Yapı
  • Değerler (değişkenler ve sabitler)
  • Fonksiyonlar(işlevler)

Yapı

Setup fonksiyonu, kod çalışmaya başladığında ilk çalışan fonksiyondur. Bu fonksiyon çalıştıktan sonra fonksiyon içerisindeki işlemler gerçekleşir. Bu alanda, çeşitli tanımlamalar yapılır. Genel olarak ayarların yapıldığı bölümdür. Pinlerin giriş-çıkış olarak tanımlanması , bir takım değerleri ve başlangıç değerlerini belirlemek vb. tek seferlik yapılması gereken işlemler bu fonksiyon içerisinde çalıştırılır.
Loop fonksiyonu, setup fonksiyonundan sonra çalışan fonksiyondur. Bu bir ana fonksiyondur ve yapılmasını istediğiniz işlemler bu bölümde kodlanır.  Loop fonksiyonu, sonsuz döngü şeklindedir, yani buradaki görevler  program çalıştığı sürece sürekli tekrarlanır.

Arduino içerisinde /* ile */ işaretleri arasına açıklama satırları yazılabilir. Açıklama satırları kod olarak algılanmaz. Tek satırdan oluşan bir açıklama satırı için  // işaretleri kullanılabilir.

Kontrol Yapıları

if
if…else
for
switch case
while
do… while
break
continue
return
goto

Sentaks (Söz dizimi) – Yapı Oluşturma

; (noktalı virgül)
{} (kıvrık parantez)
// (tek satır yorum)
/* */ (çok satırlı yorum)
#define
#include

Aritmetik Opertaörler

= (atama)
+ (toplama)
– (çıkarma)
* (çarpma)
/ (bölme)
% (mod al)

Karşılaştırma Operatörleri

== (eşit)
!= (eşit değil)
< (küçük) > (büyük)
<= (küçük veya eşit) >= (büyük veya eşit)

Boolean(Mantık) Oparatörleri

&& (ve)
|| (veya)
! (değil)

İşaretçi Erişim Operatörleri

* ayırma operatörü
& refarans operatörü

Bit Düzeyi Operatörleri

& (bit ve)
| (bit veya)
^ (bit xveya)
~ (bit değil)
<< (sola bit kaydırma) >> (sağa bit kaydırma)

Bileşik Operatörler

++ (arttır)
— (azalt)
+= (bileşik arttır)
-= (bileşik azalt)
*= (bileşik çarp)
/= (bileşik böl)
%= (bileşik mod al)
&= (bileşik bit düzeyi ve)
|= (bileşik bit düzeyi veya)

Değişkenler

Sabitler

HIGH | LOW
INPUT | OUTPUT | INPUT_PULLUP
LED_BUILTIN
true | false
integer constants
floating point constants

Veri Tipleri

void
boolean
char
unsigned char
byte
int
unsigned int
word
long
unsigned long
short
float
double
string – karakter dizisi
String – nesne
array

Dönüşümler

char()
byte()
int()
word()
long()
float()

Değişken Kapsamı ve Elemeleri

variable scope
static
volatile
const

Araçlar

sizeof()

PROGMEM

Fonksiyonlar(İşlevler)

Dijital Giriş/Çıkış

pinMode()
digitalWrite()
digitalRead()

Analog Giriş/Çıkış

analogReference()
analogRead()
analogWrite()PWM

Due ve Zero için

analogReadResolution()
analogWriteResolution()

Gelişmiş Giriş Çıkış

tone()
noTone()
shiftOut()
shiftIn()
pulseIn()

Zaman

millis()
micros()
delay()
delayMicroseconds()

Matematik

min()
max()
abs()
constrain()
map()
pow()
sqrt()

Trigonometri

sin()
cos()
tan()

Karakterler

isAlphaNumeric()
isAlpha()
isAscii()
isWhitespace()
isControl()
isDigit()
isGraph()
isLowerCase()
isPrintable()
isPunct()
isSpace()
isUpperCase()
isHexadecimalDigit()

Rastgele Sayılar

randomSeed()
random()

Bitler ve Baytlar

lowByte()
highByte()
bitRead()
bitWrite()
bitSet()
bitClear()
bit()

Harici Kesmeler

attachInterrupt()
detachInterrupt()

Kesmeler

interrupts()
noInterrupts()

İletişim

Seri Port Fonksiyonları
Stream
USB (32u4 tabanlı kart ve Due/Zero)
Keyboard
Mouse

Benzer Yazılar

YAZAR : Admin

Elektronik Mühendisi / E.Üni. Kalibrasyon Lab. Sorumlusu / Biyomedikal Kalibrasyon Laboratuvarı Sorumlu Müdürü (Sağ.Bak.) / X-Işınlı Görüntüleme Sistemleri Test Kontrol ve Kalibrasyon Uzmanı (Sağ.Bak.) / Ultrason-Doppler Sistemleri Test Kontrol ve Kalibrasyon Uzmanı (Sağ.Bak.) - Hatalı veya kaldırılmasını istediğiniz sayfaları diyot.net@gmail.com bildirin

BU YAZIYI DA İNCELEDİNİZ Mİ ?

Arduino Analog Pinler

Yaşadığımız ortamda her etki analog bir sinyale karşılık gelir. Bu etkileri ölçen sensörler de genellikle …

Bir cevap yazın