Skip to main content

Brzi početak

Povežite GRID Qwiic kabelom, instalirajte biblioteku i pokrenite njezin primjer s tipkama i LED diodama. Svako pritiskanje površine uključuje ili isključuje LED diodu te površine, a pritisak se ispisuje, pa odmah vidite da tipke, LED diode i I2C veza rade.

Programirate kontroler spojen na ovu pločicu. Sama pločica se ne flashira.

1. Povežite pločicu​

Spojite Qwiic kabel na bilo koji od četiri Qwiic konektora na poleđini GRID-a i na Qwiic konektor na vašem kontroleru. Lemljenje nije potrebno. Kabel pločici dovodi i napajanje od 3,3 V, a ostala tri konektora prosljeđuju sabirnicu dalje na druge Qwiic pločice.

NULA DeepSleepSoldered Inputronic GRID
Qwiic konektorQwiic konektor
Shema spajanja: NULA DeepSleep povezan sa Soldered Inputronic GRID Qwiic kabelom

Bez Qwiic-a: spajanje na eksperimentalnoj pločici​

GRID se ne može utaknuti u eksperimentalnu pločicu. Umjesto toga zalemite četiri žice na jedan od skupova I2C lemnih površina (JP1 do JP4) na rubovima poleđine. Svaki skup označen je s 3V3, SCL, SDA i GND te vodi iste linije kao Qwiic konektori.

KontrolerSoldered Inputronic GRID
3V33V3
GNDGND
SDASDA
SCLSCL

Pločica radi isključivo na 3,3 V. Spojite je na napajanje od 3,3 V i I2C linije od 3,3 V.

2. Instalirajte biblioteku​

Instalirajte Soldered Inputronic GRID tako da je preuzmete s njezina GitHub repozitorija i dodate ZIP u Arduino IDE (pogledajte savjet ispod).

🔗Arduino biblioteka za Soldered Inputronic GRID

Provjerena Arduino biblioteka na commitu 399b832

→

Savjet: preuzimanje s GitHuba. Na GitHub stranici biblioteke kliknite zeleni gumb Code i odaberite Download ZIP, a zatim ga dodajte u Arduino IDE preko Sketch → Include Library → Add .ZIP Library....

3. Pokrenite prvi primjer​

Ovo je ButtonLEDControl.ino, primjer iz same biblioteke. Svaki pritisak na površinu mijenja stanje njezine LED diode: uključuje je u boji njezina reda (crvena, zelena, plava i narančasta za redove 0 do 3), a sljedeći pritisak je isključuje.

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. Provjerite rezultat​

Otvorite serijski monitor na 115200 baud. Sve LED diode isprva su isključene. Dvaput pritisnite površinu u retku 0, stupcu 0: njezina LED dioda zasvijetli crveno, zatim se ugasi, a serijski monitor prikaže:

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

Ako pločica ne odgovara na I2C, skica ispisuje Inputronic GRID not found. Check wiring. i zaustavlja se.

Zasvijetlite površinu kad je pritisnete objašnjava svaku funkciju koju skica koristi.

5. Ako ne radi​

Nastavite s poglavljem Rješavanje problema i nakon svake promjene ponovno pokrenite ovaj najjednostavniji primjer.