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.
- Arduino
- MicroPython
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 DeepSleep | Soldered Inputronic GRID |
|---|---|
| Qwiic konektor | Qwiic konektor |
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.
| Kontroler | Soldered Inputronic GRID |
|---|---|
| 3V3 | 3V3 |
| GND | GND |
| SDA | SDA |
| SCL | SCL |
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.
/**
**************************************************
*
* @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:
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.
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.
| NULA DeepSleep | Soldered Inputronic GRID |
|---|---|
| Qwiic konektor | Qwiic konektor |
Kad se modul stvori bez I2C objekta, koristi I2C sabirnicu 0 sa SCL na pinu 22
i SDA na pinu 21, na portovima koje prepoznaje: ESP32, ESP8266 i jedna
Soldered pločica. Na pločici koju ne prepoznaje ili s drugim pinovima upotrijebite zakomentirane retke na vrhu primjera da proslijedite
vlastiti I2C objekt.
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.
| Kontroler | Soldered Inputronic GRID |
|---|---|
| 3V3 | 3V3 |
| GND | GND |
| SDA | SDA |
| SCL | SCL |
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 modul
Instalirajte Soldered Inputronic GRID MicroPython library. Nakon instalacije paketa mpremote instalirajte ga na pločicu naredbom iz README datoteke biblioteke:
mpremote mip install github:SolderedElectronics/Soldered-Inputronic-GRID-MicroPython-Library
Ili, na Windowsima:
python -m mpremote mip install github:SolderedElectronics/Soldered-Inputronic-GRID-MicroPython-Library
🔗MicroPython biblioteka za Soldered Inputronic GRID
Provjeren MicroPython modul na commitu 36d3def
Savjet: preuzimanje s GitHuba. Bez mpremote otvorite .py
datoteku modula na GitHubu i kliknite Download raw file, zatim je otvorite u Thonnyju i odaberite
File → Save as... → MicroPython device da je kopirate na pločicu.
3. Pokrenite prvi primjer
Ovo je Examples/ButtonLEDControl.py, 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. Spremite ga na pločicu i pokrenite.
# FILE: ButtonLEDControl.py
# AUTHOR: Josip Šimun Kuči @ Soldered
# 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 coordinates.
# WORKS WITH: Inputronic GRID: www.soldered.com
# LAST UPDATED: 2026-05-12
from machine import I2C, Pin
from InputronicGrid import InputronicGrid
import time
# If you aren't using the Qwiic connector, manually enter your I2C pins:
# i2c = I2C(0, scl=Pin(22), sda=Pin(21))
# grid = InputronicGrid(i2c=i2c)
grid = InputronicGrid()
grid.clearLEDs()
print("Press any button to toggle its LED.")
# Toggle state per button, indexed by [row][col]
ledOn = [[False] * 4 for _ in range(4)]
# Colors per row (R, G, B)
rowColor = [
(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
prevState = [[False] * 4 for _ in range(4)]
while True:
for row in range(4):
for col in range(4):
pressed = grid.readPad(row, col)
if pressed and not prevState[row][col]:
ledOn[row][col] = not ledOn[row][col]
if ledOn[row][col]:
r, g, b = rowColor[row]
grid.setLED(row, col, r, g, b, 255)
else:
grid.setLED(row, col, 0, 0, 0, 255)
print("Button (row {}, col {}) → LED {}".format(
row, col, "ON" if ledOn[row][col] else "OFF"))
prevState[row][col] = pressed
time.sleep_ms(20)
4. Provjerite rezultat
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 ljuska prikaže:
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, modul izaziva iznimku s porukom
Inputronic GRID not found. Check wiring.
Zasvijetlite površinu kad je pritisnete objašnjava svaku funkciju koju primjer koristi.
5. Ako ne radi
Nastavite s poglavljem Rješavanje problema i nakon svake promjene ponovno pokrenite ovaj najjednostavniji primjer.