I’m experiencing some flickering problems with the Rainbow Cube. When I upload the simple sketch at the bottom of this post,
as an example, the corner leds light up as they should, but there is also some flickering of some of the neighbouring leds.
This seems to happen when RGB components have values somewhere between 0 and 255.
Any idea what is causing this?
Best regards,
Marius
Edit: I downloaded the library again from the wiki pages for Rainbowduino V3 and re-installed it, and the flickering is now almost non-existent (I can still see it on a couple of my sketches, but not as much as before). Maybe there was something wrong with the installed library.
There are two different versions of the library listed in the resources part of the Rainbowduino V3 wiki page.
Which one of these is the best/recommended one to use for the Rainbow Cube with Rainbowduino V3?
Edit 2: A small change to the library seems to have solved the issue. In the “Rainbowduino.cpp” file there is a command for waiting 10 microseconds “delayMicroseconds(10)”. I changed the delay to 15 microseconds, and the flickering is gone. There may be other values that are more optimal as 15 is a rather large increase to the original value (maybe later I will do more research into this to find a more optimal value).
#include <Rainbowduino.h>
const unsigned long FRAME_DELAY_IN_MILLISECONDS = 50L;
void setup()
{
Rb.init();
Rb.blankDisplay();
}
void loop() {
draw();
delay(FRAME_DELAY_IN_MILLISECONDS);
}
void draw() {
Rb.setPixelZXY(0, 0, 0, 50, 50, 50);
Rb.setPixelZXY(0, 0, 3, 50, 50, 50);
Rb.setPixelZXY(0, 3, 0, 50, 50, 50);
Rb.setPixelZXY(3, 0, 0, 50, 50, 50);
Rb.setPixelZXY(3, 3, 0, 50, 50, 50);
Rb.setPixelZXY(0, 3, 3, 50, 50, 50);
Rb.setPixelZXY(3, 0, 3, 50, 50, 50);
Rb.setPixelZXY(3, 3, 3, 50, 50, 50);
}