Is anyone using a sensor with three-axis values in an RM5 automation?
I am stuck in an attempt to understand what these acceleration values mean, the conversion of the raw data to something useful - as an example to determine whether a door is open or closed... ?
https://wiki.dfrobot.com/How_to_Use_a_Three-Axis_Accelerometer_for_Tilt_Sensing
I am trying to use the acceleration sensor data coming from TR sensor now ..
These are the debug logs as a result of multiple rotations +/- 90 degrees of the TR sensor placed on a table :
dev:51322024-05-17 00:33:10.619infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 83.6°, Phi = 4.1°, Theta = -4.9° Raw accelerometer XYZ axis values = 1078, 78, -93
dev:51322024-05-17 00:33:09.617infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 86.6°, Phi = 3.1°, Theta = -1.5° Raw accelerometer XYZ axis values = 1156, 62, -31
dev:51322024-05-17 00:33:08.612infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 64.2°, Phi = -17.4°, Theta = 18.4° Raw accelerometer XYZ axis values = 937, -312, 328
dev:51322024-05-17 00:33:07.460infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 77.7°, Phi = 5.7°, Theta = -10.9° Raw accelerometer XYZ axis values = 1375, 140, -265
dev:51322024-05-17 00:33:06.453infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 82.6°, Phi = 3.3°, Theta = 6.6° Raw accelerometer XYZ axis values = 1078, 62, 125
dev:51322024-05-17 00:33:05.145infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 87.5°, Phi = 0.8°, Theta = -2.4° Raw accelerometer XYZ axis values = 1093, 15, -46
dev:51322024-05-17 00:33:04.143infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 74.9°, Phi = 4.0°, Theta = -14.6° Raw accelerometer XYZ axis values = 1078, 78, -281
dev:51322024-05-17 00:33:03.142infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 87.1°, Phi = 1.6°, Theta = -2.4° Raw accelerometer XYZ axis values = 1109, 31, -46
dev:51322024-05-17 00:33:02.140infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 57.0°, Phi = 30.5°, Theta = -11.4° Raw accelerometer XYZ axis values = 593, 359, -140
dev:51322024-05-17 00:33:01.138infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 78.8°, Phi = -5.7°, Theta = 9.6° Raw accelerometer XYZ axis values = 921, -93, 156
dev:51322024-05-17 00:32:59.102infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 88.6°, Phi = 0.0°, Theta = -1.4° Raw accelerometer XYZ axis values = 1250, 0, -31
dev:51322024-05-17 00:32:58.097infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 86.4°, Phi = 3.6°, Theta = 0.0° Raw accelerometer XYZ axis values = 984, 62, 0
dev:51322024-05-17 00:32:56.424infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 56.6°, Phi = 20.7°, Theta = -24.9° Raw accelerometer XYZ axis values = 1515, 640, -765
dev:51322024-05-17 00:32:55.420infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 51.6°, Phi = -3.7°, Theta = -38.1° Raw accelerometer XYZ axis values = 953, -78, -750
dev:51322024-05-17 00:32:54.031infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 73.8°, Phi = -10.8°, Theta = -11.8° Raw accelerometer XYZ axis values = 875, -171, -187
dev:51322024-05-17 00:32:53.028infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 42.9°, Phi = 24.9°, Theta = -36.9° Raw accelerometer XYZ axis values = 531, 328, -468
dev:51322024-05-17 00:32:52.025infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 77.9°, Phi = 8.9°, Theta = -8.1° Raw accelerometer XYZ axis values = 1078, 171, -156
dev:51322024-05-17 00:32:51.023infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 76.8°, Phi = 4.4°, Theta = -12.5° Raw accelerometer XYZ axis values = 984, 78, -218
dev:51322024-05-17 00:32:50.030infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 81.6°, Phi = 5.9°, Theta = 5.9° Raw accelerometer XYZ axis values = 1500, 156, 156
dev:51322024-05-17 00:32:48.706infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 84.0°, Phi = -1.6°, Theta = -5.8° Raw accelerometer XYZ axis values = 1078, -31, -109
dev:51322024-05-17 00:32:47.704infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 68.3°, Phi = 19.5°, Theta = -9.1° Raw accelerometer XYZ axis values = 1562, 562, -265
dev:51322024-05-17 00:32:46.704infoThirdReality Vibration Sensor 3RVS01031Z: Calculated angles are Psi = 86.5°, Phi = 3.4°, Theta = -0.8° Raw accelerometer XYZ axis values = 1046, 62, -15
And these are the formulas used for converting the raw x,y,x data :
BigDecimal psi = new BigDecimal(Math.atan(x.div(Math.sqrt(z * z + y * y))) * 180 / Math.PI).setScale(1, BigDecimal.ROUND_HALF_UP)
BigDecimal phi = new BigDecimal(Math.atan(y.div(Math.sqrt(x * x + z * z))) * 180 / Math.PI).setScale(1, BigDecimal.ROUND_HALF_UP)
BigDecimal theta = new BigDecimal(Math.atan(z.div(Math.sqrt(x * x + y * y))) * 180 / Math.PI).setScale(1, BigDecimal.ROUND_HALF_UP)
The results don't make much sense ... ![]()