10
13

도트매트릭스를 써보기는 김에 정리 해서 써보게 되었습니다.

정리 안하면 다 까먹어버리고 동기들이 물어보는 경우도 많아서

걍 정리해서 보여주려구용

찾아보니까 lc.setLed 랑 for 문 사용하셔서 하는 분들이 많던데

 dot.setColumn 사용하는게 간단하게 하기에는 젤 편하더라구용 바보라 잘 못하기도하공

암튼 자세히는 정리못해도 코드를 보고 뭔 코드구나~~ 정도는 알 수 있게 정리하것습당

원리가 어떻게되니 뭐라니는 바보라 몰라요~~

 

먼저 시작에 앞서 LedControl 라이브러리를 설치해주셔야합니다.

스케치에 들어가 라이브러리 관리에 들어가

LedControl 라이브러리를 받아 사용하시면됩니다.

기본 회로도

#include <LedControl.h>  // led 제어 
LedControl dot = LedControl(12,11,10,1); // (DIN,CLK,CS,모듈갯수) 핀설정
void setup() 
  dot.shutdown(0,false); //절전모드 설정
  dot.setIntensity(0,8); //밝기 조절
  dot.clearDisplay(0);   //초기화 설정
  
  dot.setColumn(n-1,n,B00000000); // (n번째도트,n번째줄, 첫번쨰 부터 0,1로 출력표시)
  
}

void loop() {
}

 

// 예제 숫자 4 표현하기
#include <LedControl.h>
LedControl dot = LedControl(12,11,10,1);
void setup() 
  dot.shutdown(0,false);
  dot.setIntensity(0,8);
  dot.clearDisplay(0);
  
  dot.setColumn(0,0,B00001000);
  dot.setColumn(0,1,B00001000);
  dot.setColumn(0,2,B00001000);
  dot.setColumn(0,3,B00001000);
  dot.setColumn(0,4,B11111111);
  dot.setColumn(0,5,B01001000);
  dot.setColumn(0,6,B00101000);
  dot.setColumn(0,7,B00011000);
}

void loop() {
}

 

짜잔 예제대로 입력 하셨다면 숫자4 도트가 표현됩니다~~

 

다음은 매트릭스 두개 이상 사용 예제입니다.

매트릭스 모듈을 두개 이상 사용할 시에도 아주 간단합니다.

처음에 만들었던 회로와 비슷하나 OUT과  IN에 맞춰 추가 모듈을 연결하고

코드를 조금만 바꿔주면 됩니다.

// 예제 숫자 44 표현하기
#include <LedControl.h>
LedControl dot = LedControl(12,11,10,2); // 도트 매트릭스 2개 사용
void setup() 
  dot.shutdown(0,false);
  dot.setIntensity(0,8);
  dot.clearDisplay(0);
  dot.shutdown(1,false);
  dot.setIntensity(1,8);
  dot.clearDisplay(1); // 두번째 도트 매트릭스도 설정 및 초기화
  
  dot.setColumn(0,0,B00001000);
  dot.setColumn(0,1,B00001000);
  dot.setColumn(0,2,B00001000);
  dot.setColumn(0,3,B00001000);
  dot.setColumn(0,4,B11111111);
  dot.setColumn(0,5,B01001000);
  dot.setColumn(0,6,B00101000);
  dot.setColumn(0,7,B00011000); // 첫번째 매트릭스


  dot.setColumn(1,0,B00001000);
  dot.setColumn(1,1,B00001000);
  dot.setColumn(1,2,B00001000);
  dot.setColumn(1,3,B00001000);
  dot.setColumn(1,4,B11111111);
  dot.setColumn(1,5,B01001000);
  dot.setColumn(1,6,B00101000);
  dot.setColumn(1,7,B00011000); // 두번째 매트릭스
void loop() {
}

예제를 입력하면

짜잔~~~ 44가 나옵니당~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

참쉬죵?

바보라서 이런 쉬운 예제 밖에 쓸수 없지만 쉬운만큼 이해를 될거라고 생각합니당

예제에 오타가 있을수도있습미당

좋은 밤~~~~~~~

COMMENT