Mehrere I2C Bus auf einem Arduino?
Moin moin,
ich habe gerade ein Projekt am laufen, bei dem ich vier acceleration und Gimbal Sensoren im Einsatz habe. Diese sind von der gleichen Firma, haben die selbe I2C Adresse und Sie ist nicht abänderbar.
- Arduino Mega 2560 R3
- 4x MPU6050
Nach reichlichen Recherchen bin ich auf die libarys SoftI2CMaster, SoftWire und Software_I2C gestoßen. Finde jedoch kein Beispiel, bei dem man 4 Seperate I2C Bus gleichzeitig betreibt/definiert. Zwei würden mir jetzt schon reichen, jedoch fand ich hierzu auch nichts. Bin gerade schon echt am verzweifeln, vielen Dank, für eure Antworten😉.
2 Antworten
Hallo,
brauchst du unbedingt den Mega?
ich würde da auf den Teensy 4.0 umsteigen, dieser hat 2x i²C Bus direkt da.
Dieser ist voll mit Arduino IDE kompatibel (mit Teensy-Loader), und lässt sich ebenso gut programmieren.
wen ndu auf den mega nicht verzichten kannst, dann wäre der multiplexer von RareDevil die lösung.
Ob Du neben der Hardware_I2C auch noch parallel eine Software_I2C laufen lassen kannst, weiß ich gerade nicht. Dann hättest Du schon mal zwei... Die Librarys scheinen aber nicht darauf ausgelegt zu sein, mehrere Instanzen zu erstellen... Alternative wäre Multiplexing...
Mit so einem Multiplexingboard kannst Du bis zu 8 Geräte mit der gleichen Adresse nacheinander ansteuern. Musst nur vorher immer auf den nächsten Anschluss springen, was auch per Befehl geht..