Arduino ile TM1637 4 Haneli 7 Segmentli Ekran Kullanımı
Bu eğitimde, Arduino ile TM1637 4 haneli 7 segmentli ekranı nasıl kullanacağımızı öğreneceğiz. Bu ekran, sayıları, sayaçları veya diğer sayısal verileri göstermek için kullanılabilir. Projenin sonunda, 0'dan 500'e kadar sayabilen ve parlaklık ayarı gibi çeşitli özellikleri gösteren çalışan bir ekrana sahip olacaksınız.

Bu proje için, TM1637 ekranını Arduino'ya sadece birkaç kablo kullanarak bağlayacağız. Ekranın dört pini vardır: VCC, GND, DIO ve CLK. VCC, 5V güç kaynağına bağlanırken, GND toprağa bağlanır. DIO pini Arduino'nun dijital pin 3'üne, CLK pini ise dijital pin 2'ye bağlanacaktır. Bu kurulum, Arduino'nun ekranla kolayca iletişim kurmasını sağlar.
Pratik uygulamayı görmek için, görsel bir rehber için videoyu (videoda 00:00'da) takip ettiğinizden emin olun.
Donanım Açıklaması
TM1637, 4 haneli ekranların kolayca kontrol edilmesini sağlayan çok yönlü bir 7 segmentli ekran sürücüsüdür. Bir veri pini (DIO) ve bir saat pini (CLK) içeren iki telli bir arayüz kullanılarak kontrol edilir. Bu, ek bileşenlere ihtiyaç duymadan Arduino gibi mikrodenetleyicilere bağlamayı basit hale getirir.
Ekran, ondalık sayıları gösterebilir ve parlaklık kontrolünü destekler, bu da onu sayaçlar, saatler ve zamanlayıcılar gibi çeşitli uygulamalar için uygun hale getirir. Kompakt tasarımı ve kullanım kolaylığı, onu hem hobiciler hem de profesyoneller arasında popüler bir seçim haline getirir.
Veri Sayfası Detayları
| Üretici | Titan Micro Electronics |
|---|---|
| Parça numarası | TM1637 |
| Mantık/G/Ç voltajı | 5 V |
| Besleme voltajı | 3.3 V - 5.5 V |
| Çıkış akımı (segment başına) | 20 mA |
| PWM frekans kılavuzu | Yok |
| Giriş mantık eşikleri | 0.3 VCC (düşük), 0.7 VCC (yüksek) |
| Gerilim düşümü / RDS(on) / doyum | 2.5 V (tipik) |
| Termal sınırlar | 125 °C |
| Paket | 16 pinli DIP |
- Ekran arızasını önlemek için VCC'nin sabit bir 5V kaynağa bağlı olduğundan emin olun.
- Segmentlere zarar gelmesini önlemek için gerekirse akım sınırlayıcı dirençler kullanın.
- Gürültüyü ve paraziti en aza indirmek için kabloları kısa tutun.
- Ters polariteyi önlemek için pin bağlantılarını her zaman iki kez kontrol edin.
- Optimum görünürlük için
setBrightnessfonksiyonunu kullanarak parlaklık seviyelerini ayarlayın.
Bağlantı Talimatları


TM1637 ekranını bağlamak için önce VCC pinini Arduino'nun 5V çıkışına bağlayın. Ardından, GND pinini Arduino'daki toprak pinlerinden birine bağlayın. Veri iletişimi için, ekranın DIO pinini Arduino'daki dijital pin 3'e ve CLK pinini dijital pin 2'ye bağlayın. Bu basit kurulum, Arduino'nun ekranla etkili bir şekilde iletişim kurmasını sağlar.
Gevşek bağlantı sorunlarını önlemek için güvenli bağlantılar yaptığınızdan emin olun. Videoda alternatif bağlantı konfigürasyonları gösterilmektedir, ancak sağlanan bağlantılar temel çalışma için en basit olanlardır (videoda 01:30'da).
Kod Örnekleri ve Açıklaması
Sağlanan kod, ekranı başlatır ve gerekli konfigürasyonları ayarlar. Kod içindeki anahtar tanımlayıcılar, sırasıyla dijital pin 2 ve 3 olarak tanımlanan CLK ve DIO'dur. Ekranın parlaklığı, setBrightness fonksiyonu kullanılarak ayarlanır.
#define CLK 2
#define DIO 3
TM1637Display display(CLK, DIO);
void setup() {
display.setBrightness(0x0f); // Maksimum parlaklığı ayarla
}
Bu kod alıntısı, ekranın başlatılmasını ve maksimum parlaklığın ayarlanmasını gösterir. Ardından, loop fonksiyonu çeşitli sayıların nasıl görüntüleneceğini gösterir.

void loop() {
uint8_t data[] = { 0x0, 0x0, 0x0, 0x0 };
display.setSegments(data); // Ekranı temizle
display.showNumberDec(23, false, 2, 1); // 23 sayısını göster
delay(TEST_DELAY);
}
Burada, ekran temizlenir ve 23 sayısı gösterilir. showNumberDec fonksiyonu, görüntülenen sayıyı ve biçimlendirmesini kontrol etmek için parametreler alır. Döngü, 500'e kadar sayıları göstermeye devam eder.
for(int i=0; i<=500; i++) {
display.showNumberDec(i); // 0'dan 500'e kadar sayıları göster
}
Bu kod parçası, TM1637 ekranında 0'dan 500'e kadar sayıları gösteren basit bir sayacı gösterir. Ekran, 500'e ulaşana kadar sürekli güncellenir, ardından 0'a geri döner. Tam kod, referansınız için makalenin altında mevcuttur.
Gösterim / Ne Beklemeli
Her şey bağlandığında ve kod yüklendiğinde, ekran 0'dan 500'e kadar sayıları sırayla göstermelidir. Ayrıca çeşitli parlaklık ayarlarını gösterecek ve güncellemeler arasında ekranı uygun şekilde temizleyecektir. Ters polariteye dikkat edin, çünkü bu ekrana zarar verebilir. Videodaki gösterimi izleyerek işlevselliği doğrulayabilirsiniz (videoda 04:00'da).
Video Zaman Damgaları
- 00:00 - TM1637 Ekranına Giriş
- 01:30 - Bağlantı Talimatları
- 02:45 - Kod Açıklaması
- 04:00 - Ekranın Gösterimi
/*
* This is the Arduino code for TM1637 4-digit display.
*
* Written by Ahmad S. for Robojax Video
*visit www.Robojax.com to get wiring diagram and other resources for this project
* Permission granted to share this code given that this
* note is kept with the code.
* Disclaimer: this code is "AS IS" and for educational purposes only.
*
*/
/*
* Original code from https://github.com/avishorp/TM1637
* Modified for Robojax video on December 6, 2017
*/
#include <Arduino.h>
#include <TM1637Display.h>
// Module connection pins (Digital Pins)
#define CLK 2
#define DIO 3
// The amount of time (in milliseconds) between tests
#define TEST_DELAY 2000
TM1637Display display(CLK, DIO);
void setup()
{
}
void loop()
{
display.setBrightness(0x0f);
uint8_t data[] = { 0x0, 0x0, 0x0, 0x0 };
display.setSegments(data);
display.showNumberDec(23, false, 2,1);
delay(TEST_DELAY);
display.setSegments(data);
display.showNumberDec(153, false, 3, 1);
delay(TEST_DELAY);
display.setSegments(data);
for(int i=0; i<=500; i++)
{
display.showNumberDec(i);
}
}
Kaynaklar ve referanslar
Henüz kaynak yok.
Dosyalar📁
Arduino Kütüphaneleri (zip)
-
TM1637 Arduino Library
TM1637_library.zip1.36 MB
Veri Sayfası (pdf)
-
TM1637 Veri Sayfası
/download/datasheet/robojax_TM1637_datasheet.pdf0.67 MB
Kullanım Kılavuzu
-
TM1637 Ekran Kılavuzu
robojax-TM1637_display_manual.pdf0.31 MB