首页 > 解决方案 > 从传感器读取方波信号

问题描述

我正在使用一个雷达传感器,它根据它正在感应的物体的速度提供方波。我想通过改变方波信号的频率来计算物体的速度。以下代码给出了频率,但我的问题是,即使 gpio 引脚上没有输入信号,代码也会继续打印最后一个值。如何使其归零或停止打印最后一个值。

import time
import pigpio
import read_PWM
PWM_GPIO = 21
SAMPLE_TIME = 1.0
pi = pigpio.pi()
p = read_PWM.reader(pi, PWM_GPIO)
while True:
      time.sleep(SAMPLE_TIME)  
      f = p.frequency()
      pw = p.pulse_width()
      dc = p.duty_cycle()
      print(f)

标签: pythonfrequencysensorspwm

解决方案


您可以创建一个非门,当 GPIO 引脚没有信号时打开。

那么您可以将代码更改为:

import time
import pigpio
import read_PWM
PWM_GPIO = 21
SAMPLE_TIME = 1.0
pi = pigpio.pi()
p = read_PWM.reader(pi, PWM_GPIO)
p2 = read_(whateverthisimplementations HIGH, LOW basic read is)
while True:
      time.sleep(SAMPLE_TIME)  
      f = p.frequency()
      pw = p.pulse_width()
      dc = p.duty_cycle()
      if p2 != HIGH:
           print(f)

推荐阅读