arduİno - kavsaoglu...arduino eğitimleri 22 arduino dili matematik fonksiyonlar fonksiyon...

22
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 1 ARDUİNO Arduino Eğitimleri Bölüm 4 Programlama Dili Temelleri - II http://www.flickr.com/photos/collinmel/2317520331/

Upload: others

Post on 14-Jul-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri1

ARDUİNO

Arduino Eğitimleri

Bölüm 4

Programlama Dili Temelleri - II

http://www.flickr.com/photos/collinmel/2317520331/

Page 2: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri2

Arduino Dili - II

Neler Göreceğiz?

Fonksiyonlar

Matematik İşlemler

Gecikme / Zaman Fonksiyonları

Page 3: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri3

Arduino DiliFonksiyonlar

ƒ(x)ÇıktılarFonksiyonGirişler

Page 4: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri4

Arduino DiliFonksiyonlar

Arduino programlarımızı tek bir fonksiyon (loop())

içerisinde yazabileceğimiz gibi onları küçük birimlere

de ayırabiliriz.

Daha önce kullandığımız Delay() fonksiyonu parametre alan ama değer döndürmeyen bir fonksiyondur.

Page 5: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri5

Arduino DiliFonksiyonlar

loop()

Fonksiyon_A() Fonksiyon_B() Fonksiyon_C()

Page 6: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri6

Arduino DiliFonksiyonlar

Fonksiyonlar parametre almaları ve değer döndürmeleri zorunlu değildir.

Değer döndürmeyen fonksiyonların dönüş değer tipi “void” dir.

Page 7: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri7

Arduino DiliFonksiyonlar

Fonksiyonlar parametre alıp almadıklarına veya

değer döndürüp döndürmemelerine göre

gruplanabilir:

Page 8: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri8

Arduino DiliFonksiyonlar

Parametre almayan ve dönüş değeri olmayan

Parametre alan ve dönüş değeri olmayan

Parametre almayan ve dönüş değeri olan

Parametre alan ve dönüş değeri olan

Page 9: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri9

Arduino DiliFonksiyonlar

int ornekBirFonksiyon(int sayi1, int sayi2) {

/* Parametre olarak verilen iki tam sayının

toplamını döndüren fonksiyon */

int sonuc;

sonuc = sayi1 + sayi2;

return sonuc;

}

1. Parametre 2. Parametre

Dönüş değeri tipi

Page 10: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri10

Arduino DiliFonksiyonlar

void ArduinoYazdir() {

/* Seri çıkış üzerinden “Arduino” yazdıran

fonksiyon

*/

Serial.println(“Arduino”);

}

Dönüş değeri yok (void)

Page 11: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri11

Arduino DiliFonksiyonlar

Fonksiyonları tekrar edilen işlemler için

kullanabiliriz.Fonksiyonlara verdiğimiz girişlere “parametre” denilir. Fonksiyonlar tanımlanırken hangi tip parametre alacakları belirtilir.

Page 12: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri12

Fonksiyon Çağırma

/*

Seri haberleşme üzerinden “Arduino” yazdıran

fonksiyon saniyede 1 çağırılıyor.

*/

void setup() {

Serial.begin(9600);

}

void loop() {

ArduinoYazdir(); // Fonksiyon çağrısı

delay(1000); // Bir saniye bekle

}

Page 13: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri13

Arduino DiliFonksiyonlar

Fonksiyonlara parametre iletmenin iki yolu vardır:

Değerle çağırma ve Referansla çağırma

Değerle çağırmada fonksiyona iletilen parametrelerle yapılan işlemler sonucu verilen parametrelerin değerlerinde değişim olmaz.

Page 14: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri14

Arduino DiliFonksiyonlarda Değerle Çağırma

int ornekBirFonksiyon(int sayi1, int sayi2) {

/* Parametre olarak verilen iki tam sayının

toplamını döndüren fonksiyon */

int sonuc;

sonuc = sayi1 + sayi2;

return sonuc;

}

1. Parametre 2. Parametre

Dönüş değeri tipi

Page 15: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri15

Arduino DiliFonksiyonlar

Referansla çağırmada fonksiyona iletilen parametrelerin bellek adresleri(referans) fonksiyona iletilir ve parametrelerin orijinal değerleri üzerinde işlem yapılır.

Page 16: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri16

Arduino DiliFonksiyonlarda Referansla

Çağırma

void degerleriTopla(int sayi1, int sayi2, int &toplam) {

/* Parametre olarak verilen iki tam sayının

toplamını döndüren fonksiyon */

toplam = sayi1 + sayi2;

}

1. Parametre

referans

Dönüş değeri tipi void

Page 17: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri17

Arduino DiliGecikme ve Zaman

Fonksiyonları

Gecikme fonksiyonu delay()’i daha önce görmüştük.

delay(ms_gecikme) ms gecikme

delayMicroseconds(us_gecikme) us gecikme gibi

Page 18: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri18

Arduino DiliGecikme ve Zaman

Fonksiyonları

millis() fonksiyonu Arduino’nun çalışmasından

itibaren geçen süreyi ms cinsinden döndürür.

Ortalama 50 günde bir sıfırlanır.

Dönüş değeri yüksek bir değer olabileceğinden“unsigned long” tipi kullanılmalıdır.

Page 19: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri19

Arduino DiliMatematik Fonksiyonlar

Temel matematik işlemleri matematik

operatörleriyle gerçekleştirebiliyoruz.

Karekök alma, trigonometrik hesaplamalar gibi işlemler için matematik kütüphanesi fonksiyonlarını kullanabiliriz.

Page 20: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri20

Arduino DiliMatematik Operatörler

Operatör İşlem

+ TOPLAMA

- ÇIKARMA

* ÇARPMA

/ BÖLME

% KALAN

= ATAMA

Page 21: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri21

Arduino DiliMatematik Fonksiyonlar

Fonksiyon Parametre İşlem

Pow(x,n) x: Sayı

n: Üs değeriÜs alma

Sqrt(x) x: sayi Karekök alma

Abs(x) x: sayi Mutlak Değer

sin(x) x: açı (radyan) Sinüs

cos(x) x: açı (radyan) Kosinüs

tan(x) x: açı (radyan) Tanjant

Page 22: ARDUİNO - Kavsaoglu...Arduino Eğitimleri 22 Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuç a = min(x,y) x: Sayi-1 y: Sayi-2 İki sayının en küçüğü a = max(x,y)

29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem

Arduino Eğitimleri22

Arduino DiliMatematik Fonksiyonlar

Fonksiyon Parametre Sonuç

a = min(x,y) x: Sayi-1

y: Sayi-2

İki sayının en küçüğü

a = max(x,y) x: Sayi-1

y: Sayi-2

İki sayının en büyüğü

a = constrain(x,min,max) x: sayı İki değer arasına sınırlama

a = floor(x) x: ondalık sayı En küçük tam sayıya

yuvarlama

a = ceil(x) x: ondalık sayı En büyük tam sayıya

yuvarlama