sglabs_tech

4 typische Fehler beim I2C-Bus vermeiden

4 typische Fehler beim I2C-Bus vermeiden

Titelbild: KI-generiert

Keine Verbindung zum I2C-Sensor? Mit diesen vier Schritten findest du den Fehler schnell. Welcher I2C-Sensor macht dir oft Probleme?

Schritt 1

Sensor wird nicht erkannt

Der I2C-Scanner findet keine Adresse oder der Bus blockiert. Beginne die Fehlersuche systematisch an den Leitungen.

Wire.begin()

Stand: ESP32, Arduino Uno, Wire Library

Schritt 2

Pull-Up-Widerstände fehlen

I2C braucht Pull-Ups an SDA und SCL gegen VCC. Interne Pull-Ups genügen selten. Schalte je 4,7 kΩ nach VCC.

4.7 kΩ von SDA/SCL nach VCC

Stand: ESP32, Arduino Uno, Wire Library

Schritt 3

Logikpegel nicht mischen

Ein 5V-Arduino beschädigt 3,3V-Sensoren ohne Schutz. Nutze zwischen beiden Teilen einen bidirektionalen Level-Shifter.

Stand: ESP32, Arduino Uno, Wire Library

Schritt 4

7-Bit versus 8-Bit Adresse

Datenblätter nennen oft 8-Bit-Werte inklusive Lese-Bit. Die Arduino Wire Library benötigt die reine 7-Bit-Adresse.

Wire.beginTransmission(adresse)

Stand: ESP32, Arduino Uno, Wire Library

Schritt 5

endTransmission auswerten

Erst Wire.endTransmission sendet die Pufferdaten. Der Rückgabewert 0 zeigt an, dass der Sensor geantwortet hat.

byte err = Wire.endTransmission()

Stand: ESP32, Arduino Uno, Wire Library

Tipp

Checkliste zur Fehlersuche

Widerstände prüfen, Spannungspegel nachmessen und einen I2C-Scanner laufen lassen, um Adressen zu bestätigen.

Stand: ESP32, Arduino Uno, Wire Library · jeder Schritt selbst am Gerät nachvollzogen

Quellen

Weitere Tipps