analog pin etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
analog pin etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

26 Ağustos 2015 Çarşamba

Arduino ile Termometre Yapımı

Merhabalar Arkadaşlar
Bugün Arduino ile lcd ekran kontrolünü ve akabinde sıcaklık sensörü yardımıyla ölçülen sıcaklık değerini lcd ekrana yazdıran ugulamamızı yapacağız.Devrenin simülasyonunu buradan görüntüleyebilirsiniz.Sol üstte Start simulation yazan kısımdan simülasyonu başlatabilirsiniz.

İhtiyacımız olan malzemeler

1-Herhangi bir Arduino devre kontrol kartı (Arduino Uno , Mega  2560 , Nono , Pro Mini vs. )

2-Lcd ekran ( LCD 16x2 WH1602B-TMI-ET )



3-Sıcaklık Sensörü(TMP36)

4-Potansiyometre(10K)



5-Direnç(160Ω)

Devreyi Autodeskin geliştirmiş olduğu sanal labaratuarda kuracağım.Çok fazla imkan sunmamışlar ancak Arduino öğrenmeye başlamak için yeterli modüller var.
Üreticiler ürettikleri parçların kimliği niteliğinde olan sensörü yada elektronik parçayı tanıyabileceğimiz datasheet denilen bir nevi kılavuz yayınlarlar.

Datasheet Nedir?

Lcd ekranın yada sıcaklık sensörünün yanındaki kod adına bakarak parçanın üzerinden geçmesi gereken maximum yada minumum gerilimi ısıya ne kadar dayanıklı olduğunu devre haritasını üzerinden geçmesi gereken akım değerini bacakların nasıl bağlanacağını Google Translate  yardımı ile rahatlıkla öğrenebilirsiniz.

Lcd ekran nasıl bağlanır?


1-GND                          Ground yani toprak demektir.(-) ucun bağlanacağı kısımdır.
2-VDD                          Besleme gerilimi anlamına gelir yani (+) ucun bağlandığı kısımdır.
3-Contrast                    Kontrastı yani ekranın parlaklığını ayarlayacağımız kısımdır.
4-RS                              Register Select yani lcd ekranın ne yapacağını gösteririr.
5-R/W                           Pinleri okuma yada yazma modunun ayarlandığı kısımdır.
6-Enable                       Okuma modunu aktif hale getirir.
7-14 DB0-DB7              Bit değerlerinin okunduğu kısımdır.
15 -16                            Arka plan aydınlatmasını sağlayan (+) ve (-) uçlardır.






Devrenin Arduino Kodları


Kodları indirmek için link.
Sağ altta download code  diyerek kodu indirebilirsiniz.
Yada sol üstten code editör diyerek arduino kodlarınızı görüntüleyebilirsiniz.

Elimden geldiğince anlaşılabilir anlatmaya çalıştım.
Bir başka konuda görüşmek üzere . . .
Abdullah DEVECİ

İstanbul Üniversitesi –Elektrik&Elektronik Mühendisliği


19 Haziran 2015 Cuma

Arduino Leonardo & Uno - Neden Herkes Bir Leonardo Sahibi Olmalı?

Atmel'in ATmegaXU4 serili çipini kullanan ilk Arduino modeli, aslında farklılığı da bu noktada başlıyor.
Önceki Arduino modelleri programlanabilmek için "seri port" bağlantısına ihtiyaç duyuyor. Platform geliştikçe Arduino'lar USB-Serial dönüştürücü çip edindi. Arduino Uno bu şekilde tasarlanan bir model. ATmega16U2 çipi FTDI dönüştürücü olarak çalışıyor. Aslında bu çip Leonardo'da kullanılan ATmega32U4 çipinin kadeşi sayılır :) analog giriş pini olmayan küçük kardeşi.

Nerdeyse aynı kapasitedeki bir mikrodenetleyiciyi başka bir mikrodenetleyicinin programlanmasını sağlamak için sadece USB dönüştürücü olarak kullanmak hem maliyetli hem de yazık değil mi? :)

Bu garip durum Leonardo'nun piyasaya sürülmesiyle ortadan kalktı. Bu AVR çiplerine sadece dahili USB özelliği katmakla kalmadı, daha bir çok fayda sağladı. Daha ucuz daha çok özelliğe sahip olmasına rağmen Uno'nun üretime devam etmesine de anlam veremiyorum. Yakın zamanda Uno'nun tarihe karışacağını öngörüyorum.

Bakalım Leonardo'nun kalsik Arduino kartlarına göre ne gibi avantajları ve farkları var.

1. Daha Fazla Dijital Pin

4 tane fazldan dijital pin var :) Uno 14 dijital pine sahip (D0-D13). Leonardo bu 14 pinin üzerine dişi girişlerin olduğu bölgenin dışında 4 pine daha sahip. Bu pinlere ulaşmak için ICSP pinlerini kullanmanız gerekecek.(D14-D17)


D14 – MISO – PB3
D15 – SCK – PB1
D16 – MOSI – PB2
D17 – SS – PB0


D17 pin attachment points 
D17 pini fotoğrafta gösterilen yerden yapılacak lehimle kullanılabilir.

2. Daha Fazla ve Daha İyi PWM Pin

Leonarda 1 tane fazla PWM pinine sahipmiş gibi görünse de (Leonardo 7, Uno 6 PWM'e sahip) , ATmega32U4 çok güçlü zamanlayıcılara (timer) sahip. Uno'dakile ek olarak timer4 zamanlayıcısı fark yaratmaktadır. 1x8-bit, 2x16-bit ve 1x10-bit yüksek hızlı (64MHz) zamanlayıcı. Toplamda 9 adet bağımsız zamanlayıcılı çıkış pini olan Leonardo'da, bu pinlerden 2 tanesi paylaşımlı olduğu için kalan 7 tanesi PWM olarak kullanılabilir.



  • D3:  8-bit timer0
  • D5:  16-bit timer1&3
  • D6:  10-bit timer4
  • D9:  16-bit timer1&3
  • D10:  16-bit timer1&3
  • D11:  8-bit timer0
  • D13:  10-bit timer4



  • 3. Daha Fazla Analog Pin

    Uno gibi ATmegaxx8 tabanlı Arduino'larda dijital olarak kullanılabilen 6 adet analog giriş pini bulunur. Leonardo'da ise 12 adet analog giriş pini var ki dijital olarak ta kullanabilirsiniz :) Arduino Shiled'lerindeki uyumu bozmamak için Leonardo'nun A6-A11 pinleri dijital pinlere bağlanmıştır. 


            Analog pinleri dijital olarak kullanabilmek için pin numaraları :)



    • A6 – D4
    • A7 – D6
    • A8 – D8
    • A9 – D9
    • A10 – D10
    • A11 – D12
             -----------
    • A0 – D18
    • A1 – D19
    • A2 – D20
    • A3 – D21
    • A4 – D22
    • A5 – D23



    4. SDA/SCL Pinleri

    Uno'da I2C/TWI iletişimini sağlayan pinler A4 & A5 iken Leonardo'da D2 ve D3. 
    Pin dizilimini bozmamak için SDA ve SDL pinleri aynı yerinde. 







    5. Seri Port 

    Artık ikinci bir seri portumuz var :) İlk seri portumuz dahili USB arayüzüne sahip ve Tx/Rx LEDleri bu pinlere bağlı. İkinci seri port ise D0/D1 pinlerine bağlı, bu pinlere bağlı LED yok. 
    Tabi ki seri iletişim hızı da arttı :)

    6. Klavye ve Fare Olarak Kullanım

    Leonardo'nun en heyecan verci özelliği direkt USB desteği. Bu da kalvye ve ya fare ya da her ikisi birden olarak çalışabilir anlamına geliyor. Arduino'daki kütüphaneler sayesinde çok kolay oluyor bu işlem :)
    Dikkat : void setup() bölümüne delay(5000); gibi uzun bir bekleme verin, yoksa tekrar programlamaya çalışırken klavye ve fare fonksiyonlarını çalıştırırken programlama konusunda sorun yaşayabilirsiniz.

    7. USB Uyarısı

    Leonardonun çalışması için Ardunino IDE 1.0 ve üzerine güncelleyin, hala güncellemediyseniz  ayıp zaten :) 

    8. Sonuç

    Leonardo Arduino ailesine çok şey kattı. Daha fazla pin, daha hızlı PWM, bir sürü analog giriş pini daha da önemlisi gerçek bir USB sunması. Belki de daha da önemlisi ucuz olması (Ülkemizde Uno'dan bir kaç lira pahalı ama maliyeti daha ucuz). Bir Arduino'ya ihtiyacınız varsa hemen bir Leonardo alın.