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
'아두이노 디스플레이' 카테고리의 다른 글
[디스플레이/E-ink] 전자잉크 Heltec 2.13 inch E-ink display V2 (Waveshare 2.13 inch e-paper) (0) | 2020.07.09 |
---|---|
[디스플레이/OLED] SSD1306 driver 기반의 얇고 긴 OLED, 0.91 inch 128x32 (0) | 2017.06.08 |
[디스플레이/컬러OLED] SSD1331 driver를 갖춘 color OLED 96x64 0.95 inch (0) | 2017.06.08 |
[디스플레이/WS2812] 8x8 WS2812 LED 디스플레이 사용법 (0) | 2016.12.12 |
[디스플레이/MAX7219] 8 digits LED(7 segments), MAX7219 (0) | 2015.12.19 |
[디스플레이/원형칼라LED] 링형 RGB LED WS2812 Ring x24를 사용해 심플한 조명을 구현해보자 (0) | 2015.10.16 |
[디스플레이/터치스크린] 2.4인치TFT Touchscreen LCD 쉴드(ST7781 or ILI9325) (4) | 2015.04.19 |
[디스플레이/8x8 LED] MAX7219 기반 8x8 단색 LED 표시장치 (0) | 2015.04.15 |
[디스플레이/LED] 끈형태의 LED줄을 통해 조명제어를 해보자 : WS2812 LED (0) | 2015.03.29 |
[디스플레이/OLED] 저전력의 최소 핀으로 구현가능한 고해상도 소형 OLED (128x64) 모듈 (0) | 2015.01.26 |