I2C trochę inaczej
W Arduino IDE dostępna jest biblioteka Wire, obsługująca protokół I2C (można o jej użyciu poczytać na stronach Arduino, w niezastąpionym dziale Playground).

Todd Kurt na swoim blogu poinformował, że w ramach różnych projektów związanych z BlinkM udostępnił kod nowej biblioteki do I2C – SoftI2CMaster.
Czym się ona różni od Wire?
Po pierwsze – jest to implementacja programowa, nie korzysta z wbudowanego modułu I2C. Jako rezultat – działa tylko w trybie Master (może tylko nadawać), ale nie jest przywiązana do pinów A4 i A5 jak jest to z wbudowanym modułem. Może wykorzystywać dowolne wejścia/wyjścia cyfrowe. Ponadto biblioteka jest napisana tak, aby radzić sobie lepiej z zakłóceniami i szumem na linii. Dzięki temu może pracować na większe dystanse.
Na pewno znajdzie się dla niej dobre zastosowanie w Waszych projektach :)