Jürgen Böhm Hab das Video nur durchgespult, aber die Magnetscheibe kommt einfach flach an den Chip.
Rasp-Berlin Es reichen 8 Positionen. N, S, W, O und NW, NO, SW, SO.
Python
#!/usr/bin/env python3
import smbus
from time import sleep
bus = smbus.SMBus(1)
AS5600_ADDRESS = 0x36
AS5600_REG_ANGLE_H = 0x0C
AS5600_REG_ANGLE_L = 0x0D
def read_angle():
data = bus.read_i2c_block_data(AS5600_ADDRESS, AS5600_REG_ANGLE_H, 2)
angle = ((data[0] & 0x0F) << 8) | data[1]
return angle
try:
while True:
angle = read_angle()
# print("Angle:", angle)
sleep(0.2)
if angle == 0:
print("Exakt Norden oder kein Magnet")
elif angle > 3840 or angle < 256:
print("N")
elif angle > 256 and angle < 768:
print("NO")
elif angle > 768 and angle < 1280:
print("O")
elif angle > 1280 and angle < 1792:
print("SO")
elif angle > 1792 and angle < 2304:
print("S")
elif angle > 2304 and angle < 2816:
print("SW")
elif angle > 2816 and angle < 3328:
print("W")
elif angle > 3328 and angle < 3840:
print("NW")
elif angle > 3840:
print("N")
else:
print(angle)
except KeyboardInterrupt:
print("Bye Bye")
Display More