Źródłem prawdy dla połączeń jest schemat producenta w
../hardware/adafruit-mcp2221-pcb/
(Adafruit MCP2221.sch, Adafruit MCP2221.brd). Poniższa tabela jest jego
streszczeniem — przy wątpliwościach sprawdzaj schemat.
| Funkcja | Piny / interfejs | Uwagi |
|---|---|---|
| ADC | G1, G2, G3 | 10 bitów; Blinka skaluje odczyt do zakresu 0–65535 |
| GPIO | G0, G1, G2, G3 | wejście/wyjście cyfrowe; brak wewnętrznych pull-up/pull-down |
| DAC | G2 lub G3 | jeden wspólny przetwornik 5-bit; implementacja używa G3 |
| I2C | SCL, SDA | złącze STEMMA QT / Qwiic; rezystory pull-up 5,1 kΩ na płytce |
| UART | TX, RX | osobny interfejs USB CDC/port szeregowy |
| USB | USB-C | HID dla GPIO/ADC/I2C oraz CDC dla UART |
GPIO, ADC i DAC korzystają ze współdzielonych, multipleksowanych pinów. Przed zapisem GPIO lub DAC trzeba upewnić się, że pin nie jest sterowany przez inne źródło i że podłączony układ toleruje wybrane napięcie.
Płytka fabrycznie pracuje z logiką 3,3 V. Adafruit przewiduje sprzętową zmianę na 5 V,
ale wymaga ona modyfikacji zwory zgodnie z instrukcją producenta. Parametr
reference_voltage służy tylko do przeliczenia wyniku na wolty — nie zmienia
napięcia sprzętu.
Przeliczenie stosowane przez sterownik:
raw_10bit = round(raw_16bit × 1023 / 65535)
volts = raw_16bit × reference_voltage / 65536
Wejście analogowe musi pozostać w zakresie od GND do napięcia odniesienia/logiki. MCP2221A nie zapewnia izolacji, ochrony przemysłowej ani bezpośredniej obsługi 4–20 mA.
VID: 0x04d8 (Microchip Technology)
PID: 0x00dd (MCP2221A)
Numer portu /dev/ttyACM* może zmieniać się po restarcie lub ponownym podłączeniu.
Sterownik wykrywa go na podstawie VID/PID; nie należy zapisywać ttyACM0 na stałe.
Reguła udev musi obejmować zarówno SUBSYSTEM=="hidraw", jak i urządzenie
SUBSYSTEM=="usb", ponieważ binarne wydania hidapi mogą korzystać z backendu
hidraw albo libusb.
Według karty produktu Botland płytka ma około 27 × 17,7 × 5 mm i masę 2,2 g.