是否可以使用Python在Raspberry Pi上提高ADXL345的采样率?

SR Colledge

我有一个带2个ADXL345加速度计的Raspberry Pi,我想使它们两者的数据采样率最大化当我在互联网上搜索时,我很感兴趣在Raspberry Pi论坛(https://www.raspberrypi.org/forums/viewtopic.php?t=254552)上找到某人,并在其中显示此代码,其中他在其中使用了两个加速度计例:

import time
import Adafruit_ADXL345


accel1 = Adafruit_ADXL345.ADXL345()
accel2 = Adafruit_ADXL345.ADXL345(address=0x1d, busnum=1)


print('Printing X, Y, Z axis values, press Ctrl-C to quit...')
cordinates = []

import time
start_time = time.time()
NUM_OF_SEC_TO_RUN = 10 

while time.time()<=start_time+NUM_OF_SEC_TO_RUN:

    x1, y1, z1 = accel1.read()
    x2, y2, z2 = accel2.read()
    cordinates.append([x1,y1,z1,x2,y2,z2,time.time()])

import csv
with open('02.txt', 'a') as csvFile:
    writer = csv.writer(csvFile)
    writer.writerows(cordinates)

在帖子的后面,他说该部分

x1, y1, z1 = accel1.read()
x2, y2, z2 = accel2.read()
cordinates.append([x1,y1,z1,x2,y2,z2,time.time()])

这是加速度计降低采样率的最可能原因,从而降低了读取速率并延迟了数据采集。

他说,

以上3行代码的平均执行时间为0.002121秒。这是否意味着由于i2c和Raspberry pi而不是传感器而导致读取能力受到限制?还是因为我的代码?

我也想知道同样的问题,但是我要提出不同的看法。有没有一种方法可以缩短上述片段,从而有可能减少延迟并提高数据采样率?也就是说,有没有办法使它成一行?据我所知,这家伙的话题没有得到回应,也没有任何有帮助的结论性答复。

如果没有办法回答这个问题,那么我提出一个问题:是否有办法提高Raspberry Pi 3 B +上I2C的数据采样速度,还是可以复制此代码进行SPI通信?我知道SPI通信比I2C快,但我不确定如何在Raspberry Pi的Python上实现它。如果这篇文章过长,我深表歉意。

根二

ADXL345数据手册说,使用快速i2c的最快采样率是800Hz。需要SPI以获得更快的采样率-高达3200Hz。

看起来该Adafruit_ADXL345库仅支持i2c。它已被弃用。Adafruit Blinka库支持SPI,但是您必须滚动自己的ADXL345接口。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ADXL345 加速度计数据在 I2C 上使用(Beaglebone Black)

在与Raspberry Pi接口时为ADC设置用户定义的采样率

如何使用ADC在Raspbery Pi中获得可能的最高采样率?

Python Wave音频采样率

分析go程序时是否可以增加采样率?

Raspberry Pi Java Pi4j gpio 对我不起作用,但可以使用 python

使用python检查音频的采样率

Python 3.3:是否可以使用tkinter在按钮上放置Unicode字符?

Linux是否可以在Raspberry Pi上运行?

如何使用avprobe / ffprobe检测音频采样率?

使用MediaCodec确定视频帧率和音频采样率

我可以使用Google Translate使我的Raspberry Pi按需使用不同的语言说吗?

Windows Phone 8.1上是否可以使用indexedDB?

Linux上是否可以使用块和libdispatch?

是否可以使用iPhone X上的红外热像仪?

是否可以使用PHP在die()上重定向?

AWS Glue Spark Jobs上是否可以使用PygreSQL?

是否可以使用Fogger在Ubuntu上安装evernote?

是否可以使用Ubuntu在设备上安装LineageOS?

BSD上是否可以使用Scratch的Linux?

是否可以在 Raspberry Pi 4B 上使用 Unity 游戏引擎开发游戏

如何根据采样率在Python中按顺序均匀采样数组?

是否可以不登录而进入Raspberry PI?

如何使用python获取mp3文件的采样率

Ubuntu是否可以在Raspberry Pi Zero上运行?

是否可以在Raspberry PI上运行.NET Core?

是否可以在Raspberry Pi上安装TeamViewer Client?

如何更改此采样率转换代码以使声音变慢?

在AUHAL上设置采样率