ErriezTM1637
v1.1.0
크기와 속도에 최적화된 Arduino용 2핀 직렬 TM1637 칩 라이브러리입니다. 이는 하나의 키 누름을 감지하기 위해 결합된 LED 드라이버 컨트롤러와 키 스캔 인터페이스를 지원합니다.
Arduino 보드의 디지털 핀에 전원과 2개의 데이터 핀을 연결합니다.
다음 TM1637 핀은 매트릭스의 LED 및 버튼에 연결되어야 합니다.
핀 | TM1637 | 아두이노 UNO / 나노 / 마이크로 / 프로 마이크로 / 레오나르도 / Mega2560 | WeMos D1 & R2 / 노드 MCU | 위모스 LOLIN32 |
---|---|---|---|---|
1 | VCC | 5V(또는 3.3V) | 3V3 | 3V3 |
2 | 접지 | 접지 | 접지 | 접지 |
3 | CLK | 2(디지털 핀) | D2 | 0 |
4 | 디오 | 3(디지털 핀) | D3 | 4 |
TM1637은 두 개의 전선을 사용하여 MCU 직렬과 통신합니다.
참고: 직렬 인터페이스는 읽기/쓰기 비트가 있는 장치 주소가 사용되지 않기 때문에 I2C 또는 TWI와 호환되지 않습니다.
아두이노 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() 핀 제어 기능을 사용합니다.
출력 벤치마크 예:
판자 | CLK | 키 읽기 | 쓰기 바이트 | 16바이트 버퍼 쓰기 | 선명한 디스플레이 |
---|---|---|---|---|---|
프로 미니 8MHz | 84kHz | 352us | 344us | 1080us | 1072us |
우노 16MHz | 170kHz | 156us | 152us | 496us | 480us |
위모스 D1 & R2 80MHz | 205kHz | 261us | 137us | 396us | 396us |
WeMos D1 및 R2 160MHz | 300kHz | 233us | 96us | 275us | 271us |
위키페이지를 참고해주세요.