#include "LedControl.h"
LedControl dot = LedControl(12, 11, 10, 1); // 핀번호 (din, clk, cs, 매트릭수 개수 설정)
int Switch1= 4;
int Switch2= 3;
int Switch3= 2;
byte A[] = { B00000000,B11100111,B01000010,B01000010,B01000010,B00000000,B00111100,B00000000 };
byte B[] = { B01000010,B10100101,B00001000,B00001000,B00011000,B01000010,B00111100,B00000000 };
byte C[] = { B00000000,B10000001,B01000010,B00100100,B01000010,B10000001,B00111100,B00000000 };
byte Q[] = { B00111000,B01000100,B01000100,B00001000,B00010000,B00010000,B00000000,B00010000 };
//원하는 모양의 도트매트릭스를 그려주세요.
void setup() {
Serial.begin(9600);
dot.shutdown(0, false); //절전모드
dot.setIntensity(0 , 10); //밝기조정
dot.clearDisplay(0); //초기화
pinMode(Switch1, INPUT_PULLUP); //스위치
pinMode(Switch2, INPUT_PULLUP);
pinMode(Switch3, INPUT_PULLUP);
}
void loop() {
DOT(4); //기본값을 ? 로 설정
int SW1 = digitalRead(Switch1);
int SW2 = digitalRead(Switch2);
int SW3 = digitalRead(Switch3);
if(SW1==LOW){ //스위치 번호에 따른 도트매트릭스 출력
DOT(1);
}
if(SW2==LOW){
DOT(2);
}
if(SW3==LOW){
DOT(3);
}
}
void DOT(int a){
if(a == 1){
for(int i = 0; i < 8 ; i++)
dot.setRow(0, i , A[i]);
}
if(a == 2){
for(int i = 0; i < 8 ; i++)
dot.setRow(0, i , B[i]);
}
if(a == 3){
for(int i = 0; i < 8 ; i++)
dot.setRow(0, i , C[i]);
}
if(a == 4){
for(int i = 0; i < 8 ; i++)
dot.setRow(0, i , Q[i]);
}
delay(1000);
}