我在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
你可能会考虑Joan的短程序,因为这里发布的IMU略有不同
https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=139584&p=949755#p949755
祝大家下午愉快! :)
实际上ADXL335是一个模拟传感器,而覆盆子pi无法读取模拟值,它会将输出读取为高或低,以获得传感器的精确值,您应该使用与树莓派连接的ADC(模拟到数字转换器),或者您可以使用可以读取的Arduino板传感器的连续值输出