Adresy modułów I2C

Magistrala I2C daje możliwość podpięcia i komunikowania się z wieloma różnymi modułami za pomocą tylko dwóch pinów. Jednak żeby komunikacja przebiegała prawidłowo musimy znać adresy poszczególnych modułów. Jeśli posiadamy kartę katalogową danego modułu na pewno taki adres znajdziemy w dokumentacji ale jeśli nie posiadamy żadnej dokumentacji pojawia się problem skąd wziąć adres takiego modułu na magistrali I2C? Rozwiązaniem tego problemu jest poniższy program, który wystarczy przekopiować do Arduino IDE, skompilować i wgrać do Arduino.

Uruchamiając Arduino z wgranym programem i podłączonym modułem lub modułami na magistrali I2C musimy włączyć okno "Monitora portu szeregowego". W oknie tym co 5 sekund będą wyświetlane komunikaty z listą znalezionych adresów modułów. Adresy te następnie możemy zapisać i użyć we właściwym programie do obsługi tych modułów.

Czasami zdarza się, że dwa moduły mają te same adresy na magistrali I2C wtedy ich adresy odczytamy podpinając je pojedynczo. Adresy modułów są sprzętowe i jeśli dany moduł to umożliwia możemy je zmienić zazwyczaj poprzez zwarcie lub rozwarcie odpowiednich pinów na module. W ten sposób zmieniając sprzętowy adres na magistrali I2C możemy podłączyć do Arduino np. kilka wyświetlaczy LCD z konwerterem I2C, który umożliwia taką zmianę.