Bu yazıda TM1637 4 haneli 7 segment ekrandan bahsedecek ve bu modülü Arduino’ya nasıl bağlayacağımızı öğreneceğiz.
7 segment display (ekran) elektronik devre bileşeninden bahsederek başlayalım. Asansörlerde ve basit elektronik cihazlarda gördüğümüz bu bileşen adından anlaşılacağı gibi 7 tane LED’in tüm rakamları gösterebilecek şekilde bir araya getirilmesinden oluşur.
Çoğu tekil 7 segment display’de nokta için 8. bir LED daha bulunur. Ancak tek rakam çoğu zaman yeterli olmadığı için 2 veya 4 rakamlı olanları yaygın olarak kullanılır. Her bir rakam için 7 LED’i ayrı ayrı kontrol etmek gerekir ve rakam sayısı arttıkça işler karmaşıklaşmaya başlar.
Arduino’nun amacı elektronik konusundaki her şeyi basitleştirmek olduğu için bu bileşenleri kolay kullanabilmek amacıyla modüller geliştirilmiş. TM1637 çipi ve dörtlü 7 segment display kullanan bu modül sadece 4 kablo ile Arduino’ya bağlanıyor ve bunlardan sadece ikisi dijital pin. Ekran, saat gösterimine izin verecek şekilde düzenlenmiş. Böylece saat ve sıcaklık ölçer gibi çift fonksiyonlu projelerde kullanılabiliyor.
O zaman lafı uzatmadan devre kurulumuna geçelim.
Devremizi kurduktan sonra sketch kodumuza geçelim. Bu sketch’te TM1637 adlı yaygın kullanılan Arduino kütüphanesini kullanacağız. Kütüphaneyi Arduino IDE’nin ana menüsünden Araçlar > Kütüphaneleri Yönet… bölümüne girip TM1637 kelimesini aratarak Avishay Orpaz tarafından hazırlanmış versiyonu kurarak ekleyebiliriz. Kütüphanenin Github sayfasına da buraya tıklayarak ulaşabiliriz.
Aşağıdaki sketch kütüphanenin farklı yöntemlerle kullanımını gösteriyor.
Arduino’da iyi olmak için öncelikle elektronikte iyi olmak gerekir. Türkiye’nin en iyi temel elektronik eğitim seti ARDUINO ÖNCESİ TEMEL ELEKTRONİK EĞİTİM VE DENEY SETİ‘ni keşfedin. Gereksiz bilgilerden arındırılmış basit ve eğlenceli anlatımla ELEKTRONİK öğrenin ve Arduino’ya METE HOCA farkıyla güçlü başlayın!
Sketch kodunu kopyalamak için pencerenin sağ üst köşesindeki butona tıklayabilir veya buraya tıklayarak ZIP dosyası olarak indirebilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
/* TM1637 4 Digit Display (HW-069) Modülü Arduino ile Nasıl Kullanılır? TM1637 4 Digit Display (HW-069) modülünün detaylı açıklaması ve örnek projelerini web sitemizde bulabilirsiniz. Mete Hoca https://www.metehoca.com/ */ #include "TM1637Display.h" // Kütüphaneyi ekliyoruz int CLK = 2; // Modülün CLK pini int DIO = 3; // Modülün DIO pini TM1637Display display(CLK, DIO); // Kütüphane tanımlanıyor void setup() { } void loop() { display.setBrightness(7); // Parlaklık ayarı (0 en düşük, 7 en yüksek) display.showNumberDec(0, false); // Ekranda ___0 yazacak delay(1000); display.showNumberDec(1, true); // Ekranda 0001 yazacak delay(1000); display.clear(); // Yeni bilgi göndermeden önce ekranı temizle display.showNumberDec(19, false, 2, 1); // Ekranda _19_ yazacak delay(1000); display.clear(); display.showNumberDec(4, true, 2, 0); // Ekranda 04__ yazacak delay(1000); display.clear(); display.showNumberDec(-1, false, 3, 1); // Ekranda __-1 yazacak delay(1000); display.clear(); display.showNumberDec(-2, false, 3, 0); // Ekranda _-2_ yazacak delay(1000); display.clear(); display.showNumberHexEx(0xABCD); // Ekranda ABCD yazacak delay(1000); display.clear(); display.showNumberHexEx(0xEF); // Ekranda __EF yazacak delay(1000); for(int x = 0; x < 7; x++) { // Parlaklık ayarını değiştirelim display.setBrightness(x); display.showNumberDec(1919, false); // Yazılan değişince parlaklık değişir delay(500); } display.setBrightness(7, false); // Burada false yapıp veri değişince- display.showNumberDec(1919, false); // - ekran kapanır. 1919 hiç görünmeyecek delay(1000); display.setBrightness(7, true); // Ekran açıldı, hala veri görünmüyor display.showNumberDec(1923, false); // Bu veri ekranı açar, 1923 görünür delay(1000); } |