MAX7219 칩을 사용한 8 digits(7 segments) LED를 활용해보자.
▶ 이 가이드를 따라하면
- 8자리 digit을 표기할 수 있는 LED(점 포함)를 제어할 수 있다.
▶ 먼저 읽으면 좋은 글
- Arduino 일반 : http://bbangpan.tistory.com/1
- TM1637 4 digits 모듈 : http://bbangpan.tistory.com/31
- TM1638 8 digits 모듈 : http://bbangpan.tistory.com/72
▶ 부품 설명 및 회로 구성
일전에 TM1638 8 digit 모듈을 소개한바 있는데, 당시에는 스위치 포함 모듈이고, 이 모듈은 digit만 표시 가능한 LED 모듈이다. 군더더기 없이 딱 8자리 영숫자(7세그먼트)만 표기된다.
(88888888 형식의). MAX7219 칩은 8x8의 격자형 LED제어나 4 digits도 제어가 가능한데 여기는 8 digits임을 유의하자.
<MAX7219 8 digits 8 LED모듈>
배선은 VCC->5V, GND->GND, CLK->D6, DIN->D7, CS->D5로 맞춘다. 어떤 모듈은CS가 Load라는 이름으로 표기되어 있으니 참조하자.
< VCC->5V, GND->GND, DIO->D8, CLK->D9, STB->D7 에 연결>
이런 류들은 또 8 digits밑에 작은 점까지 지원된다는 점이 보너스이다..
▶ 소스 코드 입력 및 구동
MAX1729를 활용하는 LedControl이라는 라이브러리를 사용한다. 이 라이브러리는 Arduino에서 공식 안내하고 있기도 하다. (http://playground.arduino.cc/Main/LedControl#Source )
실제 라이브러리는 아래에서 다운받자. https://github.com/wayoda/LedControl/releases . 라이브러리를 받아 아두이노 설치폴더 밑에 libraries아래에 압축을 풀고 sketch를 재시작해주면 인식된다.
/* Originally posted on www.bbangpan.com
Program Description: MAX7219 8digits LED with dots
Needed library : LedControl
Tested on : Arduino 1.7.4, Arduino UNO R3, MAX7219 8 digits LED
Copyright (c) 2015 www.bbangpan.com. All rights reserved.
This program can be used for any non-commercial purpose freely. */
#include "LedControl.h" // Arduino Pin 7 to DIN, 6 to Clk, 5 to LOAD, no.of devices is 1
LedControl lc=LedControl(7,6,5,1);
int digitval[8];
void setup() { // Initialize the MAX7219 device
lc.shutdown(0,false); // Enable display
lc.setIntensity(0,10); // Set brightness level (0 is min, 15 is max)
lc.clearDisplay(0); // Clear display register
digitval[0]=3;
digitval[1]=2;
digitval[2]=1;
digitval[3]=0;
digitval[4]=0;
digitval[5]=0;
digitval[6]=0;
digitval[7]=0;
}
void loop() {
for(int i=0; i<8; i++){
lc.setDigit(0,i,digitval[i],true);
}
delay(10);
digitval[0]=digitval[0]+1;
for(int i=0; i<7; i++) {
if(digitval[i]>9) {
digitval[i]=0;
digitval[i+1]=digitval[i+1]+1;
}
}
}
이 소스는 123에서 시작해서 숫자가 증가하는 샘플이다.
참고로 lc.setDigit(0,I,doigitval[i].true); 에서 true는 dot을 활성화하기 위한 파라메터이고 필요없으면 false를 하면 된다.
숫자값은 0부터 15까지 할당하여 출력가능한데, 각각 0~F까지 16진수를 표기할 수 있다.
▶ 구매 가이드
MAX7219 : http://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20151219044408&SearchText=max7219+8+digit ($ 2)
▶ 강의 키워드
MAX7219 8 digits, MAX7219 8자리 숫자LED 8개 스위치, 7 세그먼트, Arduino, 아두이노, 숫자 표기 LED
'아두이노 디스플레이' 카테고리의 다른 글
[디스플레이/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 |
[디스플레이/원형칼라LED] 링형 RGB LED WS2812 Ring x24를 사용해 심플한 조명을 구현해보자 (0) | 2015.10.16 |
[디스플레이/터치스크린] 2.4인치TFT Touchscreen LCD 쉴드(ST7781 or ILI9325) (4) | 2015.04.19 |
[디스플레이/문자LED] 4자리(digits) 영숫자 출력 가능한 LED : TM1637 모듈 (0) | 2015.04.18 |
[디스플레이/8x8 LED] MAX7219 기반 8x8 단색 LED 표시장치 (0) | 2015.04.15 |
[디스플레이/LED] 끈형태의 LED줄을 통해 조명제어를 해보자 : WS2812 LED (0) | 2015.03.29 |
[디스플레이/OLED] 저전력의 최소 핀으로 구현가능한 고해상도 소형 OLED (128x64) 모듈 (0) | 2015.01.26 |