HT16K33 4자리 7세그먼트 디스플레이
일반
HT16K33 칩셋을 사용한 4자리 7세그먼트 디스플레이입니다. I2C 인터페이스를 사용합니다.

사양
- Onboard HT16K33 LED Controller
- I2C interface
- 1/16-step display dimming
- I2C address jumper selectable from 0x70 to 0x77
사용 가능한 GPIO
- 라즈베리파이 0~4
- 라즈베리파이 5
- 비글본 블랙/그린
- 젯슨 나노
- FT232H, FT2232H, FT4232H
- MCP2221
명령
[PRINT_TEXT]
텍스트를 디스플레이에 설정합니다. 일부 문자는 표시가 불가능할 수도 있습니다. 설정 후 WRITE_DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
텍스트 | WRITE | 설정할 텍스트를 입력합니다. |
[PRINT_NUM]
숫자를 디스플레이에 설정합니다. 음수, 소수점도 입력가능합니다. 설정 후 WRITE_DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
숫자 | WRITE | 설정할 숫자를 입력합니다. |
소수점 자리수 | WRITE | 소수점 이하 몇자리까지 표시할 것인지 설정합니다. (0~3) |
[PRINT_DATE]
날짜를 디스플레이에 설정합니다. “년.월” 또는”월.일”의 형식입니다. 설정 후 WRITE_DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
날짜 | WRITE | 설정할 날짜를 입력합니다. |
표시내용 | WRITE | 표시하고자 하는 내용을 선택합니다. (년월, 월일) |
점(.) 표시여부 | WRITE | 년월 또는 월일 사이에 점(.)을 표시할지 여부를 설정합니다. |
[PRINT_CLOCK]
시간을 디스플레이에 설정합니다. “시:분” 또는”분:초”의 형식입니다. 설정 후 WRITE_DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
시간 | WRITE | 설정할 시간을 입력합니다. |
표시내용 | WRITE | 표시하고자 하는 내용을 선택합니다. (시/분, 분/초) |
콜론(:) 표시여부 | WRITE | 시/분 또는 분/초 사이에 콜론(:)을 표시할지 여부를 설정합니다. |
[PRINT_TIME]
시간길이를 디스플레이에 설정합니다. “시:분” 또는”분:초”의 형식입니다. 시간이 99시간을 초과하면 99시간으로 표시됩니다. 설정 후 WRITE_DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
시간길이 | WRITE | 설정할 시간길이를 입력합니다. |
표시내용 | WRITE | 표시하고자 하는 내용을 선택합니다. (시/분, 분/초) |
콜론(:) 표시여부 | WRITE | 시/분 또는 분/초 사이에 콜론(:)을 표시할지 여부를 설정합니다. |
[WRITE_DIGIT_NUM]
숫자를 디스플레이의 특정 자리에 설정합니다. 설정 후 WRITE_DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
위치(0~3) | WRITE | 숫자를 표시할 위치를 설정합니다. (가장 왼쪽부터 0) |
숫자(0~9) | WRITE | 표시할 숫자를 입력합니다. (0~9) |
점(.) 표시여부 | WRITE | 숫자 뒤에 점(.)을 표시할지 여부를 설정합니다. |
[WRITE_DIGIT_ASCII]
ASCII코드에 해당하는 문자를 디스플레이의 특정 자리에 설정합니다. 일부문자는 표시가 불가능할 수도 있습니다. 설정 후 WRITE_DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
위치(0~3) | WRITE | 문자를 표시할 위치를 설정합니다. (가장 왼쪽부터 0) |
ASCII코드 | WRITE | 표시할 문자를 ASCII 코드로 입력합니다. |
점(.) 표시여부 | WRITE | 문자 뒤에 점(.)을 표시할지 여부를 설정합니다. |
[DRAW_COLON]
디스플레이의 콜론(:)의 표시여부를 설정합니다. 설정 후 WRITE_DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
콜론(:) 표시 | WRITE | 콜론(:)의 표시여부를 설정합니다. |
[WRITE_DIGIT_RAW]
bitmask로 설정된 바이트값을 디스플레이의 특정 자리에 설정합니다. 설정 후 WRITE_DISPLAY 명령을 실행해야 디스플레이에 표시됩니다.
항목 | 타입 | 설명 |
---|---|---|
위치(0~4) | WRITE | bitmask 값을 표시할 위치를 설정합니다. 콜론(:)의 위치도 포함됩니다. (가장 왼쪽부터 0 ) |
BITMASK * | WRITE | 해당 위치에 표시할 bitmask 값을 입력합니다. |
콜론(:)을 표시하고자 할때는 0x02 (십진수 2) 를 입력하고 표시하지 않을때는 0x00 (십진수 0)을 입력합니다.

[WRITE_DISPLAY]
설정된 내용을 디스플레이에 실제로 표시합니다.
[CLEAR]
설정된 내용을 모두 삭제합니다. 설정 후 WRITE_DISPLAY 명령을 실행해야 디스플레이에 반영됩니다.
[SET_BRIGHTNESS]
디스플레이의 밝기를 설정합니다.
항목 | 타입 | 설명 |
---|---|---|
밝기 | WRITE | 디스플레이의 밝기를 설정합니다. (0~15) |
[BLINK_RATE]
디스플레이의 깜빡임 주기를 설정합니다.
항목 | 타입 | 설명 |
---|---|---|
깜빡임 주기 | WRITE | 디스플레이 깜박임 주기를 설정합니다. (없음,1초에 두번,1초에 한번,2초에 한번) |
예제
목표
현재 시간을 디스플레이에 표시합니다. “시:분” 형식이며 콜론(:)은 1초에 한번씩 깜빡입니다.
부품
부품 | 갯수 |
---|---|
라즈베리파이 4 * | 1 |
HT16K33 디스플레이 | 1 |
연결
HT16K33 디스플레이 | GPIO |
---|---|
VIN | 3.3V |
GND | GND |
SCL (C) | 3 (I2C1 SCL) |
SDA (D) | 2 (I2C1 SDA) |

프로젝트