2dom / PxMatrix

Adafruit GFX compatible graphics driver for LED matrix panels
BSD 3-Clause "New" or "Revised" License
849 stars 172 forks source link

No black, only blue #321

Closed pcon closed 1 year ago

pcon commented 1 year ago

I'm following this wiring diagram

wiring diagram

And when I run the example code I don't get any blacks. Any pixels set to black come up as blue color.

blue_mario

If I run the simplest code I can get to work I get every LED colored blue and the ones that are red with both blue and red

#include <Ticker.h>
#include <PxMatrix.h>

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

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

uint16_t myRED = display.color565(255, 0, 0);

// ISR for display refresh
void display_updater()
{
  display.display(70);
}

void setup() {
  display.begin(16);
  display.setBrightness(50);
  display.clearDisplay();
  unsigned long start_timer = micros();
  display.drawPixel(1, 1, 0);
  unsigned long delta_timer = micros() - start_timer;
  start_timer = micros();
  display.display(0);
  delta_timer = micros() - start_timer;

  display_ticker.attach(0.002, display_updater);
  yield();
  display.clearDisplay();

  display.setTextColor(myRED);
  display.setCursor(0,0);
  display.print("This is red");
  delay(500);
}

void loop() {
}

red_blue

The only time I can get something even remotely right is if I take the E pin and connect it to ground instead of the GIPO0 pin. But if I do that then blue comes out at all

pcon commented 1 year ago

Turns out I had a bad jumper wire running between the B2 and B1 pins