TM1637 I.C가 내장된 4자리 제품의 7세그먼트(FND)를 ILOGICS 보드 패키지에 내장된 명령어로 쉽게 제어할 수 있습니다.
ILOGICS 보드 패키지를 설치하지 않았다면 ILOGICS 보드 패키지를 설치해 주시기 바랍니다.(MPINO STUDIO2에서는 설치가 필요하지 않습니다)
연결 전에는 제품과 모듈의 전원을 끄고 연결해 주시기 바랍니다.
아래는 MPINO-8A4R-S 제품에 Molex 4핀(5264-04) 케이블을 사용하여 7세그먼트(FND)를 연결한 예시입니다. (Molex 4핀 케이블의 색상은 변경될 수 있으므로 색상보다는 핀 이름을 보고 연결해 주시기 바랍니다)
| 제품별 결선도 | LED CLK에 연결할 단자 | LED DIO에 연결할 단자 | 함께 사용할 수 없는 기능 |
|---|---|---|---|
| MPINO-8A4R(T)-S, MPINO-8A8R(T)-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 |
| 명령어 | 하는 일 | 사용 예 |
|---|---|---|
| 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의 응답은 이어서 호출하는 통신 명령어의 반환값으로 확인할 수 있습니다.
아래는 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이 표시되는지 확인해 주시기 바랍니다. 왼쪽의 빈 자리는 표시되지 않습니다.
아래 호출은 위 코드의 IsegDecimal(123); 대신 한 번에 하나씩 사용해 주시기 바랍니다.
IsegDecimal(123, true); // 앞자리 0을 포함해 0123 표시 IsegDecimal(123, true, 2); // 소수점형에서 01.23 표시 IsegHex(0xABCD); // 16진수 네 자리 표시 IsegClear(); // 네 자리 지우기
123V 예제는 setup()의 IsegDecimal(123); 대신 사용해 주시기 바랍니다. 0x3E는 문자 V에 해당하는 F·E·D·C·B 세그먼트 값입니다.
uint8_t displayData[4] = { IsegEncodeDigit(1), IsegEncodeDigit(2), IsegEncodeDigit(3), 0x3E }; IsegWrite(displayData);
IsegBegin()을 먼저 호출하는지, IsegDecimal()에 네 자리로 표시할 수 있는 숫자를 주었는지 확인해 주시기 바랍니다. 범위를 넘는 숫자는 표시하지 않고 false를 반환합니다.