ARDUNO http www flickr comphotoscollinmel2317520331 Arduino Eitimleri Blm
ARDUİNO http: //www. flickr. com/photos/collinmel/2317520331/ Arduino Eğitimleri Bölüm 4 Programlama Dili Temelleri - II 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 1
Arduino Dili - II Neler Göreceğiz? ü Fonksiyonlar ü Matematik İşlemler ü Gecikme / Zaman Fonksiyonları 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 2
Arduino Dili Fonksiyonlar ƒ(x) Girişler 2/25/2021 Fonksiyon Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri Çıktılar 3
Arduino Dili Fonksiyonlar ü 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. 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 4
Arduino Dili Fonksiyonlar loop() Fonksiyon_A() 2/25/2021 Fonksiyon_B() Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri Fonksiyon_C() 5
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. 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 6
Arduino Dili Fonksiyonlar ü Fonksiyonlar parametre alıp almadıklarına veya değer döndürüp döndürmemelerine göre gruplanabilir: 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 7
Arduino Dili Fonksiyonlar ü Parametre almayan ve dönüş değeri olmayan ü Parametre almayan ve dönüş değeri olan ü Parametre alan ve dönüş değeri olan 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 8
Arduino Dili Fonksiyonlar Dönüş değeri tipi int ornek. Bir. Fonksiyon(int sayi 1, int sayi 2) { /* Parametre olarak verilen iki tam sayının toplamını döndüren fonksiyon */ int sonuc; sonuc = sayi 1 + sayi 2; return sonuc; } 1. Parametre 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 2. Parametre 9
Arduino Dili Fonksiyonlar Dönüş değeri yok (void) void Arduino. Yazdir() { /* Seri çıkış üzerinden “Arduino” yazdıran fonksiyon */ Serial. println(“Arduino”); } 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 10
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. 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 11
Fonksiyon Çağırma /* Seri haberleşme üzerinden “Arduino” yazdıran fonksiyon saniyede 1 çağırılıyor. */ void setup() { Serial. begin(9600); } void loop() { Arduino. Yazdir(); // Fonksiyon çağrısı delay(1000); // Bir saniye bekle } 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 12
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. 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 13
Arduino Dili Fonksiyonlarda Değerle Çağırma Dönüş değeri tipi int ornek. Bir. Fonksiyon(int sayi 1, int sayi 2) { /* Parametre olarak verilen iki tam sayının toplamını döndüren fonksiyon */ int sonuc; sonuc = sayi 1 + sayi 2; return sonuc; } 1. Parametre 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 2. Parametre 14
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. 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 15
Arduino Dili Fonksiyonlarda Referansla Çağırma referans Dönüş değeri tipi void degerleri. Topla(int sayi 1, int sayi 2, int &toplam) { /* Parametre olarak verilen iki tam sayının toplamını döndüren fonksiyon */ toplam = sayi 1 + sayi 2; } 1. Parametre 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 16
Arduino Dili Gecikme ve Zaman Fonksiyonları ü Gecikme fonksiyonu delay()’i daha önce görmüştük. ü delay(ms_gecikme) ms gecikme ü delay. Microseconds(us_gecikme) us gecikme gibi 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 17
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. 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 18
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. 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 19
Arduino Dili Matematik Operatörler Operatör 2/25/2021 İşlem + TOPLAMA - ÇIKARMA * ÇARPMA / BÖLME % KALAN = ATAMA Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 20
Arduino Dili Matematik Fonksiyonlar Fonksiyon Parametre İşlem 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 Pow(x, n) 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 21
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) 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 2/25/2021 Coşkun TAŞDEMİR - Çizgi. Tagem Arduino Eğitimleri 22
- Slides: 22