Korištenje TM1637 4-cifrenog 7-segmentnog displeja sa Arduinom
U ovom tutorijalu naučit ćemo kako koristiti TM1637 4-cifreni 7-segmentni displej s Arduinom. Ovaj displej može se koristiti za prikaz brojeva, brojača ili bilo kojih drugih numeričkih podataka. Do kraja projekta imat ćete funkcionalan displej koji može brojati od 0 do 500 i demonstrirati različite funkcije poput podešavanja svjetline.

Za ovaj projekt, spojit ćemo TM1637 displej na Arduino koristeći samo nekoliko žica. Displej ima četiri pina: VCC, GND, DIO i CLK. VCC se spaja na 5V napajanje, dok se GND spaja na masu. DIO pin bit će spojen na digitalni pin 3 Arduina, a CLK pin na digitalni pin 2. Ova konfiguracija omogućava Arduinu laku komunikaciju s displejom.
Da biste vidjeli praktičnu implementaciju, pratite video (u videu na 00:00) za vizualni vodič.
Objašnjenje hardvera
TM1637 je svestrani 7-segmentni drajver displeja koji omogućava jednostavno upravljanje 4-cifrenim displejima. Upravlja se pomoću dvožičnog sučelja, koje se sastoji od podatkovnog pina (DIO) i taktnog pina (CLK). To ga čini jednostavnim za povezivanje s mikrokontrolerima poput Arduina bez potrebe za dodatnim komponentama.
Displej može prikazivati decimalne brojeve i podržava kontrolu svjetline, što ga čini pogodnim za različite primjene poput brojača, satova i tajmera. Njegov kompaktni dizajn i jednostavnost upotrebe čine ga popularnim izborom među hobistima i profesionalcima.
Detalji iz podatkovne tablice
| Proizvođač | Titan Micro Electronics |
|---|---|
| Broj dijela | TM1637 |
| Logički/IO napon | 5 V |
| Napon napajanja | 3.3 V - 5.5 V |
| Izlazna struja (po segmentu) | 20 mA |
| Smjernice za PWM frekvenciju | N/A |
| Ulazni logički pragovi | 0.3 VCC (nisko), 0.7 VCC (visoko) |
| Pad napona / RDS(on) / zasićenje | 2.5 V (tip.) |
| Toplinska ograničenja | 125 °C |
| Kućište | 16-pinski DIP |
- Provjerite da je VCC spojen na stabilan 5V izvor kako biste izbjegli kvar displeja.
- Koristite otpornike za ograničenje struje ako je potrebno kako biste spriječili oštećenje segmenata.
- Držite žice kratkim kako biste smanjili šum i smetnje.
- Uvijek provjerite spojeve pinova kako biste spriječili obrnuti polaritet.
- Podesite nivoe svjetline koristeći funkciju
setBrightnessza optimalnu vidljivost.
Upute za povezivanje


Za povezivanje TM1637 displeja, prvo spojite VCC pin na 5V izlaz Arduina. Zatim spojite GND pin na jedan od pinova mase na Arduinu. Za podatkovnu komunikaciju, spojite DIO pin displeja na digitalni pin 3 na Arduinu, a CLK pin na digitalni pin 2. Ova jednostavna konfiguracija omogućava Arduinu efikasnu komunikaciju s displejom.
Provjerite da su spojevi čvrsti kako biste izbjegli probleme s labavim žicama. U videu su prikazane alternativne konfiguracije povezivanja, ali navedeni spojevi su najjednostavniji za osnovni rad (u videu na 01:30).
Primjeri koda i objašnjenje
Priloženi kod inicijalizira displej i postavlja potrebne konfiguracije. Ključni identifikatori u kodu uključuju CLK i DIO, koji su definirani kao digitalni pinovi 2 i 3. Svjetlina displeja postavlja se pomoću funkcije setBrightness.
#define CLK 2
#define DIO 3
TM1637Display display(CLK, DIO);
void setup() {
display.setBrightness(0x0f); // Postavi maksimalnu svjetlinu
}
Ovaj isječak koda prikazuje inicijalizaciju displeja i postavljanje maksimalne svjetline. Zatim, funkcija loop demonstrira kako prikazati različite brojeve.

void loop() {
uint8_t data[] = { 0x0, 0x0, 0x0, 0x0 };
display.setSegments(data); // Očisti displej
display.showNumberDec(23, false, 2, 1); // Prikaži broj 23
delay(TEST_DELAY);
}
Ovdje se displej čisti i prikazuje se broj 23. Funkcija showNumberDec prima parametre za kontrolu prikazanog broja i njegovog formatiranja. Petlja nastavlja prikazivati brojeve do 500.
for(int i=0; i<=500; i++) {
display.showNumberDec(i); // Prikaži brojeve od 0 do 500
}
Ovaj isječak koda ilustrira jednostavan brojač koji prikazuje brojeve od 0 do 500 na TM1637 displeju. Displej će se kontinuirano ažurirati dok ne dosegne 500, a zatim će se vratiti na 0. Kompletan kod dostupan je ispod članka za vašu referencu.
Demonstracija / Šta očekivati
Kada je sve povezano i kod je učitan, displej bi trebao prikazivati brojeve sekvencijalno od 0 do 500. Također će demonstrirati različite postavke svjetline i očistiti ekran na odgovarajući način između ažuriranja. Budite oprezni s obrnutim polaritetom jer to može oštetiti displej. Funkcionalnost možete potvrditi promatranjem displeja tokom videa (u videu na 04:00).
Vremenske oznake videa
- 00:00 - Uvod u TM1637 displej
- 01:30 - Upute za povezivanje
- 02:45 - Objašnjenje koda
- 04:00 - Demonstracija displeja
/*
* 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);
}
}
Resources & references
No resources yet.
Files📁
Arduino Libraries (zip)
-
TM1637 Arduino Library
TM1637_library.zip1.36 MB
Datasheet (pdf)
-
Datasheet for TM1637 4 digit seven segment display
/download/datasheet/robojax_TM1637_datasheet.pdf0.67 MB
User’s Manual
-
TM1637 Display Manual
robojax-TM1637_display_manual.pdf0.31 MB