Hey everyone,
I got some great help and thought I would share the code here:
Class TiltMeter
Shared accel As LIS2DH12
Shared Event Boot()
accel = New LIS2DH12
accel.Setup(LIS2DH12.HIGH_RESOLUTION_MODE, LIS2DH12.DATA_RATE_100HZ, LIS2DH12.SCALE_2G)
Thread.Delay(100000)
End Event
Shared Event checkTilt() RaiseEvent Every 30 Seconds
Dim AccelX As Float = accel.Accel(LIS2DH12.X_AXIS)
Dim AccelY As Float = accel.Accel(LIS2DH12.Y_AXIS)
Dim AccelZ As Float = accel.Accel(LIS2DH12.Z_AXIS)
Dim pitch As Float = pitchCalc(AccelX, AccelY, AccelZ)
Dim roll As Float = rollCalc(AccelX, AccelY, AccelZ)
'here is where you input your code for sending the pitch and roll values
End Event
Private Function pitchCalc(x As Float, y As Float, z As Float) As Float
Return (((x / (y * y + z * z).Sqrt).ATan) * 180.0) / Float.Pi
End Function
Private Function rollCalc(x As Float, y As Float, z As Float) As Float
Return ((y / (x * x + z * z).Sqrt).ATan* 180.0) / Float.Pi
End Function
End Class
Thanks McThings!