Zápisník experimentátora
Někdy potřebujeme z Arduina zobrazovat pouze jedno číslo. Tehdy se nám může hodit malý displej, který zobrazuje údaje pomocí 7-segmentového displeje. Ideálním řešením je modul TM1637, který obsahuje na desce i řadič displeje, který se postará o to, aby byly na displeji zobrazeny údaje. Řadiči stačí poslat informaci, co se má zobrazovat a o zbytek se nemusíte starat. Můžete Arduino využívat na důležitější úkoly. Na všechno vás stačí pouze 4 propojovací vodiče.
Modul připojíte podle následujícího schématu. K připojení potřebujete pouze dva datové vodiče.
Prodává se několik verzí tohoto modulu. Jedna verze je určena pro zobrazování času a proto obsahuje dvojtečku jako oddělovač času. Druhá verze je určena pro zobrazování čísel a obsahuje při každé číslici desetinnou čárku.
Na Internetu najdete několik různých knihoven k modulu. Já jsem v příkladech použil tuto knihovnu.
Protože plánuji využít tento displej pro zobrazování čísel, v příkladech jsem použil pouze funkce z knihovny, které usnadňují zobrazení čísla na displeji. Více funkcí naleznete v příkladu ke knihovně.
První příklad zobrazuje posloupnost čísel, které se mění každou sekundu.
#include <TM1637Display.h>
// Module connection pins (Digital Pins)
#define CLK 7
#define DIO 6
// The amount of time (in milliseconds) between tests
#define TEST_DELAY 1000
int counter = 0;
TM1637Display display(CLK, DIO);
void setup() {
display.setBrightness(0x02);
}
void loop() {
display.showNumberDec(counter, false);
counter++;
delay(TEST_DELAY);
}
Druhý příklad ukazuje tutéž posloupnost čísel, pouze je vše doplněno zleva nulami.
#include <TM1637Display.h>
// Module connection pins (Digital Pins)
#define CLK 7
#define DIO 6
// The amount of time (in milliseconds) between tests
#define TEST_DELAY 1000
int counter = 0;
TM1637Display display(CLK, DIO);
void setup() {
display.setBrightness(0x02);
}
void loop() {
display.showNumberDec(counter, true);
counter++;
delay(TEST_DELAY);
}
Zdrojový kód se nachází na serveru GitHub.
Video se nachází na serveru YouTube.
21.10.2018