Springen naar inhoud


PI

Hulp Vloeistof Niveau Inductor

Pi

  • Log in a.u.b. om te beantwoorden
Er zijn 13 reacties in dit onderwerp

#1 Eric Buedts

Eric Buedts

    Starting Developer

  • Leden
  • 27 berichten
    Laatst bezocht 19 jun 2014 22:01

Geplaatst op 11 april 2014 - 18:47

Ik wil via een vloeistof niveau inductor mijn vijver automatisch laten vol lopen. Nu heb ik van velleman de MK108 en de K2639 elk 1 keer. Ik moet ze nog wel in elkaar steken. Het moet niet via die velleman gaan. Het mag ook via iets anders gaan, als het maar zelf in elkaar te steken is en liefst niet te moeilijk.
Ik heb al op internet via de K2639 een opstelling gezien, die gebruikte 2x de K2639.
Het moet wel via de Pi gaan, nu liefst toch.

De vloeistof niveau inductor moet een signaal geven aan een toestelletje dat aan de waterleiding is aangekoppeld, als het water moet gaan lopen, maar omgekeerd ook als het toestel moet afsluiten.

Wie kan hier even bij helpen.

#2 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 12 jan 2024 08:50
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 12 april 2014 - 17:38

Ik weet niet of je er wat aan hebt maar hier heb ik 2 links voor je .:

http://fritzing.org/...pi-water-sensor
http://www.instructa...tor-with-Alarm/

#3 Eric Buedts

Eric Buedts

    Starting Developer

  • Leden
  • 27 berichten
    Laatst bezocht 19 jun 2014 22:01

Geplaatst op 13 april 2014 - 15:30

Hallo

http://fritzing.org/...pi-water-sensor is intresant, enkel zou ik de pi nu nog moeten wijs maken dat hij niet een alarm moet activeren, maar wel dat hij een soort van drukventiel/magneet moet open zetten als water te laag is en afsluiten als het water hoog genoeg is. Een foto wat ik ongeveer bedoel:  http://forum.nvn-koi...ach=37616;image

#4 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 12 jan 2024 08:50
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 13 april 2014 - 22:30

Denk dat het gewoon een kwestie van waarde x is ventiel open en andere waarde x ventiel dicht of die opstelling 2 keer maken bij laag niveau een alarm klep open bij bereikt niveau alarm klep dicht.

#5 Eric Buedts

Eric Buedts

    Starting Developer

  • Leden
  • 27 berichten
    Laatst bezocht 19 jun 2014 22:01

Geplaatst op 10 mei 2014 - 13:05

hallo

Ik heb dit project http://fritzing.org/...pi-water-sensor uitgeprobeerd en het werk zeer goed.
Nu wil ik het volgende aanpassen als het kan. Ik wil dat het net omgekeerd gaat reageren. Niet als het nat is, maar als het droog is.
En het moet niet elke seconde een mail versturen, maar om de 1 of 2 minuten.

Heeft iemand een idee hoe ik dit best uitwerk en waar de code moet aanpassen betreft het versturen van een signaal en mail.

Gr.

#6 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 12 jan 2024 08:50
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 11 mei 2014 - 09:34

Citeren

En het moet niet elke seconde een mail versturen, maar om de 1 of 2 minuten.
Als ik even naar de code ervan kijk zul je de tijden moeten aanpassen naar een hogere waarde.
Dit zou je in dit stukje moeten doen van de code.:
Code:
while True:
	time.sleep(1)
	if RCtime(18) == 1:
		print "Sensor is wet"
		email('wet')
		while True:
			time.sleep(1)
			if RCtime(18) == 1:
				print "Sensor is still wet..."
				buzz_on(17)
				continue
			if RCtime(18) == 0:
				buzz_off(17)
				print "Sensor is dry again"
				email('dry')
				print "Waiting for wetness..."
				break


Citeren

Nu wil ik het volgende aanpassen als het kan. Ik wil dat het net omgekeerd gaat reageren. Niet als het nat is, maar als het droog is.
Dat kan zo te zien ook en ook weer in het zelfde stukje code, nul word 1 en 1 word nul , kijk maar eens.

#7 Eric Buedts

Eric Buedts

    Starting Developer

  • Leden
  • 27 berichten
    Laatst bezocht 19 jun 2014 22:01

Geplaatst op 12 mei 2014 - 22:11

He

Oke, tot daar was ik min of meer mee, dat ik daar de code zou moeten aanpassen voor de tijd. Maar waar juist en eventueel welk getal.
Is het dit "if RCtime(18) " dat ik moet aanpassen?

Dat van nat naar droog en van droog naar nat, dat heb wel door, denk ik.
Ik ga het deze week zeker uittesten.

#8 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 12 jan 2024 08:50
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 13 mei 2014 - 04:54

RCtime(18) moet je inderdaad aanpassen.

#9 Eric Buedts

Eric Buedts

    Starting Developer

  • Leden
  • 27 berichten
    Laatst bezocht 19 jun 2014 22:01

Geplaatst op 30 mei 2014 - 00:17

Hallo

De code om nat naar droog en omgekeerd is gelukt.
Ik blijf wel een probleem hebben met de tijd tussen de eerste en de 2de en de 3de enz.......

Wat wil ik dus?
Wel, als de sensor droog aanvoelt, moet hij onmiddellijk een email verzenden en gaat de vijver bijgevuld worden met water. Maar tijdens de eerste mail en de 2de email moet er wel meer tijd tussen zitten, omdat het ongeveer 30 minuten (kan) duren om de vijver weer bij te vullen, en zeker als ik mijn filter heb gespoeld. Als ik de code tijd niet kan aanpassen tussen de eerste email en de 2de email, gaat hij om de seconde een mail verzenden en dit vb. 30 minuten lang, en dat is niet de bedoeling. De 2de email is eigenlijk gewoon een controle van de Pi (in de code dus) om te achterhalen of het nog niet voldoende is en om te zien of dat de Pi het bijvullen mag afsluiten en dan de laatste mail mag verzenden om mij te melden dat de vijver voldoende is gevuld.
Als ik in de huidige code de RCtime ga aanpassen in vb 60.00, dan duurt het opstarten een minuut en het afsluiten een minuut. Dat is ook weer niet de bedoeling.

Ik wil dat de Pi onmiddellijk reageert als hij droog aanvoelt, dus binnen de seconde, maar dat de volgende controle na vb. 1 of 2 minuten pas moet. Die controle na vb. 1 of 2 minuten mag aantal keren herhaalt worden zolang de Pi aanvoelt de het nog droog is en er bijgevuld moet worden. Vanaf het moment dat de Pi aanvoelt dat het nat is moet de Pi onmiddellijk afsluit en stopt met vullen en mij een mail stuurt om te melden dat de vijver bijgevuld is.

Ik hoop dat u mij kan helpen. En ik hoop dat het wat duidelijk is wat ik schrijf.

#10 Eric Buedts

Eric Buedts

    Starting Developer

  • Leden
  • 27 berichten
    Laatst bezocht 19 jun 2014 22:01

Geplaatst op 01 juni 2014 - 00:09

Dit even nog ter info, de code aangepast aan mijn situatie, maar de tijd is nog niet aangepast.

Code:

#!/usr/bin/python

#########
# Over #
#########

# Deze script gebruikt de Raspberry Pi om te melden dat het waterpijl laag staat en de voeler/sensor droog is.
# Wanneer het waterpijl laag staat en de voeler/sensor droog is, wordt er een email verzonden EN en geeft Pi
# een melding AAN de automatische watervuller zodat die de vijver gaat bijvullen.
# Wanneer de voeler/sensor terug nat is, is het waterpijl weer normaal en wordt er
# terug een email verzonden EN en geeft Pi een melding UIT aan de automatische watervuller.
# Om dit script te laten werken boot, edit /etc/rc.local to include (no quotes) 'sudo python water_sensor_test.py'

###########
# License #
###########
# Released under the WTFPL.
# Full text and more information here: http://en.wikipedia.org/wiki/WTFPL
#################################################
# Gmail login referenties om email te verzenden #
#################################################
username = '**************' #zonder "@gmail.com" er achter.
password = '************'
#############################
# Generale Email Parameters #
#############################
From = "************i@gmail.com"
To = "**********************"
##########################################
# Email Parameters wanneer sensor is Dry #
##########################################
Subject_dry = "RPi Water Sensor is Droog"
Body_dry = "Uw water sensor is terug droog, vijver moet bijgevult worden."
##########################################
# Email Parameters wanneer sensor is Wet #
##########################################
Subject_wet = "RPi Water Sensor is NAT"
Body_wet = " Uw water sensor is terug nat! Vijver bijvullen is gestopt."
import smtplib
from email.mime.text import MIMEText
import RPi.GPIO as GPIO
import string
import time
# Functie definities
#Neem "dry" of "wet" als voorwaarde.
def email(condition):
print "Attempting to send email"
if condition == 'dry':
	 Body = string.join((
	 "From: %s" % From,
	 "To: %s" % To,
	 "Subject: %s" % Subject_dry,
	 "",
	 Body_dry,
	 ), "\r\n")
if condition == 'wet':	
	 Body = string.join((
		 "From: %s" % From,
		 "To: %s" % To,
		 "Subject: %s" % Subject_wet,
		 "",
		 Body_wet,
		 ), "\r\n")

# De werkelijke mail verzenden
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
print "Logging in..."
server.login(username,password)
print "Logged in as "+username+"."
server.sendmail(From, [To], Body)
server.quit()
print "Email sent."
#Test of er water aanwezig is.
# is het resultaat 1 is het droog
# is het resultaat 0 is het nat
# getest op pin 18 en werkt
def RCtime (RCpin):
reading = 0
GPIO.setmode(GPIO.BCM)
GPIO.setup(RCpin, GPIO.OUT)
GPIO.output(RCpin, GPIO.LOW)
time.sleep(0.01)
GPIO.setup(RCpin, GPIO.IN)
# Dit duurt ongeveer 1 millisecond per lus cycle
while True:
	 if (GPIO.input(RCpin) == GPIO.LOW):
		 reading += 1
	 if reading >= 1000:
		 return 0
	 if (GPIO.input(RCpin) != GPIO.LOW):
		 return 1
# Werkt op led of buzzer en is AAN
# getest op pin 17 en werkt
def buzz_on (pin):
GPIO.setmode(GPIO.BCM)
GPIO.setup(pin, GPIO.OUT)
GPIO.output(pin, GPIO.HIGH)
# Werkt op led of buzzer en is UIT
# getest op pin 17 en werkt
def buzz_off(pin):
GPIO.setmode(GPIO.BCM)
GPIO.setup(pin, GPIO.OUT)
GPIO.output(pin, GPIO.LOW)
# Hoofd lus
print 'Wacht tot sensor droog staat...'
while True:
time.sleep(1)
if RCtime(18) == 0:
	 print "Sensor is droog"
	 email('dry')
	 while True:
		 time.sleep(1)
		 if RCtime(18) == 0:
			 print "Sensor is nog altijd droog..."
			 buzz_on(17)
			 continue
		 if RCtime(18) == 1:
			 buzz_off(17)
			 print "Sensor is terug nat"
			 email('wet')
			 print "Wacht tot sensor terug droog staat..."
			 break



#11 Eric Buedts

Eric Buedts

    Starting Developer

  • Leden
  • 27 berichten
    Laatst bezocht 19 jun 2014 22:01

Geplaatst op 05 juni 2014 - 22:55

Oei kan hier niemand bij helpen?

#12 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 12 jan 2024 08:50
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 06 juni 2014 - 07:51

Ik denk toch echt dat je met die RCtime moet werken, ik kan het alleen helaas nu niet testen omdat ik een ander project voorrang heb gegeven.

#13 Eric Buedts

Eric Buedts

    Starting Developer

  • Leden
  • 27 berichten
    Laatst bezocht 19 jun 2014 22:01

Geplaatst op 09 juni 2014 - 16:03

Hallo pascalbianca

Je had min of meer gelijk, het zit niet echt aan de die RCtime maar aan de code time.sleep(1),
Code:
# Hoofd lus
print 'Wacht tot sensor droog staat...'
while True:
time.sleep(1)
if RCtime(18) == 0:
print "Sensor is droog"
email('dry')
while True:
time.sleep(1)
if RCtime(18) == 0:
print "Sensor is nog altijd droog..."
buzz_on(17)
continue
if RCtime(18) == 1:
buzz_off(17)
print "Sensor is terug nat"
email('wet')
print "Wacht tot sensor terug droog staat..."
break


ik moet in regel 9, als de code van hierboven bekijkt, de code hieronder maken in time.sleep(...), dat wordt dan voor 1 minuut  time.sleep(60).

Code:
time.sleep(60)
if RCtime(18) == 0:
print "Sensor is nog altijd droog..."
buzz_on(17)
continue


Het enige nadeel is, dat het na vb: de eerste 1 minuut, en de vijver zou vol zijn na de eerste 1 minuut en 30 seconde, er terug pas na dat de 2de 1 minuut verlopen is, dan pas de Pi zal gaan voelen "o ja, de vijver is vol genoeg" en dan direct zal stoppen met bijvullen. Ik zou dus liever hebben dat Pi toch na die vb: 1 minuut, er toch tussendoor gevoelt wordt door Pi, zonder een mail of sms te versturen, na vb: 1.15 of 1.30 minuut de vijver vol is en direct reageert om te stoppen met vullen.
Ik veronderstel dat er nog code moet bijkomen in de ganse lijst. Hebt u een idee?

#14 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 12 jan 2024 08:50
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 11 juni 2014 - 18:40

En als je zou zeggen (tis een idee, kan het niet testen)

misschien met een try lus?





Ook met taq PI, Pi voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[PI] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)