Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri

Benzer bir sunumlar


... konulu sunumlar: "ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri"— Sunum transkripti:

1 ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

2 Arduino Dili Neler Göreceğiz?
Arduino Dili Neler Göreceğiz? Arduino Programlama Dili Veri Tipleri Kontrol Yapıları Döngüler Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

3 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Arduino Dili Arduino temel olarak Processing programlama diline dayanıyor. Söz dizimi (sentaks) olarak C / C++ / Java dillerine benzer. Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

4 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Arduino Dili Satır sonlarında noktalı virgül (;) bulunuyor Bloklar süslü parantezlerle { } tanımlanıyor. // veya /* */ karakterleri ile yorumlar yazılabilir. Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

5 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
İLK PROGRAMIMIZ /* Pin13’e bağlı olan LED saniyede bir Yakılıp söndürülüyor. */ void setup() { // 13. pini çıkış olarak ayarlıyoruz // 13. pine Arduino kartında bir LED bağlı pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); // LED’i yak delay(1000); // Bir saniye bekle digitalWrite(13, LOW); // LED’i söndür Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri

6 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Arduino Programlama main() fonksiyonu bulumuyor. Onun yerine setup() ve loop() var. Setup bir kerelik, loop sürekli çalışan işlemler için. delay() fonksiyonu ile gecikmeler oluşturuluyor Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

7 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Veri Tipleri Bütün işlemleri veri tipleri üzerinde gerçekleştiriyoruz. Verileri tutan belleklere “değişken” isimleri vererek kullanıyoruz. Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

8 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Değişkenler Değişken isimleri Türkçe karakter içeremez Rakamlarla başlayamaz Büyük – küçük harf duyarlıdır. Programlama dilinin anahtar kelimeleri isim olarak kullanılamaz Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

9 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Veri Tipleri Tam sayı tipler: (unsigned /signed) char, int, long Kayar Noktalı Tipler: float, double Karakter: char, string Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

10 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Veri Tipleri TİP BOYUT ARALIK int 2 bayt ile arası unsigned int 0 ile arası long 4 bayt ile unsigned long 0 ile arası char 1 bayt -128 ile 127 arası byte 0 ile 255 arası Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

11 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Veri Tipleri TİP BOYUT ARALIK float 4 bayt E+38 ile E+38 double E+38 ile E+38 boolean 1 bayt TRUE(1) veya FALSE(0) Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

12 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Veri Tipleri Tam sayı tipler: (unsigned /signed) char, int, long, short Kayar Noktalı Tipler: float, double Karakter: char, string Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

13 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Veri Tipleri Arduino 8 bitlik bir mikrodenetleyiciye sahip Kısıtlı bir belleğe sahip olduğundan veri tiplerini doğru kullanmak önemli Noktalı-sayılar fazla işlem gücü gerektiriyor! Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

14 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Veri Tipleri UYGULAMA Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

15 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Veri Tipleri Diziler Aynı tipte birden fazla değişken gerekli olduğunda diziler kullanılabilir int dizi[10]; // 10 elemanlı bir int dizisi float ondalikDizi[5]; // 5 elemanlı bir float dizisi char karDizi[] = {'A','R','D','U','I','N','O'}; int sayiDizisi[] = {1,2,3,4,5,6,7}; Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

16 Veri Tipleri 2 boyutlu Diziler
Veri Tipleri 2 boyutlu Diziler int dizi[4][5]; // 4x5 elemanlı bir int dizisi Sütun 0 Sütun 1 Sütun 2 Sütun 3 Sütun 4 Satır 0 dizi[0][0] dizi[0][1] dizi[0][2] dizi[0][3] dizi[0][4] Satır 1 dizi[1][0] dizi[1][1] dizi[1][2] dizi[1][3] dizi[1][4] Satır 2 dizi[2][0] dizi[2][1] dizi[2][2] dizi[2][3] dizi[2][4] Satır 3 dizi[3][0] dizi[3][1] dizi[3][2] dizi[3][3] dizi[3][4] Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

17 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Veri Tipleri Diziler int ikiBoyutluDizi[4][5]; // 4x5 elemanlı bir int dizisi int ikiBoyutluDizi[4][5]= { {1, 2, 3, 4, 5}, {11, 12, 13, 14, 15}, {10, 20, 30, 40, 50}, {-1, -2, -3, -4, 890 }}; Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

18 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Diziler UYGULAMA Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

19 Değişkenlerin Faaliyet Alanları(scope)
Değişkenlerin Faaliyet Alanları(scope) Değişkenler program içerisinde geçerli oldukları alanlara göre global veya lokal değişkenler olarak ikiye ayrılabilirler Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

20 Değişkenlerin Faaliyet Alanları(scope)
Değişkenlerin Faaliyet Alanları(scope) /* Global değişkenlerin tanımlı olduğu bölge*/ void setup() { /* Yerel değişkenlerin tanımlı olduğu bölge*/ } void loop() { Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

21 Değişkenlerin Ömürleri
Değişkenlerin Ömürleri Değişkenler program içerisinde belirli bölgelerde tanımlı olup daha sonra yok edilebilirler. Global değişkenler bütün program boyunca tanımlıdırlar, yok edilmezler. Otomatik değişkenler tanımlı oldukları blok boyunca yaşayıp bloktan çıkınca yok edilirler. Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

22 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Kontrol Yapıları Programımızın akışını değiştirmek, belirli şartlar sağlandığında belirli işlemler yaptırmak için kontrol yapıları kullanılır. “Belirli şartları” mantık önermelerle ifade ediyoruz Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

23 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Mantık Önermeleri a == b a eşittir b a != b a eşit değildir b a > b a küçüktür b a < b a büyüktür b a <= b a küçük - eşittir b a >= b a büyük - eşittir b Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

24 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Mantık Önermeleri Mantık önermelerin sonucu DOĞRU (TRUE / 1) veya YANLIŞ (FALSE / 0) olabilir. Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

25 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Mantık Operatörleri Temel mantık operatörleri AND (ve), OR (veya), NOT (değil) ‘dir. AND && OR || NOT ! Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

26 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Mantık Önermeleri AND AND operatörü uygulanan iki ifadeden her ikisinin de sonucu TRUE ise sonuç TRUE olur! İFADE - 1 İFADE - 2 İFADE1 && İFADE 2 TRUE FALSE Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

27 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Mantık Önermeleri OR OR operatörü uygulanan iki ifadeden EN AZ birisinin sonucu TRUE ise sonuç TRUE olur! İFADE - 1 İFADE - 2 İFADE1 || İFADE 2 TRUE FALSE Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

28 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Mantık Önermeleri NOT Bir ifadeye NOT operatörü uygulanırsa sonuc ifadenin sonucun DEĞİLİ (tersi) olur! İFADE - 1 !İFADE-1 TRUE FALSE Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

29 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Mantık Önermeleri NOT Bir ifadeye NOT operatörü uygulanırsa sonuc ifadenin sonucun DEĞİLİ (tersi) olur! İFADE - 1 !İFADE-1 TRUE FALSE Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

30 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Dallanma “Belirli bir şarta göre şu işi yap” durumları: “Hava kararınca lambayı yak!” “Butona basıldıysa motoru hızlandır” En temel karar yapıları Program akışının değiştirilmesi Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

31 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Dallanma if ( degisken1 == 3) { // degisken1 3’e eşitse işletilecek bölüm …. } else // degisken1 3’e eşit değilse işletilecek bölüm Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

32 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Dallanma if ( degisken1 == 3) { // degisken1 3’e eşitse işletilecek bölüm …. } else if ( degisken1 == 4) // degisken1 4’e eşit değilse işletilecek bölüm else Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

33 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Dallanma switch - case switch(degisken) { case 1: ……….. break; case 2: case n: ……. default: …… } Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

34 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Döngüler for döngüsü while / do – while döngüleri Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

35 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Döngüler for for (başlangıc; adımda doğrulanacak önerme; adım) { // her bir adımda gerçekleştirilecek işlemler } for (i = 0; i < 10; i++) { // her bir adımda gerçekleştirilecek işlemler Serial.println(“Arduino”); } Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

36 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
for döngüsü UYGULAMA Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

37 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Döngüler while while (mantıksal önerme) { // her bir adımda gerçekleştirilecek işlemler } while (i < 100) { // her bir adımda gerçekleştirilecek işlemler Serial.println(“Arduino”); i++; } Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

38 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
While döngüsü UYGULAMA Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

39 Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri
Döngüler do while do { // her bir adımda gerçekleştirilecek işlemler } while (mantıksal önerme); do { // her bir adımda gerçekleştirilecek işlemler Serial.println(“Arduino”); i++; } while(i < 100); Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

40 Döngüler continue ifadesi
Döngüler continue ifadesi Döngü içerisindeyken continue ifadesinden sonraki işlemler atlanarak döngü tekrar başa döndürülür. continue ifadesini döngüdeyken istisnai durumlar oluşturmak için kullanabiliriz. Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

41 Döngüler break ifadesi
Döngüler break ifadesi Döngü içerisindeyken break ifadesi bulunuyorsa döngüden çıkılır. break ifadesini belirli bir şart oluştuğunda döngüyü sonlandırmak için kullanabiliriz. Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri

42 Continue, break ifadeleri
Continue, break ifadeleri UYGULAMA Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri Coşkun Taşdemir - Arduino Eğitimleri


"ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri" indir ppt

Benzer bir sunumlar


Google Reklamları