adafruit / RGB-matrix-Panel

Arduino library and example code for the 16x32 RGB matrix panels in the shop
http://www.adafruit.com/products/420
302 stars 145 forks source link

With 32x64 Panel Configuration there is no clock signal #57

Closed rtek1000 closed 4 years ago

rtek1000 commented 4 years ago

Hi,

I found a tutorial (link below) and when I add the number 64 the clock signal stops being done:

Not works: RGBmatrixPanel matrix(A, B, C, D, CLK, LAT, OE, false, 64); // 32x64

Works (with duplicate image): RGBmatrixPanel matrix(A, B, C, D, CLK, LAT, OE, false); // 32x32

Seems like a problem with the library, how can I fix it please?

Thank you.

Source: https://learn.sparkfun.com/tutorials/rgb-panel-hookup-guide

ladyada commented 4 years ago

what hardware are you using

peverett commented 4 years ago

M'Lady,

I have the same issue although it may not be that the clock is 'zero'.

Hardware:

Software:

Using the example sketches supplied with the library, I have observed the following;

Compiling and flashing the testshapes_32x32.ino sketch and executing it on the above configuration is successful. The image is duplicated on both sides of the panel (32x32 + 32x32). The left hand copy has some ghosting.

I have no scope but using a multimeter can read 0.10 V on Pin 8 (measured from the via next to the pin and via for ground). I assume this value may be because the low speed clock signal is similar in effect to PWM.

Compiling and flashing the testshapes_32x64.ino sketch and executing results in no output on the LED panel. There is also a compiler warning:

C:\Users\Simon\Documents\Arduino\libraries\RGB_matrix_Panel\examples\testshapes_32x64\testshapes_32x64.ino: In function 'void setup()':

C:\Users\Simon\Documents\Arduino\libraries\RGB_matrix_Panel\examples\testshapes_32x64\testshapes_32x64.ino:68:15: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   char *str = "AdafruitIndustries";
               ^

Again, reading the voltage at Pin 8 produces a value of 4.19 V, this is as close to 'ON' as most Digital outputs get for Arduino in my limited experience, but this is my first project with the Metro 328.

Kind Regards

Pev

ladyada commented 4 years ago

you cant have 64 pixel wide display on 328p

rtek1000 commented 4 years ago

@ladyada ESP8266 (ESP12)

ladyada commented 4 years ago

this code does not support ESP8266

rtek1000 commented 4 years ago

@ladyada

Sorry, for this code the errors happened with Atmega328,

I am using ESP32 and ESP8266 to test the panel

But I see "you cant have 64 pixel wide display on 328p"

Thank you.

marcmerlin commented 4 years ago

@rtek1000 for ESP32, see http://marc.merlins.org/perso/arduino/post_2019-04-01_SmartMatrix_-SmartMatrix-Shield-v4-for-Teensy_-ESP32-shield-with-level-shifter_-and-SmartMatrix_GFX.html#ESP32 it'll give you SmartMatrix plus my Adafruit::GFX layer on top, allowing you to run up to 64x128 on an ESP32. Please note the wiring order here: https://github.com/pixelmatix/SmartMatrix/blob/teensylc/src/MatrixHardware_ESP32_V0.h#L62 If you want up to 128x128 with ABCDE panels, you need to switch to teensy 4.0 As for ESP8266, there is a cool library that uses bit shifting through all 6 color components with a single wire. It's a very nice hack, but it's also 6 times slower. I would not use it unless you really don't care about refresh rate.