Mit lediglich einer RGB-Matrix, Arduino und einigen wenigen elektronischen Bauteilen kann man eine interessante
Schaltung zusammenstellen. Eine Schaltung, die Gedanken lesen kann. Das Prinzip ist einfach, das Ergebnis verblüffend.
Es geht so:
Man aktiviert zunächst die Matrix, die aus 64 Leuchtdioden besteht. Jede Leuchtdiode leuchtet mit einer via Zufall
zugeordneten Farbe. Die möglichen Farben sind: Rot, Blau, Gelb, Weiß, Pink und Grün.
Anschließend denke man sich eine zweistellige Zahl, die kleiner als 80 ist. Von der Zahl wird dann die Quersumme, die
durch Addition der beiden Ziffern gebildet wird, abgezogen. Die Ergebniszahl stellt die Nummer der Leuchtdiode auf der Matrix,
derer Farbe durch „Gedanken Lesen“ die Schaltung erraten soll, dar.
Durch Betätigen des Zauberknopfs werden die „magischen“ Vorgänge gestartet und schließlich die gesuchte Farbe auf der
Matrix angezeigt.
Beispiel:
Die gedachte Zahl ist 64.
Die Ergebniszahl beträgt dann: 64 – (6+4) = 64 – 10 = 54.
Der Schalter S1 besteht in dieser Ausführung aus zwei Schließern. Der erste Schließer ist mit dem digitalen Eingang
D12 des Arduino verbunden und wird im Programm für die Umschaltung der Betriebsarten verwendet. Der zweite Schließer mit dem Kondensator C2
und den Widerständen R2 und R3 stellt eine Erweiterung für den Zufallsgenerator dar.
Mit der Funktion „random()“ wird eine Zufallszahl generiert, beim Programmstart jedoch immer die gleiche. Um jeweils
andere Zufallszahlen zu bekommen, benötigt die Funktion „random()“ einen Startwert, der bei jedem Start einen anderen Wert annimmt.
Dazu kann ein analoger Eingang (hier A0) benutzt werden, an dem sich das Potenzial ständig ändert. Bei jeder Betätigung des Tasters
S1 wird der Kondensator ein wenig aufgeladen. Da die Dauer der Betätigung jeweils anders ist, baut sich auf dem Kondensator
jeweils ein anderes Potenzial auf. Der Wert der Spannung wird im Programm ausgelesen und als Startwert für die „random()“-Funktion
verwendet. Die Zuordnung des Startwertes wird mit der Funktion „randomSeed()“ realisiert.
Das Programm (Sketch)
// *****************************************************************************************
// Die magische Matrix mit dem Zauberknopf
// Arduino UNO mit 8x8 RGB-Matrix
// IDE 1.8.16
// *****************************************************************************************
Mit dem Taster S1, den wir als den Zauberknopf definieren, wird ständig zwischen zwei Betriebsarten umgeschaltet:
Aufgabe Stellung und Lösung der Aufgabe. Die aktuelle Betriebsart wird in der Variable "Umschaltung" gespeichert. Während der
Aufgabe Stellung werden nach und nach die Pixel der Matrix eingeschaltet. Jedem Pixel wird per Zufall eine bestimmte Farbe
zugeordnet. Die letzte Farbe bleibt in der Variable „Gesuchte_Farbe“ gespeichert. Diese Farbe ist die Lösung. Bevor die
Start-Sequenz abgeschlossen wird, werden die Pixel mit Nummer 9, 18, 27, 36, 45, 54 und 63 genau mit dieser Farbe belegt. Diese
Pixel-Nummern sind in der Variable „Geheimnis_Zahlen []“ gespeichert. Da die Pixel der Matrix intern mit null beginnend gezählt
werden, sind die hier stehenden Zahlen um 1 kleiner.
Pixelbelegung. Alle gegenzeichneten Pixel haben die gleiche Farbe.
Hinter dieser Vorgehensweise verbirgt sich eine mathematische Regel, die besagt: Das Ergebnis der Subtraktion
einer zweistelligen Zahl und ihrer Quersumme ergibt als Ergebnis eine Zahl, die ein Vielfaches von neun darstellt.