Ich habe an einem Arduino-UNO eine Adafruit 16x32 angeschlossen und ein wenig mit den Beispiel-Sketches gespielt. Leider habe ich nicht herausgefunden, wie ich einfachste Objekte auf Knopfdruck ändern kann.
Ich möchte etwas größeres bauen, halte es der einfachheit aber erstmal simpel.
Hier der Sketch:
#include <Adafruit_GFX.h> // Core graphics library
#include <RGBmatrixPanel.h> // Hardware-specific library
// Definition der Eingänge
int But1 = 10; //Nachtlicht
int But2 = 11; //Blinklicht
int But1an;
int But2an;
int Z1; //Z steht für Zahl oder Ziffer
int Z2;
int Gesammt;
#define CLK 8
#define LAT A3
#define OE 9
#define A A0
#define B A1
#define C A2
RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, false);
int muster0[1];
int muster1[1];
int muster2[1];
int muster3[1];
/*
Button1 = 1
Button2 = 2
0 = Schwarz
1 = Roter (draw) Kreis
2 = Blaues (fill) Viereck / gelber Hintergrund
3 = Lila (draw) Viereck / orange Hintergrund
*/
void setup ()
{
pinMode(But1, INPUT);
pinMode(But2, INPUT);
matrix.begin();
muster0[1];
{
matrix.fillScreen(matrix.Color333(0, 0, 0));
}
muster1[1];
{
matrix.fillScreen(matrix.Color333(0, 0, 0));
matrix.drawCircle(14, 7, 7, matrix.Color333(7, 7, 7));
}
muster2[1];
{
matrix.fillScreen(matrix.Color333(7, 7, 0));
matrix.fillRect(4, 4, 12, 12, matrix.Color333(0, 0, 7));
}
muster3[1];
{
matrix.fillScreen(matrix.Color333(4, 1, 0));
matrix.drawRect(3, 3, 30, 14, matrix.Color333(7, 0, 7));
}
}
void loop ()
{
// Eingänge werden gelesen.
But1an = digitalRead(But1);
But2an = digitalRead(But2);
// Gelesene Daten werden umgerechnet.
if (But1an == HIGH){Z1 = 1; }
if (But1an == LOW){Z1 = 0; }
if (But2an == HIGH){Z2 = 2; }
if (But2an == LOW){Z2 = 0; }
Gesammt = (Z1 + Z2);
delay(100);
if (Gesammt == 0)
{
muster0[1];
delay(100);
}
if (Gesammt == 1)
{
muster1[1];
delay(100);
}
if (Gesammt == 2)
{
muster2[1];
delay(100);
}
if (Gesammt == 3)
{
muster3[1];
delay(100);
}
}
Wie im Sketch zu sehen ist die Matrix wie auf der Adafruit-Seite angegeben angeschlossen und zwei Buttons sind auf den Pins 10 und 11.
Wie bringe ich den Uno jetzt dazu, auf Knopfdruck das Bild zu ändern?