Toniebox Light – Aufbau Hirnschmalz

Das bereits angesprochene Gehirn, also der verwendete Mikrocontroller, muss sich nun darum kümmern, dass sämtliche verkabelte Komponenten auch richtig miteinander funktionieren.

Hierzu werden in einem 4-Millisekundentakt über die I2C-Schnittstelle die drei Werte für die Achsen des Sensors ausgelesen und es wird vergleichend festgestellt, welcher Wert den größten Anteil der gemessenen Gesamtbeschleunigung aufweist. Auf diese Weise lässt sich erkennen, auf welche Seite der Würfel gerade gekippt wurde. Um Störungen in der Messung zu vermeiden, werden die abgetasteten Werte mittels digitalem Filter geglättet. Dabei wird in der Software festgelegt, in welcher Farbe die Leuchtdioden erstrahlen sollen, wenn eine bestimmte Seite “aktiv” ist.

Die Ansteuerung der LEDs gestaltet sich hierbei am aufwändigsten, da es sich um adressierbare Leuchtdioden handelt. Das heißt, dass über eine Eindrahtleitung ein bestimmtes Protokoll eingehalten werden muss damit man jeder LED gezielt einen Farbwert für den Rot-, Grün und Blauanteil zuordnen kann. Und damit der Controller nicht hauptamtlich mit der Steuerung des Lichts ausgelastet ist und auch für spätere Erweiterungen noch genügend Rechenkapazität zur Verfügung steht, wurde die Ausgabe der Farbwerte mittels SPI via DMA umgesetzt. Das bedeutet, dass die Serielle Schnittstelle derart “missbraucht” wird, dass die Erzeugung einer logischen Eins bzw. einer Null für die LEDs durch die Ausgabe eines bestimmten 8-Bit-Wertes über den MOSI-Pin emuliert wird. durch die Aneinanderreihung von jeweils 3×8 solcher Einsen bzw. Nullen lässt sich somit einer LED ein bestimmter 8-Bit-Wert für Rot, Grün und Blau zuordnen. Kaskadiert man jetzt mehrere solcher Rot-, Grün-, Blauwerte bei der Ausgabe über die SPI entsprechend der Anzahl der anzusteuernden Leuchtdioden, zeigen diese die gewünschte Farbe.

Der Mikrocontroller muss also die auszugebenden Farbwerte im Speicher ablegen und diese je nach Bedarf in Abhängigkeit der aktiven Würfelseite in ein Array für die SPI schreiben. Mit Hilfe eines DMA kann dafür gesorgt werden, dass sämtliche in dem Speicher stehenden Farbwerte in einem Rutsch über die SPI ausgegeben werden können, ohne dass der Controller weiteren Aufwand damit hätte. Da es vier einzelne parallel geschaltete LED-Streifen mit jeweils drei Leuchtdioden gibt, muss die Schreiboperation nur für drei LEDs umgesetzt werden.

Für die Selbsthaltung wird ein Digital-I/O verwendet, dass bei Bedarf die eigene Spannungsversorgung kappt und den Würfel zuverlässig abschaltet.

Navigation<< Toniebox Light – Aufbau InnereienToniebox Light – Und fertig ist sie >>

Das könnte dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert