arduino eğitimleri 4 - arduino programlama dili - 2

Post on 28-Jun-2015

6.768 Views

Category:

Technology

13 Downloads

Preview:

Click to see full reader

DESCRIPTION

Çizgi Tagem Arduino Web Seminerleri 4

TRANSCRIPT

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

1

ARDUİNO

Arduino Eğitimleri Bölüm 3

Programlama Dili Temelleri - II

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

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

2

Arduino Dili - IINeler Göreceğiz?

Fonksiyonlar

Matematik İşlemler

Gecikme / Zaman Fonksiyonları

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

3

Arduino DiliFonksiyonlar

ƒ(x)ÇıktılarFonksiyonFonksiyonGirişler

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

4

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.

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

5

Arduino DiliFonksiyonlar

loop()loop()

Fonksiyon_A()Fonksiyon_A() Fonksiyon_B()Fonksiyon_B() Fonksiyon_C()Fonksiyon_C()

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

6

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.

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

7

Arduino DiliFonksiyonlar

Fonksiyonlar parametre alıp almadıklarına veya değer döndürüp döndürmemelerine göre gruplanabilir:

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

8

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

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

9

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

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

10

Arduino DiliFonksiyonlar

void ArduinoYazdir() { /* Seri çıkış üzerinden “Arduino” yazdıran fonksiyon */ Serial.println(“Arduino”);}

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

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

11

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.

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

12

Fonksiyon Çağırma

/* Seri haberleşme üzerinden “Arduino” yazdıranfonksiyon saniyede 1 çağırılıyor. */void setup() { Serial.begin(9600); }void loop() { ArduinoYazdir(); // Fonksiyon çağrısı delay(1000); // Bir saniye bekle }

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

13

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.

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

14

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

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

15

Arduino DiliFonksiyonlar

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

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

16

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

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

17

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

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

18

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.

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

19

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.

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

20

Arduino DiliMatematik Operatörler

Operatör İşlem

+ TOPLAMA

- ÇIKARMA

* ÇARPMA

/ BÖLME

% KALAN

= ATAMA

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

21

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

13.04.23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

22

Arduino DiliMatematik Fonksiyonlar

Fonksiyon Parametre Sonuç

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

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

a = max(x,y) x: Sayi-1y: 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

top related