我正在尝试将我的加速度计ADXL3458连接到我在ubuntu伙伴中运行的Raspberry Pi 3。我已经为I2C通信安装了所有必需的软件包。当我执行此命令i2cdetect -y 1
时,我得到了这个结果。
现在我运行这个Python代码
#!/usr/bin/env python
import smbus
import time
import math
from math import sin, cos, pi
bus = smbus.SMBus(1)
print bus
ACC_ADRESS = 0x53
acc_x = 0.0
acc_y = 0.0
acc_z = 0.0
def writeACC (register, value):
bus.write_byte_data(ACC_ADRESS, register, value)
return -1
def readACC_byte ( addr):
return bus.read_byte_data(ACC_ADRESS, addr)
def readACC_word (addr):
LSB = bus.read_byte_data(ACC_ADRESS, addr)
MSB = bus.read_byte_data(ACC_ADRESS, addr + 1)
val = (MSB << 8) | LSB
return val
def setupACC ():
# Sleep mode
writeACC(0x2D, 0)
# Mesurement mode
writeACC(0x2D, 8)
# enable Autu sleep mode
writeACC(0x2D, 16)
while True:
time.sleep(0.1)
acc_x = readACC_word(0x32)
acc_y = readACC_word(0x34)
acc_z = readACC_word(0x36)
print "Acc_x :\n", acc_x
print "Acc_y :\n", acc_y
print "Acc_z :\n", acc_z
time.sleep(0.5)
if __name__ == '__main__':
setupACC()
中得到了这个结果
请帮忙解决我面临的问题。是不是我做错了什么?
谢谢
答案 0 :(得分:0)
自动睡眠模式不应该处于活动状态。评论时
#writeACC(0x2D, 16)
工作正常。