에듀이노-코딩교육 전문 쇼핑몰 에듀이노-코딩교육 전문 쇼핑몰

학교, 공공기관이라면 후불결제하세요!

 
현재 위치
  1. 게시판
  2. 묻고답하기

묻고답하기

기술문의 게시판입니다.

게시판 상세
제목 구매후 코딩소스에 대한 질문드립니다.
작성자 에듀이노 (ip:)
  • 작성일 2018-09-21
  • 추천 추천하기
  • 조회수 38
안녕하세요 에듀이노 입니다.

문의하신 코드에서

byte patterns[4][8][8] = { E, D, I, N };   

부분은 'patterns'행열에 #define으로 정의한 LED모양을 입력합니다.

이후 아래 loop문에 포함된 for문을 통해 LED를 순차적으로 출력합니다.

감사합니다.^^

[ Original Message ]

#include "LedControl.h"

LedControl lc=LedControl(12,11,10,4);

// DIN 핀을 12번에 CS 핀을 10번에 CLK핀을 11번에 연결해줌

// (DIN, CLK, CS, 연결할 도트 매트릭스의 개수)

 

#define E  { \

    {0, 0, 0, 0, 0, 0, 0, 1}, \

    {0, 1, 1, 0, 0, 1, 0, 1}, \

    {1, 0, 0, 1, 0, 1, 0, 1}, \

    {1, 0, 0, 1, 1, 1, 0, 1}, \

    {1, 0, 0, 1, 0, 1, 0, 1}, \

    {1, 0, 0, 1, 0, 1, 0, 1}, \

    {0, 1, 1, 0, 0, 1, 0, 1}, \

    {0, 0, 0, 0, 0, 0, 0, 1}  \

}

 

#define D { \

    {0, 0, 1, 1, 1, 1, 1, 0},\

    {0, 0, 1, 0, 0, 0, 0, 0},\

    {0, 0, 1, 0, 0, 0, 0, 0},\

    {0, 0, 1, 1, 1, 1, 1, 0},\

    {0, 0, 0, 0, 0, 0, 0, 0},\

    {0, 1, 1, 1, 1, 1, 1, 1},\

    {0, 0, 0, 1, 0, 1, 0, 0},\

    {0, 0, 0, 1, 0, 1, 0, 0},\

}

 

#define I { \

    {0, 0, 0, 0, 0, 0, 1, 0},\

    {0, 0, 1, 1, 0, 0, 1, 0},\

    {0, 1, 0, 0, 1, 0, 1, 0},\

    {0, 1, 0, 0, 1, 0, 1, 0},\

    {0, 1, 0, 0, 1, 0, 1, 0},\

    {0, 1, 0, 0, 1, 0, 1, 0},\

    {0, 0, 1, 1, 0, 0, 1, 0},\   

    {0, 0, 0, 0, 0, 0, 1, 0},\

}

 

#define N { \

    {0, 1, 0, 0, 0, 0, 0, 0},\

    {0, 1, 0, 0, 0, 0, 0, 0},\

    {0, 1, 0, 0, 0, 0, 0, 0},\

    {0, 1, 0, 0, 0, 0, 0, 0},\

    {0, 1, 1, 1, 1, 1, 1, 0},\

    {0, 0, 0, 1, 0, 0, 0, 0},\

    {0, 0, 0, 1, 0, 0, 0, 0},\

    {1, 1, 1, 1, 1, 1, 1, 1},\

}

byte patterns[4][8][8] = { E, D, I, N };    

// 위에서 정의한 led 모양을 patterns에 입력해 주기

 

void setup()

{

  for(int i=0; i<4; i++){              // 도트 매트릭스 0~3번

    lc.shutdown(i,false);           // 디스플레이 초기화

    lc.setIntensity(i,1);             // 도트 매트릭스 밝기 (매트릭스 번호, 밝기) 1~15

    lc.clearDisplay(i);              // led 를 전체 꺼주는 함수

  }

}

 

void clean(){                       // 전체led를 꺼주는 함수

  for(int i = 0; i < 4; i++)

    lc.clearDisplay(i);// clear screen

}

 

void loop(){

  int pattern = 4;

  int row, col, i;

 

    for(i = 0; i < 4; i++){     // 총 4글자 반복

       for (row = 0; row < 8; row++) {    // row 출력

         for (col=0; col < 8; col++){     // col 출력

            if (patterns[i][7 - col][7 - row] == 1)     

// 위의 배열에서 1일때 해당되는 위치 불빛 켜주기

              lc.setLed(i, col, row, true);

            else                           // 위 배열에서 0일때 해당되는 위치 불빛 꺼주기

              lc.setLed(i, col, row, false);

         }

      }

      delay(500);     // 딜레이 500ms

    }

    clean();          // led 전체 꺼주기

    delay(500);       // 딜레기 500ms   

}



빨간 글자는 무엇을 의미하나요 ?
byte 뒤에 [4][8][8]이 의미하는 바는 무엇인가요?

게시글 신고하기

신고사유

신고해주신 내용은 쇼핑몰 운영자의 검토 후 내부 운영 정책에 의해 처리가 진행됩니다.

평점 0점
첨부파일
비밀번호 수정 및 삭제하려면 비밀번호를 입력하세요.
댓글 수정

비밀번호 :

수정 취소

/ byte

비밀번호 : 확인 취소

댓글 입력

댓글달기이름 :비밀번호 : 관리자답변보기

확인

/ byte

왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

에게만 댓글 작성 권한이 있습니다.

댓글 입력

댓글달기이름 :비밀번호 :

확인

/ byte

왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

에게만 댓글 작성 권한이 있습니다.

«
»