Arduino Programlama Dili Hızlı Referans-1.Bölüm
Bu bölümde, standart Arduino API'sindeki en yaygın öğelerin bir listesine yer verilmiştir.
Genel
1. setup(): Bu fonksiyon, program yapılandırmalarını yaptığınız yerdir.
void setup()
{
//Program yapılandırmaları burada yer alır.
}
2. loop(): Bu fonksiyon, ana programınızın depolandığı yerdir. Kartınıza enerji verildiği sürece buradaki komutlar çalışır.
void loop()
{
//Ana program burada yer alır.
}
3. delay(): Bu fonksiyon, programı belirli bir milisaniye sayısı kadar duraklatır. Gecikme süresi için kullanılır. Aşağıda verilen klasik LED açma kapama kod parçacığında delay() fonksiyonu kullanılmıştır.
void loop()
{
digitalWrite(LED, HIGH); //LED’i yak.
delay(1000); //LED açıkken 1000 msn (1 sn) bekle.
digitalWrite(LED, LOW); //LED’i söndür.
delay(1000); //LED kapalıyken 1000 msn (1 sn) bekle.
}
delay() fonksiyonu, çok kullanışlı bir fonksiyondur. Birçok kodda kullanılır. Ancak gecikme süresi boyunca Arduino'nun herhangi bir şey yapmasını engellediği için kodun verimliliği açısından en iyi seçenek değildir. Bu durumda millis() fonksiyonu kullanılır.
4. millis(): Bu fonksiyon, daha gelişmiştir. İnanılmaz derecede becerikli bir fonksiyondur. Programı duraklatmadan aynı anda birden fazla olayın gerçekleşmesini sağlar. Bu durum, programın başlamasından bu yana geçen süreyi (milisaniye cinsinden) ölçerek yapılır. Ardından aralıkların kullanılması ve son olay için zamanın sürekli olarak saklanmasıyla programı duraklatmadan olayların belirli zamanlarda gerçekleşmesi için basit bir algoritma yapılabilir.
unsigned long ilkSure_1 = 0; //İlk etkinlik için saklama süresi.
unsigned long ilkSure_2 = 0; //İkinci etkinlik için saklama süresi.
const long aralik_1 = 1000; //İlk olay için aralık 1 sn.
const long aralik_2 = 2000; //İkinci olay için aralık 2 sn.
void setup()
{}
void loop()
{
//Programın başlamasından bu yana geçen süreyi kontrol edin ve "gecerliSure" değişkeni içinde saklayın.
unsigned long gecerliSure = millis();
//Son olaydan bu yana 1 saniyenin geçip geçmediğini kontrol eden koşul ifadesi
if (gecerliSure - ilkSure_1 >= aralik_1)
{
ilkSure_1 = millis(); //Her 1 saniyede bir kod parçası yürütün.
}
//Son olaydan bu yana 2 saniyenin geçip geçmediğini kontrol eden koşul ifadesi
if (gecerliSure - ilkSure_2 >= aralik_2)
{
ilkSure_2 = millis(); //Her 2 saniyede bir kod parçası yürütün.
}
}
millis() fonksiyonu, delay() fonksiyonundan daha gelişmiş olsa da delay() fonksiyonu kolay ve çok çabuk bir şekilde kullanılabilir.
Fonksiyonlar
Yalnızca kod yürüten ve programa geri dönen veya bir sonuç/değer döndüren özel fonksiyonlar oluşturabilirsiniz.
Void değer döndürmeyen fonksiyon örneği aşağıda verilmiştir.
int x;
void loop()
{
bubirFonksiyon(); //Fonksiyonu çalıştır.
}
void bubirFonksiyon()
{
x++; //Fonksiyon her çalıştırıldığında x'i 1 artır.
}
int tipinde tam sayı bir değer döndüren fonksiyon örneği aşağıda verilmiştir.
int deger;
void setup()
{}
void loop()
{
deger = degerdondurenFonksiyon();
}
int degerdondurenFonksiyon() //Geri dönüş tipi int.
{
int geridonusDegeri = 7 + 12;
return geridonusDegeri;
}
Değişken tanımı
Değişkenler yerel olarak veya genel olarak oluşturulabilir. loop() içerisinde tanımlanan değişkenler lokal (yerel) olarak kabul edilir. Kodun en başında tanımlanan değişkenler global (genel) olarak kabul edilir.
int sensorOku = x; //Global (genel) değişken.
void setup()
{}
void loop()
{
int sensorOku = x; //Lokal (yerel) değişken.
}
Veri tipleri
Kullanılabilecek birkaç veri türü vardır. Aşağıda en yaygın olanlardan bazıları verilmiştir.
- bool
- byte
- char
- double
- float
- int
- long
- short
- String
Tam sayılar için int veri tipi kullanılır. Verileri bir dosyada depolamak için int veri tipi örneği aşağıda verilmiştir.
int ornekSayi = 25;
Ondalık sayılar için float veri tipi kullanılır. Çok fazla ondalık basamak içeren sayılar için float veri tipi örneği aşağıda verilmiştir.
float ornekSayi = 22.2123002;
Metin dizileri için String veri tipi kullanılır. Bir metin dizisini saklamak için String veri tipi örneği aşağıda verilmiştir.
String ornekMetin = "www.beyzemiter.com";
Basit anahtarlar ve doğru/yanlış için bool kullanılır. bool veri tipi örneği aşağıda verilmiştir.
bool ornekDurum = true; //true/false (doğru/yanlış).
Kaynak: arduino.cc
BİR CEVAP YAZ