Come utilizzare il sensore di flusso d'acqua con lampone?


8

Sto cercando di utilizzare questo sensore di flusso d'acqua con lampone:

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

Sto usando questo codice Python per leggere gli impulsi:

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

Sfortunatamente, questo codice non funziona correttamente e poiché sono nuovo con Raspberry non so come risolvere il problema.

Vorrei sapere se è necessario utilizzare un altro componente in Raspberry, come MCP3008 o un altro.

Se possibile, inviami come cablare anche i cavi del sensore è lampone.


Hai visto questo post learn.adafruit.com/adafruit-keg-bot che è collegato dalla pagina del prodotto che hai collegato sopra?
Steve Robillard,

Risposte:


10

Le uscite impulsive del contatore per acqua sono generalmente a drain aperto.

Ciò significa che vengono tirati a terra per segnalare un impulso e galleggiano in alto a una tensione esterna.

Come controllo rapido, cambia le seguenti due righe.

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

per

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

e

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

per

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


1
Ciao Giovanna, il codice funziona ora e gli impulsi sono stati contati. Grazie!!
Thiago Scodeler,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.