Section outline

    • Arduino'ya yeni başlayanlar ya da başlamayı düşünenler için bilinmesi gereken bazı önemli konuları bu dersimizde ele aldık ve dersin sonunda Arduino Uno'ya Arduino IDE aracılığı ile ilk programımızı attık.

    • Bu dersimizde Arduino Uno R3 ile 0-99 Aşağı-Yukarı Sayıcı Uygulamasını gerçekleştiriyoruz. Tabi ki bu uygulamanın tek bir çözüm yolu olmadığı gibi daha iyisini sizler de yapabilirsiniz. Buna yönelik sizlerden aşağıdaki özellikleri uygulamaya eklemenizi bekliyoruz. 

      1) Devreye bir buzzer ekleyelim ve butona her basıldığında bip sesi çıksın. 

      2) Devreye bir 7 segment display daha ekleyelim ve sayacıyı 1 ile 100 arasında çalışacak şekle getirelim. 

      3) Arttır ya da azalt butonuna uzun süre basıldığında sayıdaki değişim giderek hızlansın. Lütfen kendi yaptığınız çalışmaları dersin yorum kısmında paylaşalım.

    • Bir sonraki dersimizde uygulaması anlatılacak devrenin çizimini gösterilmektedir. 

      Devre çizimine ulaşmak için: https://www.tinkercad.com/things/3sGl7uKs7bR

    • Bu dersimizde Arduino'da yer alan geliştirilmiş Giriş-Çıkış fonksiyonları ve belli başlı kullanım alanlarını anlatacağız. Ders çekilirken bu katagoride yer alan tüm fonksiyonlara değindik; 

      noTone() 

      pulseIn() 

      pulseInLong() 

      shiftIn() 

      shiftOut() 

      tone() 

      Ayrıca dersin sonunda sizlere burada kısaca özetleyeceğim eğlenceli iki adet uygulama bırakıyorum. 

      1) Park sensörü uygulaması (Led ve Ses dahil) 

      2) Karaşimşek uygulaması (Müzikte çalacak)

    • Dijital sistemler analog dijital çevrim için ADC, dijital analog çevrim DAC çevresel birimlerini kullanırlar. Arduino Uno içerisinde ADC çevresel birimi mevcuttur. Ama DAC çevresel birimine sahip değildir. 

      Bu dersimizde Arduino Uno'nun Analog Giriş-Çıkış (IO) işlemini nasıl gerçekleştirdiğini RGB LED uygulamasını geliştirerek göreceğiz. Derste yapılan uygulamaya aşağıdaki bağlantıdan ulaşabilirsiniz: 

      https://www.tinkercad.com/things/fDiuHSDDtTl 

      Konu anlatımın sonunda sizlerden beklediğimiz uygulamalar: 

      1) Işık şiddetini kontrol edebileceğimiz ikinci bir potansiyometre ekleyiniz. 

      2) LED'i farklı animasyonları oluşturacak şekilde yakmamızı sağlayan bir buton ekleyiniz. Butona basıldığında her bir ışık kaynağı ayarlanan şiddette sıra ile yalnız yansın. 

      3) Animasyon butonuna bir daha basılınca RGB ledleri arasındaki geçiş ara değerlerin hepsini içerecek şekilde olsun.

    • Bu dersimizde Arduino Uno kartının bilgisayar ile haberleşmesi ve programlanmasında kullanılan USART çevresel birimini tanıttık. Bundan sonraki derslerimizde bu birimi özellikler bilgisayar tarafına bilgi akışını sağlamak için kullanacağız.

    • Bu dersimizde aşağıdaki soruların cevaplarını bulabilirsiniz: 

      1:53 if(Serial){} kullanımı Arduino Uno gibi 328P tabanlı mikrodenetleyici barındıran kartlar için neden gereksizdir? Serial Kütüphanesi için aşağıdaki fonksiyonlarının işlevlerini açıklayınız. 

      3:47 available() 

      20:29 availableForWrite() 

      33:21 find() findUntil() fonksiyonunda karşılaşılan hatanın düzeltilmiş haline aşağıdaki bağlantıdan ulaşabilirsiniz. https://drive.google.com/open?id=1iWJNAVPzlnI7mD3ytkpWFqcd5Y07EyXH 

      45:47 parseFloat() 

      54:57 peek() 

      59:06 readBytes() readBytesUntil() fonksiyonunda karşılaşılan hatanın düzeltilmiş haline aşağıdaki bağlantıdan ulaşabilirsiniz. https://drive.google.com/open?id=1LEtNq20EwD-SBAaq0esVrOyLgiJF3WoJ 

      1:07:39 readString() gelen bilginin tamamlandığını nasıl algılar? 

      1:17:01 SerialEvent() Char Kütüphanesi için aşağıdaki fonksiyonlarının işlevlerini açıklayınız. 

      1:22:39 isAlpha() 

      1:22:59 isAscii() 

      1:23:06 isControl() 

      1:23:28 isDigit() 

      1:23:31 isGraph() 

      1:24:20 isSpace() ve isWhiteSpace() fonksiyonları arasındaki fark nedir? 

      1:24:43 isHexadecimalDigit() 

      1:24:59 isLowerCase() 

      1:25:01 isUpperCase() 

      1:25:06 isPunct() 

      1:25:34 string ile String() arasında nasıl bir fark vardır? String Kütüphanesi için aşağıdaki fonksiyonlarının işlevlerini açıklayınız. 

      1:26:12 charAt() 

      1:26:18 compareTo() 

      1:26:24 concat() 

      1:26:28 c_str() 

      1:27:21 endsWith() 

      1:27:36 equals() 

      1:27:40 equalsIgnoreCase() 

      1:27:47 getBytes() 

      1:28:23 indexOf() 

      1:28:40 lastIndexOf() 

      1:28:44 length() 

      1:28:50 remove() 

      1:29:36 replace() 

      1:30:05 reserve() 

      1:30:41 setCharAt() 

      1:30:47 startsWith() 

      1:30:51 substring() 

      1:31:52 toCharArray() 

      1:32:10 trim() String Kütüphanesi için aşağıdaki operatörlerin işlevlerini açıklayınız. 

      1:32:44 [ ] 

      1:32:51 + 

      1:32:53 += 

      1:32:56 == 

      1:33:11 !=

    • Bu hafta mikrodenetleyici uygulamalarında kullanıcı arayüzü olarak sık kullanılan karakter LCD kütüphanesini inceleyeceğiz. 

      Derste yapılan uygulamaya aşağıdaki bağlantıdan ulaşabilirsiniz. https://www.tinkercad.com/things/fr0xmj6tabH

    • Dönem Sonu Projesi - Part 1.2


    • Bu uygulamamız sıcaklık ve nem ölçümleri uygulama serisinin ilk kısmını oluşturmaktadır. Buradaki amacımız Arduino Uno ile DHT11 sıcaklık ve nem sensöründen okuduğumuz değerleri 16x2 LCD ekranda yazdırmak. İyi seyirler.

    • Bu dersimizde mikrodenetleyici uygulamalarında kullanıcı ayarlarının kalıcı olarak saklandığı E2PROM hafıza kütüphanesini anlatıyoruz. Yine mikrodenetleyici uygulamalarında kullanıcı arayüzü olarak kullanılan tuş takımı (keypad) konusuna bu dersimizde değiniyoruz. Uygulamamıza *.zip kütüphane dosyasının nasıl yüklendiği ve Arduino kütüphane yönetimini ele alıyoruz. Ve son olarak dersimizi güzel bir on/off kontrol yapabilen uygulama ile tamamlıyoruz. 

      Evet biraz uzun bir ders oldu ama size faydalı olacağını düşünüyorum. 

      Derste yapılan uygulamaya aşağıdaki bağlantıdan ulaşabilirsiniz. https://www.tinkercad.com/things/cC1nNMyk9wy

    • Dönem Sonu Projesi - Part 2.0


    • Bir önceki uygulamamızı geliştirerek sıcaklık ve nem için sınır koşullarını program ile belirliyoruz ve aşağıdaki durumlara göre RGB ledlerin durumlarını yenileniyor.

      Kırmızı Işık;üst sınır değeri aşılmış
      Yeşil Işık; değer belirlenen aralık değerinde
      Mavi Işıl; alt sınır değerinden daha az

    • İleri Konular

    • Arduino Uno kartında harici (External) ve zamanlayıcı (Timer) kesmesini ele aldık. Bu dersimizde aşağıdaki soruların cevaplarını bulabileceksiniz: 

      00:31- Kesme nedir ve neden önemlidir? 

      6:19 - Program Sayıcının (Program Counter) görevi nedir? 

      12:21 - Yığın (Stack) Hafızası nedir, ne amaç ile kullanılır? 

      13:07 - FILO (First Input Last Output) mantığı nedir, kullanım alanına bir örnek vererek açıklayınız. 

      30:08 - Arduino Uno kartında kesmeleri aktif hale getirmek için kullanılan fonksiyon hangisidir? 

      32:25 - Arduino Uno kartında harici bacak kesmesi her bacaktan elde edilebilir mi? 

      38:39 - Arduno Uno kartında tanımlı harici kesme modları nelerdir? 

      49:42 - RTC (Real Time Clock) nedir?

    • Bu dersimizde aşağıdaki soruların cevaplarını bulabilirsiniz. 

      Adafruit DC Motor Kütüphanesi 

      33:02 AF_DCMotor motorname(portnum,freq) 

      35:54 setSpeed(speed) 

      36:06 run(cmd) Adafruit Stepper Kütüphanesi 

      39:17 AF_Stepper steppername(steps,portnumber) 

      40:51 step(steps,direction,style) 

      44:53 setSpeed(RPMspeed) 

      45:55 onestep(direction,stepstyle) 

      46:15 release() Arduino Servo Motor Kütüphanesi 

      47:03 attach() 

      49:03 detach() 

      49:34 attached() 

      49:54 write() 

      50:21 writeMicroseconds() 

      50:59 read()

    • Bu dersimizde diğer derslerimizde değinmediğimiz Arduino Uno fonksiyonlarına değineceğiz. 

      Analog IO 

      1:54 analogReference() 

      Math 

      8:31 abs()

      9:10 constrain() 

      10:09 map() 

      11:00 max(), min() 

      11:19 pow() 

      11:37 sq() 

      11:55 sqrt() 

      12:21 Trigonometry cos(), sin(), tan() 

      13:26 random(), randomSeek() 

      Bits and Bytes 

      18:32 bit() 

      19:43 bitClear() 

      20:15 bitRead() 

      20:43 bitSet() 

      20:49 bitWrite() 

      21:10 highByte(),lowByte()