Ekspander MCP23017
Adresy I2C i logika przekaźników ekspanderów MCP23017, które sterują wyjściami.
Przekaźnikami sterownika boneIO Black sterują układy MCP23017 (ekspandery) na magistrali I2C. Każdy układ ma adres i sterownik musi go znać, inaczej wyjścia na tym układzie nic nie robią. Większość właścicieli nigdy tu nie zagląda: adresy i logika przekaźników wynikają z typu i wersji sterownika ustawionych w sekcji boneIO. Zmieniaj je tylko wtedy, gdy Twój sterownik ma inne adresy, na przykład starszy sterownik po aktualizacji albo po wymianie płytki przekaźnikowej.
Gdzie to jest
Otwórz Ustawienia → Zaawansowane → MCP23017 (Zaawansowane). Pozycja ma znaczek restart.
Zmiana adresów
- Sprawdź, które adresy faktycznie odpowiadają: Diagnostyka → Magistrale → I2C skanuje magistralę. Nic tam nie jest zapisywane.
- Otwórz Ustawienia → Zaawansowane → MCP23017 (Zaawansowane). Jest tam karta mcp_left i karta mcp_right.
- Wybierz Adres I2C każdego ekspandera i w razie potrzeby ustaw Odwrócona logika (active-LOW).
- Kliknij Zapisz. Panel pokaże Wymagany restart aplikacji. Kliknij Restartuj Teraz, inaczej nic się nie zmieni.

| Pole | Co robi |
|---|---|
| Adres I2C | Adres tego ekspandera, od 0x20 do 0x27. mcp_left steruje OUT_01–OUT_16 w 32x10 (OUT_01–OUT_12 w 24x16), mcp_right OUT_17–OUT_32 w 32x10 (OUT_13–OUT_24 w 24x16). |
| Odwrócona logika (active-LOW) | Przekaźniki załączają się sygnałem LOW. Włączona dla sterowników od wersji 1.0, wyłączona dla starszych. Jeśli w ogóle nie jest ustawiona, sterownik wykrywa ją przy starcie i zapamiętuje; karta pokazuje wtedy, co wykrył. Znaczek Active-LOW pojawia się, gdy używana jest odwrócona logika. |
Wartości domyślne, dla porównania: sterowniki od wersji 0.8 używają 0x23 dla mcp_left i 0x24 dla mcp_right (48x4: 0x23, 0x24, 0x25). Starsze sterowniki zwykle mają je odwrotnie, niż można by się spodziewać: 0x21 dla mcp_left i 0x20 dla mcp_right. Wybranie ich w złej kolejności zamienia OUT_01–OUT_16 z OUT_17–OUT_32, więc porównaj ze skanem I2C i przełącz wyjście, żeby zobaczyć, który przekaźnik kliknie.
Zły adres oznacza, że wyjścia na tym ekspanderze przestają działać. Sterownik pokazuje błąd w Ustawienia → Konserwacja → Błędy sprzętowe. Zła Odwrócona logika odwraca przekaźniki: wyłączony wygląda na włączony, a wszystkie przekaźniki mogą się załączyć naraz.
Sterowniki 48x4: nie zapisuj tej sekcji w panelu. Mają trzeci ekspander, mcp_middle, którego formularz nie pokazuje.
Zapis zostawia tylko mcp_left i mcp_right, więc wyjścia na mcp_middle przestają działać. Zmieniaj adresy w Ustawienia → Zaawansowane → Edytor YAML (YAML poniżej).
To samo dotyczy każdego dodatkowego MCP23017, który dopisałeś sam w YAML.
Po zapisie adresy zostają w konfiguracji tak, jak je ustawiłeś: zmiana typu albo wersji sterownika w sekcji boneIO już ich nie zmienia.
Żeby wrócić do wartości domyślnych, usuń całą sekcję mcp23017: w Ustawienia → Zaawansowane → Edytor YAML i zrestartuj aplikację.