You are on page 1of 22

08.05.

2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
1
ARDUNO
Arduino Eitimleri
Blm 4
Programlama Dili Temelleri - II
http://www.flickr.com/photos/collinmel/2317520331/
08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
2
Arduino Dili - II
Neler Greceiz?

Fonksiyonlar
Matematik lemler
Gecikme / Zaman Fonksiyonlar

08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
3
Arduino Dili
Fonksiyonlar
(x)


ktlar Fonksiyon Giriler
08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
4
Arduino Dili
Fonksiyonlar
Arduino programlarmz tek bir fonksiyon (loop())
ierisinde yazabileceimiz gibi onlar kk birimlere
de ayrabiliriz.

Daha nce kullandmz Delay() fonksiyonu parametre
alan ama deer dndrmeyen bir fonksiyondur.

08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
5
Arduino Dili
Fonksiyonlar
loop()
Fonksiyon_A() Fonksiyon_B() Fonksiyon_C()
08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
6
Arduino Dili
Fonksiyonlar
Fonksiyonlar parametre almalar ve deer
dndrmeleri zorunlu deildir.

Deer dndrmeyen fonksiyonlarn dn
deer tipi void dir.


08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
7
Arduino Dili
Fonksiyonlar
Fonksiyonlar parametre alp almadklarna veya
deer dndrp dndrmemelerine gre
gruplanabilir:


08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
8
Arduino Dili
Fonksiyonlar
Parametre almayan ve dn deeri olmayan

Parametre alan ve dn deeri olmayan

Parametre almayan ve dn deeri olan

Parametre alan ve dn deeri olan



08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
9
Arduino Dili
Fonksiyonlar
int ornekBirFonksiyon(int sayi1, int sayi2) {
/* Parametre olarak verilen iki tam saynn
toplamn dndren fonksiyon */
int sonuc;
sonuc = sayi1 + sayi2;

return sonuc;
}
1. Parametre
2. Parametre
Dn deeri tipi
08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
10
Arduino Dili
Fonksiyonlar
void ArduinoYazdir() {
/* Seri k zerinden Arduino yazdran
fonksiyon
*/
Serial.println(Arduino);
}
Dn deeri yok (void)
08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
11
Arduino Dili
Fonksiyonlar
Fonksiyonlar tekrar edilen ilemler iin
kullanabiliriz.
Fonksiyonlara verdiimiz girilere
parametre denilir.
Fonksiyonlar tanmlanrken hangi tip
parametre alacaklar belirtilir.
08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
12
Fonksiyon arma
/*
Seri haberleme zerinden Arduino yazdran
fonksiyon saniyede 1 arlyor.
*/
void setup() {
Serial.begin(9600);
}
void loop() {
ArduinoYazdir(); // Fonksiyon ars
delay(1000); // Bir saniye bekle
}
08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
13
Arduino Dili
Fonksiyonlar
Fonksiyonlara parametre iletmenin iki yolu vardr:
Deerle arma ve Referansla arma

Deerle armada fonksiyona iletilen
parametrelerle yaplan ilemler sonucu
verilen parametrelerin deerlerinde deiim
olmaz.

08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
14
Arduino Dili
Fonksiyonlarda Deerle arma
int ornekBirFonksiyon(int sayi1, int sayi2) {
/* Parametre olarak verilen iki tam saynn
toplamn dndren fonksiyon */
int sonuc;
sonuc = sayi1 + sayi2;

return sonuc;
}
1. Parametre
2. Parametre
Dn deeri tipi
08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
15
Arduino Dili
Fonksiyonlar

Referansla armada fonksiyona iletilen
parametrelerin bellek adresleri(referans)
fonksiyona iletilir ve parametrelerin orijinal
deerleri zerinde ilem yaplr.
08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
16
Arduino Dili
Fonksiyonlarda Referansla
arma
void degerleriTopla(int sayi1, int sayi2, int &toplam) {
/* Parametre olarak verilen iki tam saynn
toplamn dndren fonksiyon */
toplam = sayi1 + sayi2;
}
1. Parametre
referans
Dn deeri tipi void
08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
17
Arduino Dili
Gecikme ve Zaman
Fonksiyonlar
Gecikme fonksiyonu delay()i daha nce grmtk.

delay(ms_gecikme) ms gecikme

delayMicroseconds(us_gecikme) us
gecikme gibi
08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
18
Arduino Dili
Gecikme ve Zaman
Fonksiyonlar
millis() fonksiyonu Arduinonun almasndan
itibaren geen sreyi ms cinsinden dndrr.
Ortalama 50 gnde bir sfrlanr.

Dn deeri yksek bir deer olabileceinden
unsigned long tipi kullanlmaldr.
08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
19
Arduino Dili
Matematik Fonksiyonlar
Temel matematik ilemleri matematik
operatrleriyle gerekletirebiliyoruz.

Karekk alma, trigonometrik hesaplamalar
gibi ilemler iin matematik ktphanesi
fonksiyonlarn kullanabiliriz.
08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
20
Arduino Dili
Matematik Operatrler
Operatr lem
+ TOPLAMA
- IKARMA
* ARPMA
/ BLME
% KALAN
= ATAMA
08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
21
Arduino Dili
Matematik Fonksiyonlar
Fonksiyon Parametre lem
Pow(x,n)
x: Say
n: s deeri
s alma
Sqrt(x) x: sayi Karekk alma
Abs(x) x: sayi Mutlak Deer
sin(x) x: a (radyan) Sins
cos(x) x: a (radyan) Kosins
tan(x) x: a (radyan) Tanjant
08.05.2014
Cokun TADEMR - izgi-Tagem
Arduino Eitimleri
22
Arduino Dili
Matematik Fonksiyonlar
Fonksiyon Parametre Sonu
a = min(x,y)
x: Sayi-1
y: Sayi-2
ki saynn en k
a = max(x,y)
x: Sayi-1
y: Sayi-2
ki saynn en by
a = constrain(x,min,max) x: say
ki deer arasna snrlama
a = floor(x) x: ondalk say
En kk tam sayya
yuvarlama
a = ceil(x) x: ondalk say
En byk tam sayya
yuvarlama

You might also like