Выход акселерометра датчика adxl335, подключенного к Raspberry Pi, равен 1. Как получить выход в десятичном формате
Я написал следующую программу на python и попытался прочитать вывод датчика акселерометра. Когда я печатаю вывод акселерометра, я получаю 1. Пожалуйста, посоветуйте мне, как получить фактический вывод цифрами, чтобы узнать точный наклон акселерометра.
import RPi.GPIO as io # import the GPIO library we just installed but call it "io"
import time
io.setmode(io.BCM)
io.setwarnings(False)
x_axis = 17 # this is the GPIO number our accelerometer's x axis is connected
y_axis = 27 # this is the GPIO number our accelerometer's x axis is connected
z_axis = 22 # this is the GPIO number our accelerometer's x axis is connected
io.setup(x_axis, io.IN) # initialize receiver GPIO to take input
io.setup(y_axis, io.IN) # initialize receiver GPIO to take input
io.setup(z_axis, io.IN) # initialize receiver GPIO to take input
try:
while True:
x = io.input(x_axis)
if x:
print"x-axis ="
print(x)
time.sleep(1)
y = io.input(y_axis)
if y:
print"y-axis"
print(y)
time.sleep(1)
z = io.input(y_axis)
if z:
print"z-axis"
print(z)
time.sleep(1)
except KeyboardInterrupt:
print("Received Interrupt")
output
pi@raspberrypi /opt/embedded $ sudo python accelerometer.py
x-axis =
1
y-axis
1
z-axis
1
x-axis =
1
y-axis
1
z-axis
1
x-axis =
1
y-axis
1
z-axis
1
1 ответ
На самом деле ADXL335 является аналоговым датчиком, и Raspberry Pi не может считывать аналоговые значения, он считывает выходные данные как высокие или низкие, чтобы получить точные значения датчика. Вы должны использовать АЦП (аналого-цифровой преобразователь), связанный с RasPberry Pi, или вы можете использовать плату Arduino, которая может непрерывная работа датчиков
Вы могли бы рассмотреть короткие программы Джоан для немного другого IMU как отправлено здесь
https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=139584&p=949755
Хорошего вечера!:)