Zum Hauptinhalt springen

Schnellstart

Verbinden Sie das GRID mit einem Qwiic-Kabel, installieren Sie die Bibliothek und starten Sie das Beispiel für Taster und LEDs. Jeder Druck auf ein Pad schaltet die LED dieses Pads ein oder aus, und der Tastendruck wird ausgegeben. So sehen Sie sofort, dass die Taster, die LEDs und die I2C-Verbindung funktionieren.

Sie programmieren den Controller, der mit diesem Breakout verbunden ist. Das Breakout selbst wird nicht geflasht.

1. Breakout-Board anschließen​

Stecken Sie ein Qwiic-Kabel in einen der vier Qwiic-Connectoren auf der Rückseite des GRID und in den Qwiic-Connector Ihres Controllers. Es ist kein Löten nötig. Das Kabel versorgt das Board außerdem mit 3,3 V, und die anderen drei Connectoren geben den Bus an weitere Qwiic-Boards weiter.

NULA DeepSleepSoldered Inputronic GRID
Qwiic-ConnectorQwiic-Connector
Schaltplan: das NULA DeepSleep, mit einem Qwiic-Kabel an das Soldered Inputronic GRID angeschlossen

Ohne Qwiic: Verdrahtung auf der Steckplatine​

Das GRID lässt sich nicht in eine Steckplatine einstecken. Löten Sie stattdessen vier Drähte an eines der I2C-Lötpad-Sets (JP1 bis JP4) an den Rändern der Rückseite. Jedes Set ist mit 3V3, SCL, SDA und GND beschriftet und führt dieselben Leitungen wie die Qwiic- Connectoren.

ControllerSoldered Inputronic GRID
3V33V3
GNDGND
SDASDA
SCLSCL

Das Board arbeitet ausschließlich mit 3,3 V. Schließen Sie es an eine 3,3-V-Versorgung und 3,3-V-I2C-Leitungen an.

2. Bibliothek installieren​

Installieren Sie Soldered Inputronic GRID, indem Sie die Bibliothek aus ihrem GitHub- Repository herunterladen und die ZIP-Datei in der Arduino IDE hinzufügen (siehe den Tipp unten).

🔗Soldered Inputronic GRID Arduino-Bibliothek

Geprüfte Arduino-Bibliothek bei Commit 399b832

→

Tipp: Download von GitHub. Klicken Sie auf der GitHub-Seite der Bibliothek auf die grüne Schaltfläche Code und wählen Sie Download ZIP. Fügen Sie die Datei dann in der Arduino IDE über Sketch → Bibliothek einbinden → .ZIP-Bibliothek hinzufügen... hinzu.

3. Erstes Beispiel ausführen​

Dies ist ButtonLEDControl.ino, das eigene Beispiel der Bibliothek. Jeder Druck auf ein Pad schaltet dessen LED um: an in der Farbe seiner Reihe (Rot, Grün, Blau und Orange für die Reihen 0 bis 3), beim nächsten Druck aus.

Select Board
ButtonLEDControl.ino
/**
**************************************************
*
* @file ButtonLEDControl.ino
* @brief Example showing button-driven LED toggle on the Inputronic Grid.
*
* Each button toggles its corresponding LED on or off.
* First press turns the LED on in a row-specific color;
* second press turns it off.
*
* Demonstrates reading individual pads by row/col coordinate
* and reacting with per-LED color control using the same
* row/col coordinates.
*
* Hardware wiring:
* - Connect Inputronic Grid to host via Qwiic / I2C
* (SDA, SCL, 3V3, GND).
*
* @authors Josip Šimun Kuči @ soldered.com
***************************************************/

#include <InputronicGrid.h>

InputronicGrid grid;

// Toggle state per button, indexed by [row][col]
bool ledOn[4][4] = {};

// Colors per row (R, G, B)
const uint8_t rowColor[4][3] = {
{255, 0, 0}, // row 0 — red
{ 0, 255, 0}, // row 1 — green
{ 0, 0, 255}, // row 2 — blue
{255, 128, 0}, // row 3 — orange
};

// Previous pad state per [row][col] for edge detection
bool prevState[4][4] = {};

void setup()
{
Serial.begin(115200);

if (!grid.begin())
{
Serial.println("Inputronic GRID not found. Check wiring.");
while (1)
;
}

grid.clearLEDs();
Serial.println("Press any button to toggle its LED.");
}

void loop()
{
for (uint8_t row = 0; row < 4; row++)
{
for (uint8_t col = 0; col < 4; col++)
{
bool pressed = grid.readPad(row, col);

if (pressed && !prevState[row][col])
{
ledOn[row][col] = !ledOn[row][col];

if (ledOn[row][col])
grid.setLED(row, col, rowColor[row][0], rowColor[row][1], rowColor[row][2], 255);
else
grid.setLED(row, col, 0, 0, 0, 255);

Serial.print("Button (row ");
Serial.print(row);
Serial.print(", col ");
Serial.print(col);
Serial.print(") → LED ");
Serial.println(ledOn[row][col] ? "ON" : "OFF");
}

prevState[row][col] = pressed;
}
}

delay(20);
}

4. Ergebnis prüfen​

Öffnen Sie den Seriellen Monitor mit 115200 Baud. Alle LEDs sind zu Beginn aus. Drücken Sie das Pad in Reihe 0, Spalte 0 zweimal: Seine LED leuchtet rot und geht dann aus, und der Serielle Monitor zeigt:

Serial MonitorAutoscrollShow timestampNewline115200 baud
Message (Enter to send message to the board)
Press any button to toggle its LED.
Button (row 0, col 0) → LED ON
Button (row 0, col 0) → LED OFF

Antwortet das Board nicht über I2C, gibt der Sketch Inputronic GRID not found. Check wiring. aus und hält an.

Ein Pad beim Drücken zum Leuchten bringen erklärt jede Funktion, die der Sketch verwendet.

5. Wenn es nicht funktioniert​

Lesen Sie weiter unter Fehlerbehebung und wiederholen Sie dieses einfachste Beispiel nach jeder Änderung.