Arduino eğitimleri 4 - arduino programlama dili - 2

11,138 views

Published on

Çizgi Tagem Arduino Web Seminerleri 4

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
11,138
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
416
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Arduino eğitimleri 4 - arduino programlama dili - 2

  1. 1. ARDUİNO http://www.flickr.com/photos/collinmel/2317520331/ Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri - II13/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 1
  2. 2. Arduino Dili - II Neler Göreceğiz?  Fonksiyonlar  Matematik İşlemler  Gecikme / Zaman Fonksiyonları13/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 2
  3. 3. Arduino Dili Fonksiyonlar ƒ(x) Girişler Fonksiyon Fonksiyon Çıktılar13/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 3
  4. 4. Arduino Dili Fonksiyonlar Arduino programlarımızı tek bir fonksiyon (loop())içerisinde yazabileceğimiz gibi onları küçük birimlerede ayırabiliriz. Daha önce kullandığımız Delay() fonksiyonu parametrealan ama değer döndürmeyen bir fonksiyondur.13/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 4
  5. 5. Arduino Dili Fonksiyonlar loop() loop()Fonksiyon_A()Fonksiyon_A() Fonksiyon_B() Fonksiyon_B() Fonksiyon_C() Fonksiyon_C()13/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 5
  6. 6. Arduino Dili Fonksiyonlar  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/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 6
  7. 7. Arduino Dili Fonksiyonlar Fonksiyonlar parametre alıp almadıklarına veyadeğer döndürüp döndürmemelerine göregruplanabilir:13/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 7
  8. 8. Arduino Dili Fonksiyonlar  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 olan13/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 8
  9. 9. Arduino Dili Fonksiyonlar Dönüş değeri tipiint 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. Parametre13/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 9
  10. 10. Arduino Dili Fonksiyonlar Dönüş değeri yok (void) void ArduinoYazdir() { /* Seri çıkış üzerinden “Arduino” yazdıran fonksiyon */ Serial.println(“Arduino”); }13/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 10
  11. 11. Arduino Dili Fonksiyonlar  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/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 11
  12. 12. 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 }13/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 12
  13. 13. Arduino Dili Fonksiyonlar  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/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 13
  14. 14. Arduino Dili Fonksiyonlarda Değerle Çağırma Dönüş değeri tipiint 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. Parametre13/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 14
  15. 15. Arduino Dili Fonksiyonlar  Referansla çağırmada fonksiyona iletilen parametrelerin bellek adresleri(referans) fonksiyona iletilir ve parametrelerin orijinal değerleri üzerinde işlem yapılır.13/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 15
  16. 16. Arduino Dili Fonksiyonlarda Referansla Çağırma referans Dönüş değeri tipi voidvoid 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. Parametre13/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 16
  17. 17. Arduino Dili Gecikme ve Zaman Fonksiyonları  Gecikme fonksiyonu delay()’i daha önce görmüştük.  delay(ms_gecikme)  ms gecikme  delayMicroseconds(us_gecikme)  us gecikme gibi13/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 17
  18. 18. Arduino Dili Gecikme 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/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 18
  19. 19. Arduino Dili Matematik 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/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 19
  20. 20. Arduino Dili Matematik Operatörler Operatör İşlem + TOPLAMA - ÇIKARMA * ÇARPMA / BÖLME % KALAN = ATAMA13/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 20
  21. 21. Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre İşlem Pow(x,n) x: Sayı Üs alma n: Üs değeri 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) Tanjant13/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 21
  22. 22. Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre Sonuça = min(x,y) x: Sayi-1 İki sayının en küçüğü y: Sayi-2a = max(x,y) x: Sayi-1 İki sayının en büyüğü y: Sayi-2a = constrain(x,min,max) x: sayı İki değer arasına sınırlamaa = floor(x) x: ondalık sayı En küçük tam sayıya yuvarlamaa = ceil(x) x: ondalık sayı En büyük tam sayıya yuvarlama 13/11/12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 22

×