Hallo zusammen

Ich arbeite an einem Roboter, welcher im Stande sein soll, eine Zielkoordinaten anfahren zu können und gegeben falls Hindernissen auf der Strecke auszuweichen. Mittlerweile habe ich die Motorsteuerung über ein Controllerboard realisiert, einen SRF05 inkl. Servo in Betrieb genommen und alles lief sauber auf dem Leonardoboard. Nun wollte ich einen LSM303 anschliessen, welcher über I2C angesteuert wird. Bei den Tests abgekoppelt von der restlichen Hardware hat der Sensor super funktioniert. Er gibt mir die Abweichung zu 0° heraus. Auch nachdem ich ihn auf den Roboter montiert habe und ihn eine bestimmte Richtung anfahren lies funktionierte alles super. Doch als ich den SRF05 angeschlossen habe, erhielt ich plötzlich keine Werte mehr vom LSM303.

Bei der Fehlersuche ist mir folgendes aufgefallen. Sobald ich den Ground des SRF05 anschliesse, bleibt das Programm beim Wertauslesen vom LSM303 stehen. Wenn ich den Ground des SRF05 wieder wegnehme und das Programm neustarte, funktioniert der Kompass wieder. Wenn ich nur den Vin vom SRF05 an die 5V hänge, erhalte ich die Werte des Kompass, diese sind aber jeweils 0, egal wie ich den Roboter drehe.

Hatte jemand von Euch auch schon mal so ein Problem? Konnte im Forum nichts dazu finden.

Ich gehe davon aus, dass wenn ich den Ground vom SRF05 anschliesse, jeweils der SCL des I2C gestört wird. Wenn ich den Vin des SRF05 anschliesse offenbar der SDA.

Irgend jemand eine Idee?

Danke schon mal!