Dies ist eine 2-polige serielle TM1637-Chipbibliothek für Arduino, optimiert für Größe und Geschwindigkeit. Es unterstützt einen kombinierten LED-Treiber-Controller und eine Tastenscan-Schnittstelle zur Erkennung eines Tastendrucks.
Verbinden Sie Strom- und 2 Datenpins mit den DIGITAL-Pins eines Arduino-Boards:
Die folgenden TM1637-Pins sollten mit LEDs und Tasten in einer Matrix verbunden werden:
Stift | TM1637 | Arduino UNO / Nano / Micro / Pro Micro / Leonardo / Mega2560 | WeMos D1 & R2 / Knoten-MCU | WeMos LOLIN32 |
---|---|---|---|---|
1 | VCC | 5V (oder 3,3V) | 3V3 | 3V3 |
2 | GND | GND | GND | GND |
3 | CLK | 2 (DIGITAL-Pin) | D2 | 0 |
4 | DIO | 3 (DIGITAL-Pin) | D3 | 4 |
Der TM1637 kommuniziert seriell mit einer MCU über zwei Drähte:
Hinweis: Die serielle Schnittstelle ist nicht mit I2C oder TWI kompatibel, da keine Geräteadresse mit Lese-/Schreibbit verwendet wird.
Arduino-IDE | Beispiele | Erriez TM1637 Taster und LED-Treiber:
ErriezTM1637
Initialisierung
// Include TM1637 library
# include < ErriezTM1637.h >
// Connect display pins to the Arduino DIGITAL pins
# define TM1637_CLK_PIN 2
# define TM1637_DIO_PIN 3
// Create tm1637 object
TM1637 tm1637 (TM1637_CLK_PIN, TM1637_DIO_PIN);
void setup ()
{
// Initialize TM1637
tm1637. begin ();
}
Anzeige ein/aus
// Turn display off
tm1637.displayOff();
// Turn display on
tm1637.displayOn();
Schalten Sie alle LEDs aus
// Turn all LED's off
tm1637.clear();
Holen Sie sich Schlüssel
// Get 8-bit key-scan
uint8_t keys = tm1637.getKeys();
Schreiben Sie ein Byte in das Anzeigeregister
// Write segment LED's to the first display registers 0x00..0x0F with value 0x00..0xff to
// display numbers and characters. Just an example which depends on the hardware:
tm1637.writeData( 0x01 , 0x01 );
Puffer zum Anzeigen von Registern schreiben
// Creat buffer with LED's
uint8_t buf[] = { 0b10000110 , 0b00111111 , 0b00111111 , 0b00111111 , 0b00111111 , 0b00111111 };
// Write buffer to TM1637
tm1637.writeData( 0x00 , buf, sizeof (buf));
Die Bibliothek verwendet eine optimierte Pin-Steuerung für AVR-Ziele. Andere Ziele verwenden die standardmäßigen Pin-Steuerfunktionen digitalRead() und digitalWrite().
Beispiel für einen Ausgabe-Benchmark:
Planke | CLK | Schlüssel lesen | Byte schreiben | Schreiben Sie einen 16-Byte-Puffer | Klare Anzeige |
---|---|---|---|---|---|
Pro Mini 8 MHz | 84kHz | 352us | 344us | 1080us | 1072us |
UNO 16 MHz | 170 kHz | 156us | 152us | 496us | 480us |
WeMos D1 & R2 80 MHz | 205 kHz | 261us | 137us | 396us | 396us |
WeMos D1 & R2 160 MHz | 300 kHz | 233us | 96us | 275us | 271us |
Bitte beachten Sie die Wiki-Seite.