我试图测量LED照明闪烁率通过一个Adafruit传感器: TCS34725上的覆盆子Pi4。我要么读取内部计算的勒克斯值,要么读取原始数据(RGB)。
根据TCS34725库文件,传感器的最小采样率为2.4ms (~400 is )。传感器本身的时钟频率为400赫兹。Python TCS34725库
但是,当我运行一个测试脚本时,每个采样的时间周期都是0.0155769秒(~60 Hz),对于原始值或计算出的勒克斯值都是这样。
sensor.lux # takes abt 0.0167 s for script below
sensor.color_raw # takes abt 0.0155 s for script below为什么我不能达到更高的采样率接近400赫兹?我的剧本是不是推迟了时间?
测试脚本:
import board
import busio
import adafruit_tcs34725
import time
import numpy as np
i2c = busio.I2C(board.SCL, board.SDA)
sensor = adafruit_tcs34725.TCS34725(i2c)
"""
integration_time - The integration time of the sensor in milliseconds. Must be a value between 2.4 and 614.4.
gain - The gain of the sensor, must be a value of 1, 4, 16, 60.
"""
sensor.integration_time = 2.4 #lowest possible of 2.4ms
sensor.gain = 1
lx = []
tm = []
loop_delay = time.time() + 60
while time.time() < loop_delay:
t = time.time()
k = sensor.lux
lx.append(k)
tm.append(t)
t_0 = tm[0]
t_norm = [i-t_0 for i in tm]
Z = np.column_stack((t_norm,lx))
np.savetxt('/home/pi/share/py/flicker/test.csv', Z, delimiter=",", fmt='%1.7f')
print('end')类似地,使用另一个库驱动程序,通过将后续测量之间的延迟(第139行)设置为零(False),也会产生相同的~60 to。公司用于TCS34725光色传感器的Python驱动程序
对于如何获得接近400赫兹的采样率,有任何见解或建议吗?
https://stackoverflow.com/questions/67105362
复制相似问题