본문 바로가기
  • test
128x32 LED MATRIX 예제/testshapes_32x64

[128x32 LED 매트릭스 예제] testshapes_32x64

by 혜민우진아빠 2021. 12. 22.

 

예제의 결과물

 

testshapes_32x64

준비물 & 결선 & 세팅하기

아래 링크를 참고해서 준비해주세요.

[128x32 LED 매트릭스 세팅]

 

 

* 준비물 구입 링크

https://smartstore.naver.com/frontiers/products/5380911083%EF%BB%BF

 

스마트폰제어 LED 간판 오픈 입구 전광판 아트사인 부동산 전광판 영업중 개업선물 카페 식당 :

스마트폰과 블루투스 연결을 통해 글자와 이미지를 마음대로 변경

smartstore.naver.com

 

소스코드 다운

iotfrontiers/popsign_examples

 

GitHub - iotfrontiers/popsign_examples

Contribute to iotfrontiers/popsign_examples development by creating an account on GitHub.

github.com

위 링크에 들어가셔서 오른쪽의 연두색 Code버튼을 누르신 후

Download ZIP 버튼을 눌러서 전체 예제 파일을 다운 받으실 수 있습니다.

 

업로드 준비

① 파일 - 열기 항목을 눌러서 현재 진행하고 있는 예제의 ino파일을 선택합니다.

 

 보드와 PC를 USB C타입 케이블로 연결합니다.

 

 장치관리자에서 보드가 연결된 포트를 확인합니다. USB-SERIAL-CH340 이라는 이름으로 표시되어 있습니다.

 위에서 확인한 포트번호를 IDE에 설정합니다

 ESP-32 Dev Module 보드를 선택합니다.

 

⑥ 업로드 준비가 다 되었습니다. 업로드 버튼을 눌러서 업로드 할 수 있습니다.

 

testshapes_32x64 소스코드

/* Derived from Adafruit RGB_matrix_Panel library */

#include <Adafruit_GFX.h>   // Core graphics library
#include <P3RGB64x32MatrixPanel.h>

// constructor with default pin wiring

// use this constructor for custom pin wiring instead of the default above
// these pins are an example, you may modify this according to your needs
P3RGB64x32MatrixPanel matrix(25, 26, 27, 21, 22, 0, 15, 32, 33, 12, 5, 23, 4);

void setup() {

  matrix.begin();
  
  // draw a pixel in solid white
  matrix.drawPixel(0, 0, matrix.color444(15, 15, 15)); 
  delay(500);

  // fix the screen with green
  matrix.fillRect(0, 0, matrix.width(), matrix.height(), matrix.color444(0, 15, 0));
  delay(500);

  // draw a box in yellow
  matrix.drawRect(0, 0, matrix.width(), matrix.height(), matrix.color444(15, 15, 0));
  delay(500);
  
  // draw an 'X' in red
  matrix.drawLine(0, 0, matrix.width()-1, matrix.height()-1, matrix.color444(15, 0, 0));
  matrix.drawLine(matrix.width()-1, 0, 0, matrix.height()-1, matrix.color444(15, 0, 0));
  delay(500);
  
  // draw a blue circle
  matrix.drawCircle(10, 10, 10, matrix.color444(0, 0, 15));
  delay(500);
  
  // fill a violet circle
  matrix.fillCircle(40, 21, 10, matrix.color444(15, 0, 15));
  delay(500);
  
  // fill the screen with 'black'
  matrix.fillScreen(matrix.color444(0, 0, 0));
  
  // draw some text!
  matrix.setTextSize(1);     // size 1 == 8 pixels high
  matrix.setTextWrap(false); // Don't wrap at end of line - will do ourselves

  matrix.setCursor(8, 0);    // start at top left, with 8 pixel of spacing
  uint8_t w = 0;
  char *str = "P3indoorSMDDisplay";
  for (w=0; w<8; w++) {
    matrix.setTextColor(Wheel(w));
    matrix.print(str[w]);
  }
  matrix.setCursor(2, 8);    // next line
  for (w=8; w<18; w++) {
    matrix.setTextColor(Wheel(w));
    matrix.print(str[w]);
  }
  matrix.println();
  //matrix.setTextColor(matrix.Color333(4,4,4));
  //matrix.println("Industries");
  matrix.setTextColor(matrix.color444(15,15,15));
  matrix.println("LED MATRIX!");
  
  // print each letter with a rainbow color
  matrix.setTextColor(matrix.color444(15,0,0));
  matrix.print('3');
  matrix.setTextColor(matrix.color444(15,4,0)); 
  matrix.print('2');
  matrix.setTextColor(matrix.color444(15,15,0));
  matrix.print('x');
  matrix.setTextColor(matrix.color444(8,15,0)); 
  matrix.print('6');
  matrix.setTextColor(matrix.color444(0,15,0));  
  matrix.print('4');
  matrix.setCursor(34, 24);  
  matrix.setTextColor(matrix.color444(0,15,15)); 
  matrix.print("*");
  matrix.setTextColor(matrix.color444(0,8,15)); 
  matrix.print('R');
  matrix.setTextColor(matrix.color444(0,0,15));
  matrix.print('G');
  matrix.setTextColor(matrix.color444(8,0,15)); 
  matrix.print("B");
  matrix.setTextColor(matrix.color444(15,0,8)); 
  matrix.println("*");


  // whew!
}

void loop() {
  // do nothing
}


// Input a value 0 to 24 to get a color value.
// The colours are a transition r - g - b - back to r.
uint16_t Wheel(byte WheelPos) {
  if(WheelPos < 8) {
   return matrix.color444(15 - WheelPos*2, WheelPos*2, 0);
  } else if(WheelPos < 16) {
   WheelPos -= 8;
   return matrix.color444(0, 15-WheelPos*2, WheelPos*2);
  } else {
   WheelPos -= 16;
   return matrix.color444(0, WheelPos*2, 7 - WheelPos*2);
  }
}

댓글