ESP8266 with PxMatrix for P6 RGB 32x32 Matrix

Hi All,

I went through the official GIT page for PXMatrix library https://github.com/2dom/PxMatrix and it claims to have support for 32x32 matrix. But I'm unable to make it working. Any help would be appreciated.

So far I'm using as below -

#define P_LAT 16
#define P_A 5
#define P_B 4
#define P_C 15
#define P_D 12
#define P_OE 2
PxMATRIX display(32, 32, P_LAT, P_OE, P_A, P_B, P_C, P_D);

And the rest of the sketch is what ?

Please post a full sketch following the advice concerning the use of code tags in How to get the best out of this forum

Thank you for your quick attention. So this is a sample code I had been trying for long...

#include <PxMatrix.h>

#ifdef ESP8266
#include <Ticker.h>
Ticker display_ticker;

#define P_LAT 16
#define P_A 5
#define P_B 4
#define P_C 15
#define P_D 12
#define P_E 0
#define P_OE 2

#endif

uint8_t display_draw_time=30;

PxMATRIX display(32,32,P_LAT, P_OE,P_A,P_B,P_C,P_D);
//PxMATRIX display(64,32,P_LAT, P_OE,P_A,P_B,P_C,P_D);
//PxMATRIX display(64,64,P_LAT, P_OE,P_A,P_B,P_C,P_D,P_E);

// Some standard colors
uint16_t myRED = display.color565(255, 0, 0);
uint16_t myGREEN = display.color565(0, 255, 0);
uint16_t myBLUE = display.color565(0, 0, 255);
uint16_t myWHITE = display.color565(255, 255, 255);
uint16_t myYELLOW = display.color565(255, 255, 0);
uint16_t myCYAN = display.color565(0, 255, 255);
uint16_t myMAGENTA = display.color565(255, 0, 255);
uint16_t myBLACK = display.color565(0, 0, 0);

#ifdef ESP8266
void display_updater()
{
  display.display(display_draw_time);
}
#endif

void display_update_enable(bool is_enable)
{
#ifdef ESP8266
  if (is_enable)
    display_ticker.attach(0.004, display_updater);
  else
    display_ticker.detach();
#endif
}

void blinkTest(){
  display.drawPixelRGB888(0,0,255,255,255);
  delay(1000);
  display.drawPixelRGB888(0,0,0,0,0);
  delay(1000);
}

void setup() {

  display.begin(8);

  display.clearDisplay();
  display_update_enable(true);
  
  display.clearDisplay();
  display.setTextColor(myCYAN);
  display.setCursor(0,0);
  display.print("Hello");
  display.setTextColor(myMAGENTA);
  display.setCursor(0,8);
  display.print("World!");
  display_update_enable(true);

  delay(3000);
}

void loop() {
  blinkTest();
}

Also a little help on the circuit would be really helpful. I'm in doubt whether I connected the display correctly or not. I can see texts only on the upper half, only in blue and in broken lines.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.