Arduino

디스플레이 : 도트 매트릭스(Dot Matrix) 하트(Hart) 표시하기

작성자 임베디드코리아 작성일25-05-16 00:20 조회292회 댓글0건

첨부파일

<*  도트 매트릭스(Dot Matrix) 사용 *>
● 도트 매트릭스(Dot Matrix)는  LED를 매트릭스 형태로 배열하여 다양한 문자나 패턴을 표현할 수 있도록 해주는 표시장치이다.
● 일반적으로 8X8, 16X16 등의 형태가 있다.

---- < 도트 매트릭스(Dot Matrix) 하트(Hart) 소스 코드 > --------------------------------------
int col[8] = {A0, 12, A2, 13, 5, A3, 7, 2};
int row[8] = {9, 8, 4, A1, 3, 10, 11, 6};

int heart[8][8] = {
  {1, 1, 1, 1, 1, 1, 1, 1},
  {1, 0, 0, 1, 1, 0, 0, 1},
  {0, 0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0, 0},
  {1, 0, 0, 0, 0, 0, 0, 1},
  {1, 1, 0, 0, 0, 0, 1, 1},
  {1, 1, 1, 0, 0, 1, 1, 1},
  {1, 1, 1, 1, 1, 1, 1, 1}
};

int dm_heart[8][8] { \
    {0, 0, 1, 0, 0, 1, 0, 0},\
    {0, 1, 0, 1, 1, 0, 1, 0},\
    {1, 0, 0, 0, 0, 0, 0, 1},\
    {1, 0, 0, 0, 0, 0, 0, 1},\
    {1, 0, 0, 0, 0, 0, 0, 1},\
    {0, 1, 0, 0, 0, 0, 1, 0},\
    {0, 0, 1, 0, 0, 1, 0, 0},\
    {0, 0, 0, 1, 1, 0, 0, 0},\
};

void setup(){
  for(int i = 0; i <8; i ++){
    pinMode(row[i], OUTPUT);
    pinMode(col[i], OUTPUT);
    digitalWrite(row[i],HIGH);
    digitalWrite(col[i],LOW);
  }
}

void clear(){
  for(int k = 0; k < 8; k++){
    digitalWrite(row[k],HIGH);
    digitalWrite(col[k],LOW);
  }
}

void loop(){
 
  for(int i=0;i<8;i++){
    for(int j=0;j<8;j++){
    digitalWrite(col[j],dm_heart[i][j]);
    }
    digitalWrite(row[i],LOW);
    delay(1);
    digitalWrite(row[i],HIGH);
        }
}