Bagaimana cara menggunakan sensor aliran air dengan raspberry?

8

Saya mencoba menggunakan sensor aliran air ini dengan raspberry:

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

Saya menggunakan kode python ini untuk membaca pulsa:

#!/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()

Sayangnya, kode ini tidak berfungsi sebagaimana mestinya dan karena saya baru menggunakan raspberry, saya tidak tahu bagaimana menyelesaikan masalah.

Saya ingin tahu apakah perlu menggunakan komponen lain di raspberry, seperti MCP3008 atau yang lain.

Jika memungkinkan, kirimkan saya cara memasang kabel sensor juga raspberry.

Thiago Scodeler
sumber
Apakah Anda melihat posting ini learn.adafruit.com/adafruit-keg-bot yang ditautkan dari halaman produk yang ditautkan ke atas?
Steve Robillard

Jawaban:

10

Output pulsa meter air biasanya merupakan saluran terbuka.

Ini berarti mereka ditarik ke tanah untuk memberi sinyal pulsa dan mengapung tinggi ke tegangan eksternal.

Sebagai pemeriksaan cepat, ubah dua baris berikut.

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

untuk

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

dan

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

untuk

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

joan
sumber
1
Hai joan, kodenya bekerja sekarang dan pulsa sudah dihitung. Terima kasih!!
Thiago Scodeler