MicroPython-Bibliothek
Das Modul InputronicGrid kommuniziert über I2C mit dem ATtiny404 auf dem Board. Importieren
Sie die Klasse InputronicGrid, erstellen Sie ein Objekt und lesen Sie mit dessen Methoden die Pads aus und setzen Sie die
LEDs.
Noch nicht installiert? Folgen Sie vor den Funktionsseiten der Kurzanleitung.
Den I2C-Bus wählen
InputronicGrid() ohne Argumente erstellt I2C(0, scl=Pin(22), sda=Pin(21))
selbst, und zwar auf den Ports, die das Modul erkennt: ESP32, ESP8266 und ein Soldered-
Board. Auf einem Port, den es nicht erkennt, löst es eine Ausnahme mit der Meldung Board not recognized, pass an initialized I2C object aus.
Dort oder bei anderen Pins erstellen Sie den Bus selbst und übergeben ihn mit
InputronicGrid(i2c=i2c). Die Beispiele zeigen dies in zwei auskommentierten Zeilen
am Anfang; entfernen Sie die Kommentarzeichen, passen Sie die Pin-Nummern an Ihr Board an und kommentieren Sie
die einfache Zeile grid = InputronicGrid() aus.
Wie Pads und LEDs nummeriert sind
- Nach Zeile und Spalte.
readPad(row, col)undsetLED(row, col, ...)erwarten eine Zeile von 0 bis 3 (von oben nach unten) und eine Spalte von 0 bis 3 (von links nach rechts). Beide verweisen auf dasselbe Pad. - Nach Index.
readButton(index)zählt die Tasten zeilenweise:index = row * 4 + col.setLEDByIndex(index, ...)zählt die LEDs in der Reihenfolge, in der sie an der Datenleitung liegen; diese verläuft in geraden Zeilen von links nach rechts und in ungeraden Zeilen von rechts nach links, sodass die beiden Indexnummern in den Zeilen 1 und 3 auf unterschiedliche Pads verweisen. - Als 16-Bit-Maske.
readAllPads()liefert Bitifür Tastei, zeilenweise gezählt.setLEDMask(mask, r, g, b)schaltet für Bitidie LEDiin Datenleitungsreihenfolge ein, dieselbe Nummerierung wie beisetLEDByIndex(), und schaltet alle anderen LEDs aus. In den Zeilen 1 und 3 verweisen ein Bit in der Maske vonreadAllPads()und dasselbe Bit in der Maske vonsetLEDMask()auf unterschiedliche Pads.
readButton(), readAllPads(), setLEDByIndex() und setLEDMask() sind in diesem Commit im
Modul enthalten, aber noch kein Beispiel verwendet sie.
Funktionen
Jede Seite beginnt mit einem geprüften Modulbeispiel und erklärt jede Funktion, die das Beispiel für dieses Ergebnis verwendet.