Hallo Forum, ich habe hier einen Sensor von Bosch, den BNO055. Ich habe das Problem, dass ich keinen Motion-Interrupt bekomme. Der Anwendungsfall ist, den µC per Interrupt aufzuwecken, wenn eine Bewegung erkannt wird. Danach sollen die Sensordaten aufgenommen werden. Letzteres funktioniert auch schon, Beschleunigungswerte, Gyro- und Magnetfelddaten werden ausgelesen. Jedoch das Aufwecken funktioniert nicht. Genauer gesagt wird kein Interrupt im BNO055 generiert. Ich konnte nichts messen und auch durch pollen des Flag-Registers kam kein Interrupt. Ich hab das ganze im Op-Mode ACC-Only, und AMG probiert, sowie in Power-Mode Normal und Low-Power. Ich such nach einem Beispiel oder pseudo-Code, was ich in welche Register schreiben muss, um einfach nur einen Interrupt bei Bewegung zu bekommen. Danke
Hallo Rangi, Was für ein microcontroller Board verwendest Du? Ich nutze Adafruit Feather M0 mit Adafruit BNO055 und es funktioniert, allerdings hatte ich 2 große Probleme: 1. Adafruit_BNO055 bietet keine APIs für Interrupt handling. Musst Du also selbst programieren 2. Die Doku vom Sensor war falsch, i.e. das SMNM bit (bit 0) in dem ACC_NM_SET (0x0B) muss auf 1 für No Motion gesetzt werden (und nicht auf 0, wie es beschrieben war). Ich bekomme jetzt INT signale für "No Motion" nach 5 Sek (kann ich einstellen) und "Any motion" sobald ich auf dem Tisck klopfe ;) Viel Erforlg, Sergiu
Etwas doch vergessen. Doku findest Du hier : https://www.bosch-sensortec.com/bst/products/all_products/bno055 Siehe das Datasheet, Seite 38, *3.8 Interrupts*
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.