본문 바로가기
  • You find inspiration to create your own path !
★ 아두이노

아두이노 호환 보드 & MAX7219CNG #5

by ToolBOX01 2025. 9. 28.
반응형

▶ (0,0) 부터 (0,7) LED를 점등을 한번에 깜빡이게 하기

#include <LedControl.h>

// LedControl 객체 생성: DIN=12, CLK=11, CS=10, 디바이스 수=1
LedControl lc = LedControl(12, 11, 10, 1);

void setup() {
  // 디바이스 초기화
  lc.shutdown(0, false);  // 절전 모드 해제
  lc.setIntensity(0, 8);  // 밝기 설정 (0~15, 8은 중간)
  lc.clearDisplay(0);     // 디스플레이 초기화
}

void loop() {
  // 0행의 0~7열 켜기: (0,0), (0,1), ..., (0,7)
  for (int col = 0; col < 8; col++) {
    lc.setLed(0, 0, col, true);
  }
  delay(1000);  // 1초 대기

  // 0행의 0~7열 끄기
  for (int col = 0; col < 8; col++) {
    lc.setLed(0, 0, col, false);
  }
  delay(1000);  // 1초 대기
}

 

▶  0 열 부터 7열까지  LED를 점등을 한번에 깜빡이게 하기

#include <LedControl.h>

// LedControl 객체 생성: DIN=12, CLK=11, CS=10, 디바이스 수=1
LedControl lc = LedControl(12, 11, 10, 1);

void setup() {
  // 디바이스 초기화
  lc.shutdown(0, false);  // 절전 모드 해제
  lc.setIntensity(0, 8);  // 밝기 설정 (0~15, 8은 중간)
  lc.clearDisplay(0);     // 디스플레이 초기화
}

void loop() {
  // 0열에서 7열까지 순차적으로 켜고 끄기
  for (int col = 0; col < 8; col++) {
    // 현재 열 켜기: 모든 행(row 0~7, col)
    for (int row = 0; row < 8; row++) {
      lc.setLed(0, row, col, true);
    }
    delay(1000);  // 1초 대기

    // 현재 열 끄기
    for (int row = 0; row < 8; row++) {
      lc.setLed(0, row, col, false);
    }
  }
}

 

▶ 2개의 기능을 결합 하는 예시 코드
1) 0 열 부터 7열까지  LED를 점등을 한번에 깜빡이게 하기 후, 
2) (0,0) ~ (7,7) 위치의 LED를 순차적으로 ON/ OFF 예시 코드

#include <LedControl.h>

// LedControl 객체 생성: DIN=12, CLK=11, CS=10, 디바이스 수=1
LedControl lc = LedControl(12, 11, 10, 1);

void setup() {
  // 디바이스 초기화
  lc.shutdown(0, false);  // 절전 모드 해제
  lc.setIntensity(0, 8);  // 밝기 설정 (0~15, 8은 중간)
  lc.clearDisplay(0);     // 디스플레이 초기화
}

void loop() {
  // 첫 번째 동작: 0열에서 7열까지 순차적으로 켜고 끄기
  for (int col = 0; col < 8; col++) {
    // 현재 열 켜기: 모든 행(row 0~7, col)
    for (int row = 0; row < 8; row++) {
      lc.setLed(0, row, col, true);
    }
    delay(1000);  // 1초 대기
    // 현재 열 끄기
    for (int row = 0; row < 8; row++) {
      lc.setLed(0, row, col, false);
    }
  }

  // 두 번째 동작: 각 행의 LED를 순차적으로 켜고 끄기
  for (int row = 0; row <= 7; row++) {
    // 현재 행의 0~7번 열 LED를 순차적으로 켜기
    for (int col = 0; col <= 7; col++) {
      lc.setLed(0, row, col, true);  // 디스플레이 0, 행 row, 열 col, 상태: ON
      delay(500);                   // 500ms 대기
    }
    // 현재 행의 0~7번 열 LED를 순차적으로 끄기
    for (int col = 0; col <= 7; col++) {
      lc.setLed(0, row, col, false); // 디스플레이 0, 행 row, 열 col, 상태: OFF
      delay(500);                   // 500ms 대기
    }
  }
}

 

by korealionkk@gmail.com


반응형