覆盆子水流量传感器如何使用?


8

我正在尝试将此水流传感器与覆盆子一起使用:

https://www.adafruit.com/products/828

我正在使用此python代码读取脉冲:

#!/usr/bin/env python

import RPi.GPIO as GPIO
import time, sys

FLOW_SENSOR = 23

GPIO.setmode(GPIO.BCM)
GPIO.setup(FLOW_SENSOR, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)

global count
count = 0

def countPulse(channel):
   global count
   count = count+1
   print count

GPIO.add_event_detect(FLOW_SENSOR, GPIO.RISING, callback=countPulse)

while True:
    try:
        time.sleep(1)
    except KeyboardInterrupt:
        print '\ncaught keyboard interrupt!, bye'
        GPIO.cleanup()
        sys.exit()

不幸的是,此代码无法正常工作,并且由于我是树莓派的新手,所以我不知道如何解决该问题。

我想知道是否有必要在树莓中使用其他组件,例如MCP3008或其他组件。

如果可能的话,也请给我发送有关如何连接树莓派传感器电缆的方法。


您是否看到 与您上面链接到的产品页面链接的这篇 博文Learn.adafruit.com/adafruit-keg-bot
Steve Robillard

Answers:


10

水表脉冲输出通常为开漏。

这意味着它们被拉至地以发出脉冲信号,并高电平浮动至外部电压。

快速检查以下两行。

GPIO.setup(FLOW_SENSOR,GPIO.IN,pull_up_down = GPIO.PUD_DOWN)

GPIO.setup(FLOW_SENSOR,GPIO.IN,pull_up_down = GPIO.PUD_UP

GPIO.add_event_detect(FLOW_SENSOR,GPIO.RISING,callback = countPulse)

GPIO.add_event_detect(FLOW_SENSOR,GPIO.FALLING,回调= countPulse)


1
琼,您好,代码正在运行,并且已对脉冲进行计数。谢谢!!
Thiago Scodeler,2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.