Last Updated on 4. Oktober 2026 by sfambachLink-Status: OK
Der I2c, oder auch 2 Wire Bus genannt, arbeitet mit zwei Kabeln und theoretisch mit einer Geschwindigkeit von bis zu 5 Mbit/s. Für den Hobbybedarf mit Freiluftverkabelung sind es wahrscheinlich eher weniger.
Der Uno hat den Wire-Anschluss am analogen Ausgang 4 und 5. Zum Testen habe ich ein GY-68 Barometer angeschlossen, welches auf Port 0x77 des I2C Busses arbeitet.
Zweck
- Herausfinden der Adresse eines Modules
- Als erster Kommunikationstest
Schaltung

Bibliotheken
Ich verwende die Wire Bibliothek, diese ist im Standard enthalten und muss nur per Include eingebunden werden.
Programm
Das folgende Testprogramm habe ich mir aus einigen Beispielen zusammen „gesucht“. Es dient dazu, einfach mal zu schauen, ob die aufgebaute Schaltung auch richtig verdrahtet ist.
Das Programm geht alle Adressen des I2C Busses durch und klopft mal beim Empfänger an. Antwortet dieser, wird der Port und am Schluss die Anzahl der gefundenen Teilnehmer angezeigt.
Quellcode
Ausgabe

Probleme
Das Wire Modul antwortet nicht
Einfach mal SDA und SDC vertauschen.
Sollte das Problem immer noch bestehen, mal versuchen, Pullup Widerstände in die Schaltung einzubauen. Der Uno hat allerdings schon Pullups, sollte also eigentlich nicht nötig sein.
Fazit
Wenn man mal nicht weiß, ob ein Modul funktioniert oder welche Adresse es hat, ist der Scanner sehr hilfreich.
Quellen
https://de.wikipedia.org/wiki/I%C2%B2CLink-Status: OK
https://www.mikrocontroller.net/topic/88806Link-Status: OK
https://playground.arduino.cc/Main/I2cScannerLink-Status: OK
https://gist.github.com/tfeldmann/5411375Link-Status: OK
| Datum | Änderung | Autor |
|---|---|---|
| 04.10.2026 | Rechtschreibung korrigiert: Tippfehler, Kommas | sfambach |
| 03.10.2026 | Log-Liste eingefügt | sfambach |
| 31.03.2018 | Beitrag erstellt | sfambach |