Mehrere Sensoren an einem Arduino UNO?

Hallo und guten Abend,
ich weiß, dass dieses Thema sicher schon ziemlich oft durchgekaut wurde, aber ich habe jetzt einige Zeit gesucht und nicht wirklich das gefunden, was ich benötige.

Also ich möchte mit hilfe eines Arduino Uno und einigen 6 Achsen Sensoren einen art VR Anzug machen, der zumindest für s erste die Bewegung vom Oberkörper aufnimmt. Das ganze sollte dann über Bluetooth aufs Handy gelangen und dann mit einer VR App die ich in Unity erstelle ein VR Spiel werden.
So weit der Plan.

Habe jetzt einen Sensor angehängt und das funktioniert ganz gut, aber ich bräuchte in etwa 7 Sensoren für den Oberkörper.
Ich könnte einen I2C Multiplexter verwenden, aber ich möchte vorerst, solange ich nicht weiß wie gut das ganze dann wirklich funktioniert keine weiteren Sachen bestellen.

Also ist es iergentwie möglich mehrere Sensoren (möglichst gleichzeitig) am Arduino auszulesen.
Zumindest einmal 2 oder 3 damit man schon mal einen Testlauf durchführen kann.

Hoffe es kann mir jemand weiterhelfen.

ich denke, der Uno hat dazu zuwenig ram

Also meinst du allgemein dann für 7 Sensoren?
Wenn ich einmal davon ausgehen kann dass die Sensoren und alles in allem so genau funktioniert dass Bodytracking einen Sinn macht kann man ja einen anderen Microkontroller besorgen.

Zum Austesten kannst Du durchaus einen UNO nehmen, um erst mal ein Gefühl für die Sensoren zu bekommen.
Du willst die Sensoren ja nicht nur einlesen, sondern auch irgendetwas Geheimes mit den Werten anstellen.

Gruß Tommy

Ja ich gebe die Daten als die rotation um die drei Achsen einfach als Quaternion über die Serielle Kommunikation aus.
Habe da jetzt mal eine belibige Library verwendet.
(i2cdevlib/Arduino/MPU6050 at master · jrowberg/i2cdevlib · GitHub)

Ich hätte da einfach einen langen String erstellt, wo die einzelnen Werte immer mit einem '/' getrennt sind.
Dann kann ich den String in Unity einfach einlesen, bei den Schrägstrichen trennen und ganz normal als rotation des jeweiligen Knochens angeben.

Aber ich dachte das ist für die ursprüngliche Frage nicht wirklich relevant.

Arduino_Junky:
ich weiß, dass dieses Thema sicher schon ziemlich oft durchgekaut wurde, aber ich habe jetzt einige Zeit gesucht und nicht wirklich das gefunden

Du siehst den Widerspruch :wink:

Ja, ich denke zu erkennen was Du meinst

Also ich möchte mit hilfe eines Arduino Uno und einigen 6 Achsen Sensoren

Hoffe es kann mir jemand weiterhelfen.

Dann wäre es wenigstens hilfreich die Sensoren zu benennen.
Warum I2C Multiplexer würde sich dann ggfls. auch erschliessen.
Die Frage des RAM ist beim UNO ggfls. die Frage, aber notfalls könnte auch ein MEGA / Clone hinhalten.

Stimmt den Namen der Sensoren wäre nicht schlecht. :roll_eyes:

Es sind GY-521 MPU-6050 Sensoren also 3 Achsen Gyroskop und Beschleunigungssensor.
(https://www.amazon.de/gp/product/B07NP2WF7J/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1)

Das ganze habe ich jetzt am Pin A4 und A5 + den Interupt Pin an einem digitalen Pin angehängt.

[pre]​
[pre]​
[pre]​

[/pre][/pre][/pre]

Arduino_Junky:
Es sind GY-521 MPU-6050 Sensoren also 3 Achsen Gyroskop und Beschleunigungssensor.
(https://www.amazon.de/gp/product/B07NP2WF7J)

Vorsicht!
AZ hat in seiner Beschreibung den UNO mit 3,3V am VCC 5V angepappt
Stand heute:
Datenblatt - https://cdn.shopify.com/s/files/1/1509/1638/files/GY-521_6-Achsen_Gyroskop_und_Beschleunigungssensor_Datenblatt_AZ-Delivery_Vertriebs_GmbH.pdf?11553127782924451166
Seite 7: 5- Pin Assignment ist falsch 6 - Schematic zeigt das richtige Schema

Noch mehr Vorsicht:
"[Not recommended for new designs]"
https://invensense.tdk.com/products/motion-tracking/6-axis/mpu-6050/

Du kannst mit ADO die I2C Adresse ändern, was schliesslich 2 Sensoren an einem i2c Zweig möglich macht.

Du wirst ggfls. mehr INT brauchen.
Schau Dir PCINT an und wie es funktioniert.
Vielleicht dazu als Anregung: Pin Change Interrupt :: Meine Arduino-Projekte