Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanΑλθαία Δοξαράς Değiştirilmiş 6 yıl önce
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
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.