- matrix-relay/relay.py: handle the `i2c` command → Bridge.call("i2c_scan").
- config.template: allow + auto-approve i2c_scan on the default risk profile.
- modulino skill: point "confirm a module is present" at i2c_scan (MCU Qwiic
bus) instead of the Linux i2cdetect.
Completes the container-native path: the three canned prompts (list I2C /
matrix pattern / scroll text) all run through the RouterBridge responder —
no /dev/i2c, no flash — so they work in the App Lab container node.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
39 lines
1.2 KiB
Markdown
39 lines
1.2 KiB
Markdown
---
|
|
name: modulino
|
|
description: Plug-and-play Modulino sensors/actuators for the Arduino Uno Q — Qwiic I²C modules (Buzzer, Distance, Knob, Movement, Pixels, Thermo, Touch) and their I²C addresses. Load this when a project uses a Modulino, the Qwiic connector, or asks about a named sensor module.
|
|
---
|
|
|
|
# Modulino — Qwiic Plug-and-Play I²C
|
|
|
|
Modulinos are Arduino's Qwiic (I²C) plug-and-play modules. Chain them into the
|
|
Uno Q's **Qwiic connector (I2C4)** — no soldering, no pull-ups to add. Use the
|
|
`Modulino` Arduino library on the MCU, or scan the bus with the `i2c_scan` tool.
|
|
|
|
## Default I²C addresses
|
|
|
|
| Modulino | Address |
|
|
|---|---|
|
|
| Buzzer | 0x3C |
|
|
| Distance (ToF) | 0x29 |
|
|
| Knob (rotary) | 0x76 |
|
|
| Movement (IMU) | 0x6A |
|
|
| Pixels (LEDs) | 0x6C |
|
|
| Thermo (temp/humidity) | 0x44 |
|
|
| Touch | 0x5A |
|
|
|
|
## Sketch pattern (MCU)
|
|
|
|
```cpp
|
|
#include <Modulino.h>
|
|
ModulinoKnob knob;
|
|
void setup() { Modulino.begin(); knob.begin(); }
|
|
void loop() { int v = knob.get(); /* ... */ }
|
|
```
|
|
|
|
## Tips
|
|
|
|
- Confirm a module is present with `i2c_scan` (scan the Qwiic/I2C bus on the MCU) — the address
|
|
should match the table above.
|
|
- Qwiic is 3.3 V, like the rest of the Arduino headers.
|
|
- The Movement Modulino (0x6A) is an IMU — handy for the workshop's sense loop.
|