adafruit_adxl34x

ADXL34x 3 轴加速度计系列的驱动器

  • 作者(S):布赖恩·西珀特

基于 K. Townsend 和 Tony DiCola 的驱动程序

实施说明

硬件:

软件和依赖:

class adafruit_adxl34x.ADXL343(i2c, address=83)

ADXL343 3 轴加速度计的存根类

class adafruit_adxl34x.ADXL345(i2c, address=83)

ADXL345 3轴加速度计驱动器

参数:
  • i2c (I2C) – ADXL345 连接到的 I2C 总线。
  • address – 传感器的 I2C 设备地址。默认为0x53.

快速入门:导入和使用设备

这是使用ADXL345该类的示例。首先,您需要导入库以使用传感器

import board
import adafruit_adxl34x

完成此操作后,您可以定义board.I2C对象并定义传感器对象

i2c = board.I2C()  # uses board.SCL and board.SDA
accelerometer = adafruit_adxl34x.ADXL343(i2c)

现在您可以访问该acceleration属性

acceleration = accelerometer.acceleration
acceleration

以三元组形式返回的 x、y、z 加速度值 \(m / s ^ 2\)

data_rate

传感器的数据速率。

disable_freefall_detection()

禁用自由落体检测

disable_motion_detection()

禁用运动检测

disable_tap_detection()

禁用敲击检测

enable_freefall_detection(*, threshold=10, time=25)

自由落体检测参数:

参数:
  • threshold (int) – 所有轴上的加速度必须低于该值才能注册为下降。比例因子为 62.5 mg/LSB。
  • time (int) – 所有轴上的加速度必须小于 threshold 注册为下降的时间量。比例因子为 5 ms/LSB。建议使用 100 毫秒到 350 毫秒(20 到 70)之间的值。

如果您希望自己设置它们而不是使用默认值,则必须使用关键字参数:

accelerometer.enable_freefall_detection(time=30)
enable_motion_detection(*, threshold=18)

活动检测参数。

参数:threshold (int) – 任何轴上的加速度必须超过才能注册为活动的值。比例因子为 62.5 mg/LSB。

如果您希望自己设置它们而不是使用默认值,则必须使用关键字参数:

accelerometer.enable_motion_detection(threshold=20)
enable_tap_detection(*, tap_count=1, threshold=20, duration=50, latency=20, window=255)

敲击检测参数。

参数:
  • tap_count (int) – 1 仅检测单击,2 仅检测双击。
  • 阈值 (int) – 敲击检测的阈值。比例因子为 62.5 mg/LSB 值越高,检测灵敏度越低。
  • 持续时间 (int) – 这限制了上述脉冲的持续时间 threshold。以上任何内容 duration 都不会注册为点击。比例因子为 625 µs/LSB
  • 延迟 (int) –(仅双击)初始脉冲低于 threshold 开始窗口寻找第二个脉冲后的时间长度。比例因子为 1.25 ms/LSB。
  • window (int) – (仅双击)要在其中查找第二次点击的窗口的长度。比例因子为 1.25 ms/LSB

如果您希望自己设置它们而不是使用默认值,则必须使用关键字参数:

accelerometer.enable_tap_detection(duration=30, threshold=25)
events

events将为每个已启用的事件类型返回一个带有键的字典。可能的键是:

钥匙 描述
tap 如果最近检测到点击,则为真。是寻找单击还是双击由tap参数决定 enable_tap_detection
motion 如果传感器看到加速度高于设置的阈值,则为真enable_motion_detection.
freefall 如果传感器处于自由落体状态,则为真。启用时设置参数 enable_freefall_detection
range

传感器的测量范围。

class adafruit_adxl34x.DataRate

表示可能的数据速率的类枚举类。可能的值为

  • DataRate.RATE_3200_HZ
  • DataRate.RATE_1600_HZ
  • DataRate.RATE_800_HZ
  • DataRate.RATE_400_HZ
  • DataRate.RATE_200_HZ
  • DataRate.RATE_100_HZ
  • DataRate.RATE_50_HZ
  • DataRate.RATE_25_HZ
  • DataRate.RATE_12_5_HZ
  • DataRate.RATE_6_25HZ
  • DataRate.RATE_3_13_HZ
  • DataRate.RATE_1_56_HZ
  • DataRate.RATE_0_78_HZ
  • DataRate.RATE_0_39_HZ
  • DataRate.RATE_0_20_HZ
  • DataRate.RATE_0_10_HZ
class adafruit_adxl34x.Range

一个类似枚举的类,表示 +/- G 中可能的测量范围。

可能的值为

  • Range.RANGE_16_G
  • Range.RANGE_8_G
  • Range.RANGE_4_G
  • Range.RANGE_2_G