Author Topic: Accelerometer Code Help  (Read 516 times)

dmm

  • Newbie
  • *
  • Posts: 17
    • View Profile
Re: Accelerometer Code Help
« on: November 08, 2016, 05:03:28 pm »
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!
Like Like x 1 View List