Das Panel hat eine obere und eine untere Hälfte, beide Hälften sind noch in 2 Spalten aufgeteilt, wenn ich jetzt was in der oberen Hälfte in der ersten Spalte schreibe wird das geschriebene auch auf der zweiten Spalte angezeigt. Bei Verwendung von beiden Spalten in verschiedenen Farben ergibt sich nicht nur ein Mischmasch aus beiden Wörtern in beiden Zeilen sondern auch eine Vermischung der Farben.
Ein Beispiel zu der Misere ist im Anhang, in dem Beispiel habe ich je in der oberen Spalte beider Hälften was geschrieben.
Das Tutorial habe ich auf mehreren Arten aufgebaut, ob mit Shield oder auf dem Steckbrett, am Ende kam immer der selbe Fehler raus, verwendet habe ich 2 verschiedene Arduino Mega und einen Arduino Uno (um zu überprüfen ob es am Arduino liegt), da ich ein etwas größeres Projekt vor hatte habe ich auch auf verschiedenen Panels die Testprogramme im Tutorial ausprobiert, bisher waren auf allen Panels der Fehler vorhanden.
Ich verwende Arduino 1.8.4 habe aber auch schon die Vorgänger Versionen bis 1.8.2 ausprobiert.
Ich bin für jeden Vorschlag offen und dankbar für jedwede Hilfe!
Leider nicht, verwende zum Testen meistens den 32x32 Colorwheel, habe aber schon Testhalber alle Programme durchprobiert, darunter auch die 32x16 (aus Verzweiflung und der Hoffnung das sich was ins Positive ändern könnte). Insgesamt gibt es in der Bibliothek 10 Beispielsketches, 4 für 32x32, 1 für 64x32 und 4 für 32x16.
Den CLK Pin habe ich auch immer je nach verwendeten Arduino angepasst, so das für Mega Pin 11 und für Uno Pin 8 verwendet wird (Wie im Programm beschrieben). Das wäre der Colorwheel Code.
// colorwheel demo for Adafruit RGBmatrixPanel library.
// Renders a nice circle of hues on our 32x32 RGB LED matrix:
// http://www.adafruit.com/products/607
// Written by Limor Fried/Ladyada & Phil Burgess/PaintYourDragon
// for Adafruit Industries.
// BSD license, all text above must be included in any redistribution.
#include <Adafruit_GFX.h> // Core graphics library
#include <RGBmatrixPanel.h> // Hardware-specific library
// If your 32x32 matrix has the SINGLE HEADER input,
// use this pinout:
#define CLK 8 // MUST be on PORTB! (Use pin 11 on Mega)
#define OE 9
#define LAT 10
#define A A0
#define B A1
#define C A2
#define D A3
// If your matrix has the DOUBLE HEADER input, use:
//#define CLK 8 // MUST be on PORTB! (Use pin 11 on Mega)
//#define LAT 9
//#define OE 10
//#define A A3
//#define B A2
//#define C A1
//#define D A0
RGBmatrixPanel matrix(A, B, C, D, CLK, LAT, OE, false);
void setup() {
int x, y, hue;
float dx, dy, d;
uint8_t sat, val;
uint16_t c;
matrix.begin();
for(y=0; y < matrix.width(); y++) {
dy = 15.5 - (float)y;
for(x=0; x < matrix.height(); x++) {
dx = 15.5 - (float)x;
d = dx * dx + dy * dy;
if(d <= (16.5 * 16.5)) { // Inside the circle(ish)?
hue = (int)((atan2(-dy, dx) + PI) * 1536.0 / (PI * 2.0));
d = sqrt(d);
if(d > 15.5) {
// Do a little pseudo anti-aliasing along perimeter
sat = 255;
val = (int)((1.0 - (d - 15.5)) * 255.0 + 0.5);
} else
{
// White at center
sat = (int)(d / 15.5 * 255.0 + 0.5);
val = 255;
}
c = matrix.ColorHSV(hue, sat, val, true);
} else {
c = 0;
}
matrix.drawPixel(x, y, c);
}
}
}
void loop() {
// do nothing
}