[디스플레이/문자LED] 4자리(digits) 영숫자 출력 가능한 LED : TM1637 모듈
4 digits LED로 시간을 출력해보자.
▶ 이 가이드를 따라하면
- TM1637 4 digits 디스플레이를 활용할 수 있다
- 시간을 출력하기 위한 몇 가지 노하우를 알 수 있다.
▶ 먼저 읽으면 좋은 글
- 라이브러리 설치 방법 : http://bbangpan.tistory.com/1
▶ 부품 설명 및 회로 구성
TM1637 4 digit 디스플레이는 밝기조절과 4자리의 숫자/문자 표기를 두 핀(CLK, DIO)으로 제어할 수 있는 값싼($3) LED 디스플레이다.
< TM1637 4 digits 연결 모습>
<TM1637 4digit LED, CLK/DIO를 D3/D4(소스코드 수정 필요)에 VCC/GND는 5V/GND에 연결>
TM1637칩을 사용한 4 digit LED의 경우에는 http://www.seeedstudio.com/wiki/Grove_-_4-Digit_Display 에서 설명하는 소스와 설명이 모두 적용된다.
▶ 라이브러리 설치
TM1637로 시간을 출력하기 위해서는 아래 2가지 라이브러리를 같이 설치해야 한다.
http://www.seeedstudio.com/wiki/File:DigitalTube.zip (TM1637용 디스플레이 라이브러리)
https://code.google.com/p/arduino-timerone/downloads/detail?name=TimerOne-v9.zip&can=2&q= (TimerOne/Arduino로 검색)
2019.7월 업데이트 : 상기 URL미작동으로 https://github.com/bremme/arduino-tm1637 를 추천한다.
내부 예시를 통해 제어방법을 알 수 있다
▶ 소스 코드 입력 및 구동
여기서는 seeedstudio의 소스를 발췌하여 사용하였다.
------------------------------------------------------------------------------------------------------------
/*
* TM1637.cpp
* A library for the 4 digit display
*/
#include "TM1637.h"
#define CLK 3 //pins definitions for TM1637 and can be changed to other ports
#define DIO 4
TM1637 tm1637(CLK,DIO);
void setup()
{
tm1637.init();
tm1637.set(BRIGHT_TYPICAL);//BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;
}
void loop()
{
int8_t NumTab[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};//0~9,A,b,C,d,E,F
int8_t ListDisp[4];
unsigned char i = 0;
unsigned char count = 0;
delay(150);
while(1)
{
i = count;
count ++;
if(count == sizeof(NumTab)) count = 0;
for(unsigned char BitSelect = 0;BitSelect < 4;BitSelect ++)
{
ListDisp[BitSelect] = NumTab[i];
i ++;
if(i == sizeof(NumTab)) i = 0;
}
tm1637.display(0,ListDisp[0]);
tm1637.display(1,ListDisp[1]);
tm1637.display(2,ListDisp[2]);
tm1637.display(3,ListDisp[3]);
delay(300);
}
}
------------------------------------------------------------------------------------------------------------
소스를 upload 버튼을 눌러 실행하면 설정된 문자들이 스크롤됨을 알 수 있다.
▶ 구매 가이드
▶ 강의 키워드
TM1637, 아두이노 4자리 디스플레이, Arduino 4 digits display, TimerOne, DigitalTube