Szukaj kodu

Użycie wyświetlacza 7-segmentowego 4-cyfrowego TM1637 z Arduino

Użycie wyświetlacza 7-segmentowego 4-cyfrowego TM1637 z Arduino

W tym samouczku nauczymy się, jak używać wyświetlacza 7-segmentowego TM1637 z 4 cyframi z Arduino. Ten wyświetlacz może być używany do pokazywania liczb, liczników lub innych danych numerycznych. Po zakończeniu projektu będziesz mieć działający wyświetlacz, który może liczyć od 0 do 500 i demonstrować różne funkcje, takie jak regulacja jasności.

TM1637 4 digit display module

Do tego projektu podłączymy wyświetlacz TM1637 do Arduino za pomocą zaledwie kilku przewodów. Wyświetlacz ma cztery piny: VCC, GND, DIO i CLK. VCC łączy się z zasilaniem 5V, a GND z masą. Pin DIO zostanie podłączony do pinu cyfrowego 3 Arduino, a pin CLK do pinu cyfrowego 2. Ta konfiguracja pozwala Arduino łatwo komunikować się z wyświetlaczem.

Aby zobaczyć praktyczne wdrożenie, postępuj zgodnie z filmem (na filmie w 00:00), aby uzyskać wizualny przewodnik.

Omówienie sprzętu

TM1637 to wszechstronny sterownik wyświetlacza 7-segmentowego, który umożliwia łatwą kontrolę wyświetlaczy 4-cyfrowych. Jest sterowany za pomocą interfejsu dwuprzewodowego, który składa się z pinu danych (DIO) i pinu zegara (CLK). Dzięki temu można go łatwo podłączyć do mikrokontrolerów, takich jak Arduino, bez potrzeby dodatkowych komponentów.

Wyświetlacz może pokazywać liczby dziesiętne i obsługuje regulację jasności, co czyni go odpowiednim do różnych zastosowań, takich jak liczniki, zegary i timery. Jego kompaktowa konstrukcja i łatwość obsługi sprawiają, że jest popularnym wyborem zarówno wśród hobbystów, jak i profesjonalistów.

Szczegóły z karty katalogowej

ProducentTitan Micro Electronics
Numer częściTM1637
Napięcie logiczne/IO5 V
Napięcie zasilania3,3 V - 5,5 V
Prąd wyjściowy (na segment)20 mA
Zalecenia dotyczące częstotliwości PWMBrak
Progi logiczne wejściowe0,3 VCC (niski), 0,7 VCC (wysoki)
Spadek napięcia / RDS(on) / nasycenie2,5 V (typ.)
Limity termiczne125 °C
Obudowa16-pin DIP

  • Upewnij się, że VCC jest podłączone do stabilnego źródła 5V, aby uniknąć nieprawidłowego działania wyświetlacza.
  • W razie potrzeby użyj rezystorów ograniczających prąd, aby zapobiec uszkodzeniu segmentów.
  • Utrzymuj przewody krótkie, aby zminimalizować szumy i zakłócenia.
  • Zawsze sprawdzaj połączenia pinów, aby zapobiec odwrotnej polaryzacji.
  • Dostosuj poziomy jasności za pomocą funkcji setBrightness, aby uzyskać optymalną widoczność.

Instrukcje podłączenia

Arduino wiring for TM1637 4 digit display
TArduino wiring for TM1637 4 digit display — Arduino wiring for TM1637 4 digit display
Arduino wiring for TM1637 4 digit display - large module
Arduino wiring for TM1637 4 digit display - large module

Aby podłączyć wyświetlacz TM1637, najpierw podłącz pin VCC do wyjścia 5V Arduino. Następnie podłącz pin GND do jednego z pinów masy na Arduino. Do komunikacji danych podłącz pin DIO wyświetlacza do pinu cyfrowego 3 na Arduino, a pin CLK do pinu cyfrowego 2. Ta prosta konfiguracja pozwala Arduino skutecznie komunikować się z wyświetlaczem.

Upewnij się, że połączenia są pewne, aby uniknąć problemów z luźnymi przewodami. Na filmie pokazano alternatywne konfiguracje podłączenia, ale podane połączenia są najprostsze do podstawowego działania (na filmie w 01:30).

Przykłady kodu i omówienie

Dostarczony kod inicjalizuje wyświetlacz i ustawia niezbędne konfiguracje. Kluczowe identyfikatory w kodzie to CLK i DIO, które są zdefiniowane odpowiednio jako piny cyfrowe 2 i 3. Jasność wyświetlacza jest ustawiana za pomocą funkcji setBrightness.

#define CLK 2
#define DIO 3

TM1637Display display(CLK, DIO);

void setup() {
    display.setBrightness(0x0f);  // Ustaw maksymalną jasność
}

Ten fragment kodu pokazuje inicjalizację wyświetlacza i ustawienie maksymalnej jasności. Następnie funkcja loop demonstruje, jak wyświetlać różne liczby.

TM1637 4 digit display module - Back
void loop() {
    uint8_t data[] = { 0x0, 0x0, 0x0, 0x0 };
    display.setSegments(data);  // Wyczyść wyświetlacz
    display.showNumberDec(23, false, 2, 1);  // Pokaż liczbę 23
    delay(TEST_DELAY);
}

Tutaj wyświetlacz jest czyszczony, a liczba 23 jest pokazywana. Funkcja showNumberDec przyjmuje parametry kontrolujące wyświetlaną liczbę i jej formatowanie. Pętla kontynuuje wyświetlanie liczb aż do 500.

for(int i=0; i<=500; i++) {
    display.showNumberDec(i);  // Pokaż liczby od 0 do 500
}

Ten fragment kodu ilustruje prosty licznik, który wyświetla liczby od 0 do 500 na wyświetlaczu TM1637. Wyświetlacz będzie aktualizowany w sposób ciągły, aż osiągnie 500, a następnie wróci do 0. Pełny kod jest dostępny poniżej artykułu do wglądu.

Demonstracja / Czego się spodziewać

Po podłączeniu wszystkiego i wgraniu kodu wyświetlacz powinien pokazywać liczby sekwencyjnie od 0 do 500. Będzie również demonstrować różne ustawienia jasności i odpowiednio czyścić ekran między aktualizacjami. Uważaj na odwrotną polaryzację, ponieważ może to uszkodzić wyświetlacz. Możesz potwierdzić działanie, obserwując wyświetlacz podczas filmu (na filmie w 04:00).

Znaczniki czasu filmu

  • 00:00 - Wprowadzenie do wyświetlacza TM1637
  • 01:30 - Instrukcje podłączenia
  • 02:45 - Omówienie kodu
  • 04:00 - Demonstracja wyświetlacza

Obrazy

TM1637 4 digit display module size
TM1637 4 digit display module size
TM1637 4 digit display module
TM1637 4 digit display module
Arduino wiring for TM1637 4 digit display
TArduino wiring for TM1637 4 digit display
Arduino wiring for TM1637 4 digit display - large module
Arduino wiring for TM1637 4 digit display - large module
TM1637 4 digit display module
TM1637 4 digit display module
TM1637 4 digit display module - Back
TM1637 4 digit display module - Back
23-Arduino code for TM1637 4-digit display.
Język: C++
/*
 * 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);
  }

}

Zasoby i odniesienia

Brak zasobów.

Pliki📁

Biblioteki Arduino (zip)

Karta katalogowa (pdf)

Instrukcja obsługi