문서의 이전 판입니다!
목차
7-SEGMENT LED 사용설명서
7-SEGMENT LED(FND)는 숫자를 빛으로 표시하는 장치입니다. 이 안내에서는 TM1637 칩이 들어 있는 4자리 제품을 ILOGICS 산업용 아두이노에 연결하고 123을 표시합니다. CLK와 DIO 두 신호로 제어하며, 프로그램에서는 보드 패키지에 내장된 Iseg…() 명령어를 사용합니다.
Arduino IDE와 ILOGICS 보드를 아직 설치하지 않았다면 Arduino IDE로 시작하기를 먼저 진행하십시오.
1. 사용할 7-SEGMENT LED 확인
아이로직스의 TM1637 4자리 LED에는 가운데 콜론(:)을 표시하는 시계형과 자리 사이 소수점을 표시하는 소수점형이 있습니다. 시계형의 소수점 모양은 개별 소수점으로 제어할 수 없으므로, 소수점이 필요한 경우 소수점형을 사용하십시오.
모듈에서 CLK, DIO, GND, VCC(또는 5V) 표시를 확인하십시오. 연결 전에는 제품과 모듈의 전원을 끕니다.
2. 제품에 연결하기
아래 사진은 MPINO-8A4R-S와 4핀 케이블, TM1637 LED의 연결에 사용하는 부품입니다. 실제로 선을 꽂을 때는 사진의 색상이나 방향을 기준으로 삼지 말고, 제품과 모듈에 인쇄된 신호 이름을 맞추십시오.
MPINO-8A4R(T)-S 연결 예
MPINO-8A4R(T)-S의 FND/ENCO 4핀 커넥터를 사용합니다. 이 커넥터에서 CLK는 Arduino D24, DIO는 D25입니다.
| MPINO FND/ENCO | TM1637 LED | 역할 |
|---|---|---|
| CLK (D24) | CLK | 표시 제어 신호 |
| DIO (D25) | DIO | 표시 데이터 신호 |
| GND | GND | 공통 접지 |
| 5V | VCC 또는 5V | 모듈 전원 |
실제 커넥터의 핀 위치와 방향은 제품 인쇄와 모듈 표시를 확인하십시오. 위 그림은 신호가 어디에 연결되는지를 보여 주며, 커넥터의 물리적 핀 배열을 나타내지 않습니다.
다른 제품에서 사용할 신호 단자
다른 제품에서는 아래의 CLK·DIO 단자를 사용합니다. 사용하는 단자는 엔코더, PWM, 아날로그 입력 또는 UART와 공유될 수 있으므로, 같은 단자의 다른 기능을 동시에 사용하지 마십시오. 전원·접지와 실제 커넥터 위치는 해당 제품의 단자 표시와 사용설명서를 확인하십시오.
| 제품 | LED CLK에 연결할 단자 | LED DIO에 연결할 단자 | 함께 사용할 수 없는 기능 |
|---|---|---|---|
| MPINO-8A4R-S, MPINO-8A4T-S, MPINO-8A8R-S, MPINO-8A8T-S, MPINO-16A16R | FND/ENCO CLK (D24) | FND/ENCO DIO (D25) | 같은 단자의 엔코더·인터럽트 입력 |
| MPINO-8A4R-SU | FND/ENCO CLK (D24) | FND/ENCO DIO (D25) | 같은 단자의 엔코더·인터럽트 입력 |
| MPINO-8A8R | PWM7 | PWM8 | 같은 단자의 PWM 출력 |
| MPINO-16A8R | AI2 (Arduino A2) | AI3 (Arduino A3) | 같은 단자의 아날로그 입력 |
| MPINO-16A8R8T | P(5) (Arduino D5) | P(2) (Arduino D2) | 같은 단자의 PWM 출력 |
| MPAINO Series | UART TXD (D14) | UART RXD (D15) | Serial3 UART |
제품별 결선도
아래 링크는 사용하는 제품의 7-SEGMENT LED 결선도로 연결됩니다. 제품명을 확인하고 해당 그림에서 단자 위치와 연결 방향을 확인하십시오.
MPINO-8A4R-SU의 별도 결선도는 위 원문 목록에 없습니다. 이 제품은 제품 설명과 실제 단자 표시를 확인하십시오.
3. ILOGICS 내장 명령어
IsegBegin()으로 CLK·DIO 핀을 지정한 뒤 밝기와 표시 내용을 설정합니다. 추가 라이브러리 포함이나 객체 선언 없이 보드 패키지의 내장 명령어를 바로 사용합니다.
| 명령어 | 하는 일 | 사용 예 |
|---|---|---|
| IsegBegin(clkPin, dioPin) | LED의 CLK와 DIO에 연결한 Arduino 핀을 지정합니다. | IsegBegin(24, 25); |
| IsegBrightness(brightness) | 밝기를 0~7로 설정합니다. 숫자가 클수록 밝습니다. | IsegBrightness(7); |
| IsegDecimal(number) | 정수를 10진수로 표시합니다. | IsegDecimal(123); |
| IsegHex(number) | 정수를 16진수로 표시합니다. | IsegHex(0xABCD); |
| IsegClear() | 네 자리 표시를 지웁니다. | IsegClear(); |
| IsegWrite(segments) | 자릿수별 LED 세그먼트 값을 직접 표시합니다. | 아래의 123V 예 참고 |
| IsegEncodeDigit(digit) | 숫자 한 자리를 세그먼트 값으로 바꿉니다. | IsegEncodeDigit(1) |
초기화·밝기·표시 명령어는 장치 번호 0~6을 인수로 받아 여러 LED를 구분할 수 있습니다. 처음 사용하는 LED 한 대는 장치 번호를 생략하여 0으로 사용합니다. IsegBegin()의 true는 지정한 설정값이 유효하다는 뜻입니다. 실제 LED의 응답은 이어서 호출하는 통신 명령어의 반환값으로 확인할 수 있습니다.
4. 예제: 123 표시하기
아래는 MPINO-8A4R(T)-S의 FND/ENCO 커넥터에 LED 한 대를 연결한 예제입니다. Arduino IDE에서 새 스케치에 코드를 입력하고 보드와 포트를 선택한 뒤 검증(✓) → 업로드(→) 순서로 실행하십시오.
void setup() { IsegBegin(24, 25); // FND/ENCO: D24 → CLK, D25 → DIO IsegBrightness(7); // LED 밝기를 7로 설정 IsegDecimal(123); // 123 표시 } void loop() { }
업로드가 끝나면 LED에 123이 표시되는지 확인하십시오. 왼쪽의 빈 자리는 표시되지 않습니다. 밝기가 너무 높으면 IsegBrightness(7)의 숫자를 0~7 범위에서 낮추어 다시 업로드하십시오.
표시를 바꾸는 예
아래 호출은 위 코드의 IsegDecimal(123); 대신 한 번에 하나씩 사용합니다.
IsegDecimal(123, true); // 앞자리 0을 포함해 0123 표시 IsegDecimal(123, true, 2); // 소수점형에서 01.23 표시 IsegHex(0xABCD); // 16진수 네 자리 표시 IsegClear(); // 네 자리 지우기
숫자와 문자를 함께 표시하려면 IsegWrite()로 해당 자리에 세그먼트 값을 기록합니다. 123V를 표시하려면 위 전체 예제의 setup() 안에 있는 IsegDecimal(123); 한 줄을 아래 코드로 바꾸십시오. 0x3E는 문자 V에 해당하는 F·E·D·C·B 세그먼트 값입니다.
uint8_t displayData[4] = { IsegEncodeDigit(1), IsegEncodeDigit(2), IsegEncodeDigit(3), 0x3E }; IsegWrite(displayData);
5. 표시되지 않을 때 확인
- LED가 TM1637 칩이 들어 있는 4자리 제품인지 확인합니다. 일반 7-SEGMENT LED를 직접 연결하는 명령어가 아닙니다.
- 전원을 끈 뒤 CLK↔CLK, DIO↔DIO, GND↔GND, 5V↔VCC 연결과 커넥터 방향을 다시 확인합니다.
- Arduino IDE에서 실제 제품에 맞는 ILOGICS 보드와 COM 포트를 선택했는지 확인합니다.
- 프로그램이
IsegBegin()을 먼저 호출하는지,IsegDecimal()에 네 자리로 표시할 수 있는 숫자를 주었는지 확인합니다. 범위를 넘는 숫자는 표시하지 않고false를 반환합니다. - 소수점을 사용한다면 소수점형 LED인지 확인합니다. 시계형에서는 소수점 표시가 지원되지 않습니다.
- 같은 CLK·DIO 단자를 엔코더·PWM·UART 등 다른 기능에서 사용 중이라면 중복 사용을 중지합니다.



