使用Raspberry Pi进行RPM测量的Python代码

2024-09-28 22:35:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做一个项目,我用光电传感器检测连接到电机轴上的反射器。每次反射器反射来自传感器的LED的光时,它都会向raspberry pi(带分压器)发送一个脉冲(电压)。在一些帮助下,我得到了以下代码,我注意到我得到的结果太高了。有人对如何改进有什么建议吗?我在网上看到了RPM代码的其他示例,但我想自己学习,我发现这些示例没有使用与我相同的方法。提前谢谢

import time
from gpiozero import Button

sensor = Button(17) 

i=1 
timestampeven=0 
timestamponeven=0 


def pulsen():
    global i
    global timestampeven
    global timestamponeven
    if (i % 2) ==0:
            timestampeven = time.time_ns()
            i+=1
    elif (i % 2) == 1:
            timestamponeven = time.time_ns()
            i+=1
            periode = timestamponeven-timestampeven
            frequentie = 1/(periode*10e09)
            rpm = frequentie*60
            print("rpm=" + str(rpm))
            print("teller = " +str(i))
            print("periode = " +str(periode))
            print("frequentie = " +str(frequentie))
    
    

sensor.when_pressed = pulsen

while True:
    pass

Tags: 代码import示例timebutton传感器globalrpm