본문 바로가기
아두이노(Arduino)/아두이노 기초

[아두이노기초.006]도트매트릭스로 이모티콘 만들기

by 긱펀 2022. 6. 13.
반응형

 

 

 

 

[1] 매트릭스(Matrix) 란?

 

수학에서 매트릭스(행렬)

 

격자 모양의 매트릭스

 

 

 

[2] 도트 매트릭스 LED 란?

도트 매트릭스 LED란, 매트릭스(Matrix, 행렬)형태로 도트(Dot, 점)모양의 LED를 연결한 제품을 말합니다.

각 도트의 LED를 켜거나 끄면 멀리서 봤을 때 어떤 모양이나 글자를 나타낼 수 있습니다.

 

우리가 사용할 도트 매트릭스 LED는 "8x8 도트 매트릭스 LED"로서 가로 8개, 세로 8개의 행렬로 이루어진, 총 64개의 LED(8x8)의 격자형으로 구성해 놓은 LED 장치 입니다.

 

 

 

[3] 회로도

 

 

 

[4] 라이브러리 설치하기

-아두이노 IDE에서 스케치 >> 라이브러리 포함하기 >> 라이브러리 관리로 들어갑니다.

 

 

 

- 검색창에 "LedControl"이라고 검색하고 아래에 뜨는 라이브러리를 선택하여 설치해주세요.

 

 

🚩 실습코드 1

[1] 아래 코드를 아두이노에 업로드 하여 실행해 보세요.


#include "LedControl.h" // 도트매트릭스 제어용 라이브러리

// 도트매트릭스 사용 준비
LedControl lc = LedControl(8, 10, 9, 1); // (DIN,CLK,CS,number)

// 하트 모양의 배열
byte heart[] =
{
  B01100110,
  B11111111,
  B11111111,
  B11111111,
  B01111110,
  B00111100,
  B00011000,
  B00000000
};

void setup() {
  lc.shutdown(0, false);
  lc.setIntensity(0, 5); // LED 도트매트릭스 밝기
  lc.clearDisplay(0); // LED 도트매트릭스 모두 지우기
}

void loop() {
  showLED(heart, 1); // 하트모양 보이기
  delay(1000); // 1초기다리기
  showLED(heart, 0); // 모두 지우기
  delay(1000); // 1초기다리기
}

// LED 도트매트릭스 제어용 함수
void showLED(byte arr[], int a)
{
  if (a == 1) {
    for (int i = 0; i < 8; i++)
    {
      lc.setRow(0, i, arr[i]);
    }
  } else {
    for (int i = 0; i < 8; i++)
    {
      lc.setRow(0, i, B00000000);
    }
  }
}

 

🚩 실습코드 2

[1] LED 매트릭스의 코드를 쉽게 만들기 위해 아래의 사이트에 접속합니다.

 

-LED Matrix(8x8) Generator : https://www.riyas.org/2013/12/online-led-matrix-font-generator-with.html

 

 

[2] 아래 그림에서 dot matrix에 원하는 그림을 클릭해서 만들고 코드를 복사합니다.

 

 

[3] 복사한 코드를 아래 그림처럼 아두이노 IDE에 붙여넣습니다.

 

 

 

🏁 연습 문제

[1] 아래 그림과 같은 LED 이모티콘을 만들어 보세요.

 

1.웃기-무표정


2.춤추기


3.하트 두근


4.하트 에너지


5.엑스자


6.화살표

 

 

[2] 아래 그림과 같이 알파벳 A ~ G 까지 나타내 보세요.(그림은 A ~ C만 출력중)

알파벳 나타내기

 

[3] ARDUINO 라는 글자의 알파벳 하나씩 1초 간격으로 나타나게 해보세요.

 

 

 


 

 

728x90
반응형

댓글