ErriezTM1637
v1.1.0
這是適用於 Arduino 的 2 引腳串列 TM1637 晶片庫,針對尺寸和速度進行了最佳化。它支援組合的 LED 驅動器控制器和按鍵掃描介面來偵測一鍵按下。
將電源和 2 個數據引腳連接到 Arduino 板的數位引腳:
以下 TM1637 引腳應連接到矩陣中的 LED 和按鈕:
別針 | TM1637 | Arduino UNO / Nano / Micro / Pro Micro / Leonardo / Mega2560 | WeMos D1 與 R2 / 節點 MCU | WeMos LOLIN32 |
---|---|---|---|---|
1 | 電壓控制電路 | 5V(或3.3V) | 3V3 | 3V3 |
2 | 接地 | 接地 | 接地 | 接地 |
3 | 時鐘 | 2(數位引腳) | D2 | 0 |
4 | 迪奧 | 3(數位引腳) | D3 | 4 |
TM1637 使用兩條線與 MCU 串列通訊:
注意:串行介面與 I2C 或 TWI 不相容,因為沒有使用帶有讀取/寫入位元的設備位址。
Arduino IDE |範例 | Erriez TM1637 按鈕和 LED 驅動器:
埃里茲TM1637
初始化
// 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 ();
}
顯示開/關
// Turn display off
tm1637.displayOff();
// Turn display on
tm1637.displayOn();
關閉所有 LED
// Turn all LED's off
tm1637.clear();
取得鑰匙
// Get 8-bit key-scan
uint8_t keys = tm1637.getKeys();
將位元組寫入顯示暫存器
// 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 );
將緩衝區寫入顯示暫存器
// Creat buffer with LED's
uint8_t buf[] = { 0b10000110 , 0b00111111 , 0b00111111 , 0b00111111 , 0b00111111 , 0b00111111 };
// Write buffer to TM1637
tm1637.writeData( 0x00 , buf, sizeof (buf));
該函式庫對 AVR 目標使用最佳化的引腳控制。其他目標使用預設的 digitalRead() 和 digitalWrite() 引腳控制函數。
輸出基準範例:
木板 | 時鐘 | 讀取按鍵 | 寫入位元組 | 寫入 16 位元組緩衝區 | 顯示清晰 |
---|---|---|---|---|---|
專業迷你 8MHz | 84kHz | 352us | 344us | 1080us | 1072us |
UNO 16MHz | 170kHz | 156us | 152us | 496us | 480us |
WeMos D1 與 R2 80MHz | 205kHz | 261us | 137us | 396us | 396us |
WeMos D1 與 R2 160MHz | 300kHz | 233us | 96us | 275us | 271us |
請參閱維基頁面。