Skip to content

Commit e2e51aa

Browse files
committed
adding compass example
1 parent ac70d83 commit e2e51aa

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

examples/lis3mdl_compass.py

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
""" Display compass heading data five times per second """
2+
import time
3+
from math import atan2, degrees
4+
import board
5+
import busio
6+
import adafruit_lis3mdl
7+
8+
i2c = busio.I2C(board.SCL, board.SDA)
9+
sensor = adafruit_lis3mdl.LIS3MDL(i2c)
10+
11+
12+
def vector_2_degrees(x, y):
13+
angle = degrees(atan2(y, x))
14+
if angle < 0:
15+
angle += 360
16+
return angle
17+
18+
19+
def get_heading(_sensor):
20+
magnet_x, magnet_y, _ = _sensor.magnetic
21+
return vector_2_degrees(magnet_x, magnet_y)
22+
23+
24+
while True:
25+
print("heading: {:.2f} degrees".format(get_heading(sensor)))
26+
time.sleep(0.2)

0 commit comments

Comments
 (0)