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.

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
| Producent | Titan Micro Electronics |
|---|---|
| Numer części | TM1637 |
| Napięcie logiczne/IO | 5 V |
| Napięcie zasilania | 3,3 V - 5,5 V |
| Prąd wyjściowy (na segment) | 20 mA |
| Zalecenia dotyczące częstotliwości PWM | Brak |
| Progi logiczne wejściowe | 0,3 VCC (niski), 0,7 VCC (wysoki) |
| Spadek napięcia / RDS(on) / nasycenie | 2,5 V (typ.) |
| Limity termiczne | 125 °C |
| Obudowa | 16-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


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.

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
/*
* 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)
-
TM1637 Arduino Library
TM1637_library.zip1.36 MB
Karta katalogowa (pdf)
-
Dane techniczne TM1637
/download/datasheet/robojax_TM1637_datasheet.pdf0.67 MB
Instrukcja obsługi
-
Podręcznik wyświetlacza TM1637
robojax-TM1637_display_manual.pdf0.31 MB