Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Arduino eğitimleri 4 - arduino programlama dili - 2

12,523 views

Published on

Çizgi Tagem Arduino Web Seminerleri 4

Published in: Technology
  • Be the first to comment

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

×