사용자 도구

사이트 도구


guide:seven_segment

문서의 이전 판입니다!


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에는 가운데 콜론(:)을 표시하는 시계형과 자리 사이 소수점을 표시하는 소수점형이 있습니다. 시계형의 소수점 모양은 개별 소수점으로 제어할 수 없으므로, 소수점이 필요한 경우 소수점형을 사용하십시오.

시계형 TM1637 4자리 LED 실물. 가운데 콜론을 표시하는 제품

소수점형 TM1637 4자리 LED 실물. 자리 사이 소수점을 표시하는 제품

모듈에서 CLK, DIO, GND, VCC(또는 5V) 표시를 확인하십시오. 연결 전에는 제품과 모듈의 전원을 끕니다.

2. 제품에 연결하기

아래 사진은 MPINO-8A4R-S와 4핀 케이블, TM1637 LED의 연결에 사용하는 부품입니다. 실제로 선을 꽂을 때는 사진의 색상이나 방향을 기준으로 삼지 말고, 제품과 모듈에 인쇄된 신호 이름을 맞추십시오.

MPINO-8A4R-S, Molex 4핀 케이블, TM1637 4자리 LED 실물

MPINO-8A4R(T)-S 연결 예

MPINO-8A4R(T)-S의 FND/ENCO 4핀 커넥터를 사용합니다. 이 커넥터에서 CLK는 Arduino D24, DIO는 D25입니다.

MPINO-8A4R(T)-S FND/ENCO 커넥터와 TM1637 LED의 CLK, DIO, GND, 5V 신호 대응도

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. 표시되지 않을 때 확인

  1. LED가 TM1637 칩이 들어 있는 4자리 제품인지 확인합니다. 일반 7-SEGMENT LED를 직접 연결하는 명령어가 아닙니다.
  2. 전원을 끈 뒤 CLK↔CLK, DIO↔DIO, GND↔GND, 5V↔VCC 연결과 커넥터 방향을 다시 확인합니다.
  3. Arduino IDE에서 실제 제품에 맞는 ILOGICS 보드와 COM 포트를 선택했는지 확인합니다.
  4. 프로그램이 IsegBegin()을 먼저 호출하는지, IsegDecimal()에 네 자리로 표시할 수 있는 숫자를 주었는지 확인합니다. 범위를 넘는 숫자는 표시하지 않고 false를 반환합니다.
  5. 소수점을 사용한다면 소수점형 LED인지 확인합니다. 시계형에서는 소수점 표시가 지원되지 않습니다.
  6. 같은 CLK·DIO 단자를 엔코더·PWM·UART 등 다른 기능에서 사용 중이라면 중복 사용을 중지합니다.
guide/seven_segment.1791285086.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki