I’m looking for the best way to detect the change of orientation of a device I’m working on (i.e. rotation on any of the XYZ-axes). It is absolutely critical that it is a low-power method (< 100uA) as I’m planning on powering this device with a single D cell and achieve a lifespan of 2+ years.
So far, I’ve been using an ADXL-362 hooked up to a Particle Electron (in Deep Sleep) and send an interrupt signal whenever sufficient movement/vibration is detected (after which code runs to monitor the orientation) The issue however with this is twofold:
(1) Often, the device picks up on some minor vibrations, runs through its code only to realize it was a false positive
(2) When the device is in fact rotated along one of its axes, if not sufficient vibration is produced it doesn’t wake up and run its code
As far as I know, when the MCU is in Deep Sleep the ADXL-362 can only be configured to send the INT signal once an acceleration threshold is exceeded; it can’t continuously measure XYZ-values (please correct me if I’m wrong)
So, I’m looking for another type of sensor that I could use alongside the ADXL to improve the performance of my device. I’ve been considering a tilt sensor, but the issue is that I don’t know exactly in advance what orientation my devices will be in (I’m planning to get a few 100 of them made). So I want to be able to have devices, let’s say, upside-down, upside-up or any other orientation and not have it impact its ability to detect on orientation change.