QQ截图20231119021731.jpg

当你已经将Triple Axis Accelerometer连接到Arduino上并上传了StandardFirmata程序,你可以使用Python的pyfirmata库在树莓派上读取传感器数据。以下是一个简单的Python程序,用于读取Triple Axis Accelerometer的XYZ轴数据:

import time
import pyfirmata

# 设置Arduino的串口
port = 'COM3' #'/dev/ttyUSB0'  # 根据你的连接设置正确的串口

# 创建Arduino对象
board = pyfirmata.Arduino(port)

# 启动模拟输入的迭代器(经过多次询问和给出可运行程序后才修正)
it = pyfirmata.util.Iterator(board)
it.start()

# 获取Triple Axis Accelerometer的引脚
accelerometer_x_pin = 0  # 根据你的连接设置正确的X轴引脚
accelerometer_y_pin = 1  # 根据你的连接设置正确的Y轴引脚
accelerometer_z_pin = 2  # 根据你的连接设置正确的Z轴引脚

# 获取Triple Axis Accelerometer对象
accelerometer_x = board.get_pin('a:' + str(accelerometer_x_pin) + ':i')
accelerometer_y = board.get_pin('a:' + str(accelerometer_y_pin) + ':i')
accelerometer_z = board.get_pin('a:' + str(accelerometer_z_pin) + ':i')

try:
    while True:
        # 读取XYZ轴的加速度值
        x_acceleration = accelerometer_x.read()
        y_acceleration = accelerometer_y.read()
        z_acceleration = accelerometer_z.read()

        if x_acceleration is not None and y_acceleration is not None and z_acceleration is not None:
            print(f"X轴加速度: {x_acceleration:.2f}, Y轴加速度: {y_acceleration:.2f}, Z轴加速度: {z_acceleration:.2f}")

        time.sleep(0.1)

except KeyboardInterrupt:
    # 清理资源
    board.exit()

效果:

X轴加速度: 0.36, Y轴加速度: 0.47, Z轴加速度: 0.31
X轴加速度: 0.35, Y轴加速度: 0.49, Z轴加速度: 0.32

发表评论