Has anyone succsessfully done this? I hooked up two P10 single colour led panels to a ESP32 Wroom and all worked like a charm. But I'm struggeling to figure out how to dimm the painfully bright p10 displays. The DMD32 library is a conversion for the ESP32 if I'm not mistaken but it doesn't support brightness control (as a function).
On Github I found this in the sample code for the DMD32 Library; #define DMD_BITSPERPIXEL 1 //1 bit per pixel, use more bits to allow for pwm screen brightness control
I assume theres a way to dimm?
Has anyone done this and can share a code snippet or idea how to do this?
I'm not a pro so any help or ideas are appreciated.
Otherwise I consider to change the hardware to a 8266 that supports the DMD2 library.
I have no experience of the library but the header file also contains this line
#define PIN_DMD_nOE 22 // D22 active low Output Enable, setting this low lights all the LEDs in the selected rows. Can pwm it at very high frequency for brightness control.
From that I would conclude that brightness can be controlled by turning the display on and off using a PWM signal on that pin
That sounds like a badly worded comment. You would only need to need to use more than one bit per pixel if you wanted to display some pixels at full brightness and other pixels at reduced brightness for a greyscale image (or probably "redscale"in this case).
Ha, thanks for thinking along! This actually works. Using the standard LED PWM dimming via PIN_DMD_nOE (Pin 22) applies to the whole display! (see all the tutorials out there)
I placed analogWrite(PIN_DMD_nOE, val); in the main loop and it did the trick. As far as I see the val range is from 0 to 255 but I don't see any difference below the value of 100. Now I use 30 and it's bright enough. Maybe this is different for the p10 LED Matrix then a regular single LED. I will test this in realtime with a potentiometer.