Ini adalah perpustakaan chip serial TM1637 2-pin untuk Arduino, dioptimalkan untuk ukuran dan kecepatan. Ini mendukung pengontrol driver LED gabungan dan antarmuka pemindaian kunci untuk mendeteksi satu penekanan tombol.
Hubungkan daya dan 2 pin data ke pin DIGITAL papan Arduino:
Pin TM1637 berikut harus dihubungkan ke LED dan tombol dalam matriks:
Pin | TM1637 | Arduino UNO / Nano / Mikro / Pro Mikro / Leonardo / Mega2560 | WeMos D1 & R2 / Node MCU | WeMos LOLIN32 |
---|---|---|---|---|
1 | VCC | 5V (atau 3.3V) | 3V3 | 3V3 |
2 | GND | GND | GND | GND |
3 | CLK | 2 (pin DIGITAL) | D2 | 0 |
4 | DIO | 3 (pin DIGITAL) | D3 | 4 |
TM1637 berkomunikasi dengan serial MCU dengan menggunakan dua kabel:
Catatan: Antarmuka serial tidak kompatibel dengan I2C atau TWI, karena tidak ada alamat perangkat dengan bit baca/tulis yang digunakan.
Arduino IDE | Contoh | Tombol Erriez TM1637 dan driver LED:
ErriezTM1637
Inisialisasi
// 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 ();
}
Tampilan hidup/mati
// Turn display off
tm1637.displayOff();
// Turn display on
tm1637.displayOn();
Matikan semua LED
// Turn all LED's off
tm1637.clear();
Dapatkan kunci
// Get 8-bit key-scan
uint8_t keys = tm1637.getKeys();
Tulis Byte untuk menampilkan register
// 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 );
Tulis buffer untuk menampilkan register
// Creat buffer with LED's
uint8_t buf[] = { 0b10000110 , 0b00111111 , 0b00111111 , 0b00111111 , 0b00111111 , 0b00111111 };
// Write buffer to TM1637
tm1637.writeData( 0x00 , buf, sizeof (buf));
Perpustakaan menggunakan kontrol pin yang dioptimalkan untuk target AVR. Target lainnya menggunakan fungsi kontrol pin digitalRead() dan digitalWrite() default.
Contoh Tolok Ukur Keluaran:
Papan | CLK | Baca kunci | Tulis Byte | Tulis buffer 16 Byte | Hapus tampilan |
---|---|---|---|---|---|
ProMini 8MHz | 84kHz | 352kita | 344kita | 1080us | 1072kita |
UNO 16MHz | 170kHz | 156kita | 152kita | 496kita | 480 kita |
WeMos D1 & R2 80MHz | 205kHz | 261kita | 137kita | 396kita | 396kita |
WeMos D1 & R2 160MHz | 300kHz | 233kita | 96kita | 275kita | 271kita |
Silakan merujuk ke halaman Wiki.