Skip to content

Commit d61a94d

Browse files
committed
adding inclinometer example
1 parent 34eb26c commit d61a94d

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

examples/lsm303_accel_inclinometer.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
""" Display inclination data five times per second """
2+
3+
import time
4+
import board
5+
import busio
6+
import adafruit_lsm303_accel
7+
from math import atan2, degrees
8+
9+
i2c = busio.I2C(board.SCL, board.SDA)
10+
sensor = adafruit_lsm303_accel.LSM303_Accel(i2c)
11+
12+
13+
def vector_2_degrees(x, y):
14+
radians = atan2(y, x)
15+
degrees_calc = degrees(radians)
16+
if degrees_calc < 0:
17+
degrees_calc = 360 + degrees_calc
18+
return degrees_calc
19+
20+
21+
def get_inclination(_sensor):
22+
return get_inclination_respect_x(_sensor), get_inclination_respect_y(_sensor)
23+
24+
25+
def get_inclination_respect_x(_sensor):
26+
accel_axis_data = _sensor.acceleration
27+
return vector_2_degrees(accel_axis_data[0], accel_axis_data[2])
28+
29+
30+
def get_inclination_respect_y(_sensor):
31+
accel_axis_data = _sensor.acceleration
32+
return vector_2_degrees(accel_axis_data[1], accel_axis_data[2])
33+
34+
35+
while True:
36+
print("inclination: (%s, %s)" % (get_inclination(sensor)))
37+
time.sleep(0.2)

0 commit comments

Comments
 (0)