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

Slides:



Advertisements
Benzer bir sunumlar
Hazırlayan ve Sunan Ali Yasin Çakılcı HUNROBOTX
Advertisements

Değişken , Veri Türleri ve Operatörler
JavaScript Birinci Hafta.
Kontrol İfadeleri : 2.Kısım
Programlama-II (Java ile Bilgisayar Programlama)
switch - case Yapısı Döngü Yapıları
Kontrol Çevrimleri FOR WHILE DO-WHILE IF-ELSE SWITCH-CASE-DEFAULT
Bölüm 5 – Kontrol İfadeleri : 2.Kısım
Bölüm 4 – Kontrol İfadeleri:1.kısım
Bölüm 5 – Kontrol İfadeleri : 2.Kısım
Bölüm 2: Program Denetimi
VERİ TİPLERİ VE DEĞİŞKENLER
OOP4 LAB.
Elektrik-Elektronik Mühendisliği Bölümü DİZİLER C Programlama Dili Yaz Stajı Cengiz TEPE SAMSUN 2007.
Karar ifadeleri ve Döngüler
T-SQL-2.Konu Akış Kontrolleri.
Yapısal Program Geliştirme – if, if-else
Operatörler ve Denetim Yapıları
ARDUINO DİJİTAL PİN KONTROLÜ
Döngü Yapıları.
Temel Veri Türleri ve Operatörler
Koşul İfadeleri ve Akış Kontrolü Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir akış kontrolü oluşturabilmek için koşul ifadelerini.
Akış Kontrol Mekanizmaları
Kontrol Yapıları ve Döngüler
Çoklu dallanma seçimi: switch
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
ARDUINO RÖLE KONTROLÜ.
Bölüm 4 – C’de Program Kontrolü
DÖNGÜ YAPILARI.
JAVA’DA DİZİLER Dr.Galip AYDIN.
DÖNGÜLER(Loop) while, for döngüleri Break ve continue işlevleri
DEYİMLER DEYİM NEDİR? Kaç guruba ayrılır? İf deyimi nasıl çalışır?
VERİ TİPLERİ VE DEĞİŞKENLER
PROGRAM DENETİM DEYİMLERİ
String class String karakterler dizisidir
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
Ders 2- Veri türleri, Karar ve Döngü Yapıları, Görsel Kontröller
JAVA PROGRAMLAMA ORNEKLER
KOŞUL İFADELERİ.
Akış Kontrolü ve Döngüler
Bu Günkü Konular If yapısı ve karşılaştırma operatörleri
Bugünkü Konular Döngüler ve Akış Diyagramları C de Döngü Tanımlama
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
3. HAFTA 3. Hafta.
Değişkenler Programda Değişken Tanımlama. Değişken nedir? (Variables) Program içinde kullanılan veri(data)nin tutulduğu alanın adıdır. Her veri bir tür.
Seri Port ile İletişim.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
IF if (şart) { İşlemler… }
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
VERİ TİPLERİ BYTE:0-255 ARASI TAMSAYI (1 BYTE)
VERİ ve BELLEK & DEĞİŞKENLERİN SAKLANMASI Asst.Prof.Dr.Misket YEKTAY Gizem AYIK.
JAVA 1. GİRİŞ & TARİHÇE Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmıştır. Açık kodlu. Nesneye yönelik. Düzlemden.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
Fonksiyonlar ve Diziler
C Programlama Dili Bilgisayar Mühendisliği.
EETE233 Mikrodenetleyiciler ArduIno ile Programlama
ARDUİNO Arduino Eğitimleri Bölüm 6 Analog Giriş – Çıkış İşlemleri
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
EETE233 Mikrodenetleyiciler ArduIno ile Programlama
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
PROGRAM KONTROL KOMUTLARI 1. if koşulu 2. if else koşulu
Arduino Eğitimleri Bölüm 5 Dijital Giriş – Çıkış İşlemleri
Veri Tipleri 12/4/2018.
4- OPERATÖR – koşul - döngü Nesne Yönelimli Programlama - i
ARDUİNO Arduino Eğitimleri Bölüm 2 Arduino’ya Giriş
Arduino Programlama Dili
Bölüm 2: Program Denetimi
Java İle Programlamaya GİRİş
Sunum transkripti:

ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri 03.12.2018 ARDUİNO http://www.flickr.com/photos/collinmel/2317520331/ Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Arduino Dili Neler Göreceğiz? 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

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 03.12.2018

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

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

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

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

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

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Veri Tipleri 2 boyutlu Diziler 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

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

Değişkenlerin Faaliyet Alanları(scope) 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Değişkenlerin Faaliyet Alanları(scope) 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Değişkenlerin Ömürleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

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

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

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

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

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

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

Coşkun TAŞDEMİR - Çizgi-Tagem Arduino Eğitimleri 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Döngüler continue ifadesi 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

Döngüler break ifadesi 03.12.2018 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 03.12.2018 Coşkun Taşdemir - Arduino Eğitimleri

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