0
私は加速度計ADXL3458とUbuntuのメイトで動作しているRaspberry Pi 3とのインターフェースを取ろうとしています。 I2C通信に必要なすべてのパッケージをインストールしました。私がこのコマンドを実行すると、i2cdetect -y 1
この結果が得られます。 Raspbery Pi 3のI2Cをsmbusで使用
は、今私は、この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()
私のI2C通信が成功した。この推論には、この結果を得ます。しかし、私が印刷している結果では、それに価値がないことを示しています。
私が直面している問題で助けてください。私が間違っていることは何ですか?
は