Arduino programlamaya giriş yapacaklar için belli başlı fonksiyonları kullanımlarıyla birlikte özetlemek istedim, umarım yeni başlamak isteyen insanların akıllarında bir şeyler canlandırabilirim.
#include fonksiyonu
Hali hazırda bulunan kütüphaneleri projemize dahil etmek için kullandığımız komuttur. Yazılımcıya daha önceden yazılmış yüzlerce kütüphanenin kapısını açar.
#include <Servo.h>
Şeklinde projenin başına eklenebilir.
Void setup fonksiyonu
Her projede bulunan hazırlık fonksiyonudur, arduino kartımız güç aldıktan sonra bu fonksiyon içindeki kodlar sadece bir kere çalışır.
Örnek olarak pinlerin belirlenmesinde kullanılabilir
void setup() {
myservo.attach(9); // 9 numaralı pine servo ataması
}Void loop fonksiyonu
Setup gibi her projede bulunur ve asıl proje kodlarımızı bu fonksiyon içerisinde kullanırız, bu fonksiyon içerisindeki kodlar arduino çalıştığı sürece bir döngü içerisinde sürekli olarak çalışır.
void loop() {
for (int pos = 0; pos <= 180; pos += 1) { // 0 dan 180 dereceye
myservo.write(pos); // servoya pos değişken derecesine gönder.
delay(15); // 15 salise bekle
}
for (int pos = 180; pos >= 0; pos -= 1) { // 180 den 0 dereceye
myservo.write(pos); // servoya pos değişken derecesine gönder.
delay(15); // 15 salise bekle }}Pin mode fonksiyonu
Yukarıda bahsettiğimiz setup fonksiyonunda pinlerin ayarlanmasında kullanılan fonksiyondur, bu fonksiyon 2 adet parametreden oluşmaktadır. INPUT ve OUTPUT parametreleriyle setup fonksiyonunun içinde istenilen ayarlamalar yapılabilir.
void setup() {
pinMode(13, OUTPUT);
pinMode(9, INPUT);
}digitalWrite fonksiyonu
digitalWrite fonksiyonu adındanda belli olduğu üzere arduino üzerindeki digital pinlere yazma işlemi yapmamızı sağlar, iki adet parametresi bulunmaktadır. Bu parametreler HIGH ve LOW şeklindedir. HIGH parametresi pine 5 volt gönderirken LOW parametresi 0 volt gönderir.
void loop() {
digitalWrite(2, HIGH); // 5 volt
delay(1000);
digitalWrite(2, LOW); // 0 volt
}digitalRead fonksiyonu
Digital pin üzerinde okuma yapmamıza ve bir değer olmamıza yarar.
void loop() {
deger = digitalRead(3); // 3.pin değerini oku
if(deger === 1){
digitalWrite(5, HIGH); // pin değeri 1 ise 5 volt ver*
}else{
digitalWrite(5, LOW) // 1 değilse 0 volt ver
}
}delay fonksiyonu
Basit kullanımıyla ve işlevselliğiyle en sevdiğim temel fonksiyonlardan olay delay iki işlem arasına ms cinsinden gecekme ekler.
Void loop örneğindeki kullanımına dair örneği aşağıya tekrar bırakıyorum.
void loop() {
for (int pos = 0; pos <= 180; pos += 1) {
myservo.write(pos);
delay(15);
}