[PYTHON] Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren

Überblick

Der Bodenfeuchtesensor und der AD-Wandler von GROVE (MCP3002) messen alle 5 Minuten die im Boden enthaltene Wassermenge. Wenn die Wassermenge unter den Schwellenwert fällt, betätigen Sie die Kerosinpumpe, um Wasser aus dem Wassertank zu pumpen und als Pflanzgefäß zu verwenden. Ich habe versucht, Wasser zu machen.

Schaltplan

water_system_回路図.png

IMG_3902.jpg

Lesen Sie den Wert des Bodenfeuchtesensors ab

Der Feuchtigkeitssensor gibt eine Spannung (Analogwert) entsprechend der Feuchtigkeitsmenge aus. Da der Raspberry Pi nur digital eingeben kann, muss er in digitale Daten konvertiert und von einem AD-Konverter gelesen werden. Dieses Mal habe ich MCP3002 für den AD-Konverter verwendet. Informationen zur Verbindung zwischen Raspberry Pi und MCP3002 finden Sie im folgenden Artikel. Anschließen des A / D-Wandlers MCP3002 an Raspberry Pi

Die folgenden Materialien wurden für den Bodenfeuchtesensor verwendet. https://www.switch-science.com/catalog/814/ Der Sensor wird eingeführt, indem ein Loch in den Pflanzer gemacht wird. IMG_4033.jpg

Betreiben Sie die Kerosinpumpe mit Wasser

IMG_4032.jpg

Für den Bewässerungsteil wird die Kerosinpumpe betrieben, indem die elektrische Kerosinpumpe und GPIO verbunden und GPIO eingeschaltet werden. Der Motor betreibt jedoch die Pumpe. Wenn Sie jedoch versuchen, den Motor mit GPIO von Raspberry Pi zu betreiben, geht Ihnen die Energie aus. Stellen Sie daher sicher, dass Sie die Kerosinpumpe mit der Stromversorgung des von Anfang an angebrachten Kerosinpumpen-Batteriekastens betreiben. Dann wird der Relaisschalter vom Raspberry Pi aus gesteuert. Um die Steuerung des GPIO von Raspberry Pi durch Python zu ermöglichen, habe ich auf den folgenden Artikel verwiesen. [Blinkende LED mit GPIO (Python)](http://make.bcde.jp/raspberry-pi/gpio%E3%81%A7led%E3%81%AE%E7%82%B9%E6%BB%85python /)

Python-Code

Messen Sie den Wassergehalt im Boden alle 5 Minuten und lassen Sie die Kerosinpumpe 30 Sekunden lang laufen, wenn sie unter den Schwellenwert fällt. Wenn der Wassertank leer ist, wird die Wassermenge auch bei Betrieb der Kerosinpumpe nicht wiederhergestellt. Nach 5 Minuten wird versucht zu wässern, wodurch die Batterie der Kerosinpumpe verschwendet wird. Sobald ich es gieße, versuche ich es eine Weile nicht zu gießen.

water.py


import spidev
import time
import datetime
import subprocess
import RPi.GPIO as GPIO

wet_low = 450
water_check_enable = True
water_wait_count = 0
check_reset = 10


def write_log(log_text):
	f = open("/var/log/water","a")
	d = datetime.datetime.today()
	f.write (d.strftime("%Y-%m-%d %H:%M:%S" + "," + log_text + "\n" ))
	#print log_text
	f.close()

def read_wet_level():
	spi=spidev.SpiDev()
	spi.open(0,0)
        resp=spi.xfer2([0x68,0x00])
        value=(resp[0] * 256 + resp[1]) & 0x3ff
        write_log("wet_level:" + str(value))
        spi.close()
        return value

def water():
	write_log("***** water start *****")

	GPIO.setmode(GPIO.BOARD)
	GPIO.setup(16,GPIO.OUT)
	GPIO.output(16,True)
	time.sleep(30)
	GPIO.output(16,False)
	GPIO.cleanup()

	write_log("***** water end *****")

while True:
	wet_level =read_wet_level()

	if water_check_enable == False:
		water_wait_count += 1
		if water_wait_count > check_reset:
			water_check_enable = True
			water_wait_count = 0

	if wet_level < wet_low and water_check_enable == True:
		water_check_enable = False
  		water()
	time.sleep(300)
	

Recommended Posts

Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
Ich habe versucht, mit Raspberry Pi 4 eine Umgebung von Ubuntu 20.04 LTS + ROS2 zu erstellen
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe versucht, mit TensorFlow den Durchschnitt mehrerer Spalten zu ermitteln
Ich habe versucht, Movidius NCS mit Python von Raspberry Pi3 auszuführen
Ich habe versucht, [eine bestimmte Aufgabe] mit einem Raspeltorte zu automatisieren
Ich habe die Daten von Raspberry Pi an GCP gesendet (kostenlos)
Als ich versuchte, eine Socket-Kommunikation mit Raspberry Pi durchzuführen, war das Protokoll anders
Ich habe versucht, das Artikel-Update des Livedoor-Blogs mit Python und Selen zu automatisieren.
Ich habe versucht, das Umfangsverhältnis π probabilistisch abzuschätzen
Ich habe versucht, die Größe des logischen Volumes mit LVM zu erweitern
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
Ich wollte den Motor mit einer Raspeltorte laufen lassen, also habe ich versucht, das Motor Driver Board von Waveshare zu verwenden
Ich habe versucht, die Daten mit Zwietracht zu speichern
Ich habe versucht, das Umfangsverhältnis mit 100 Millionen Stellen zu ermitteln
Ich habe L-Chika mit Razpai 4 (Python Edition) ausprobiert.
Ich habe versucht, die Trapezform des Bildes zu korrigieren
Ich habe versucht, die Herstellung von Sushi mit Python zu automatisieren
Ich habe versucht, die Texte von Hinatazaka 46 zu vektorisieren!
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
Ich habe versucht, mit Raspeye 4 (Python Edition) ein signalähnliches Signal zu erzeugen.
Ich habe versucht, die Bewegungen von Wiire-Playern automatisch mit Software zu extrahieren
Ich habe versucht, die Negativität von Nono Morikubo zu analysieren. [Vergleiche mit Posipa]
Ich habe versucht, die Standardrolle neuer Mitarbeiter mit Python zu optimieren
Ich habe versucht, den Text des Romans "Wetterkind" mit Word Cloud zu visualisieren
Ich habe versucht, die Filminformationen der TMDb-API mit Python abzurufen
Ich habe versucht, das Verhalten des neuen Koronavirus mit dem SEIR-Modell vorherzusagen.
Ich habe versucht, die Sündenfunktion mit Chainer zu trainieren
Ich habe versucht, Funktionen mit SIFT von OpenCV zu extrahieren
Ich habe versucht, die Grundform von GPLVM zusammenzufassen
Stellen wir uns den Raum mit Raspeltorte vor, Teil 1
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Ich habe die Beleuchtungsstärke des Raumes mit Raspberry Pi, Arduino und einem optischen Sensor getwittert
Ich habe versucht, Soma Cube mit Python zu lösen
Ich habe mit Raspberry Pi gesprochen
Nehmen Sie den Wert des SwitchBot-Thermo-Hygrometers mit Raspberry Pi
Umschalten der Bot-Thermo-Hygrometer-Werte mit Raspberry Pi
Ich habe versucht, die Tweets von JAWS DAYS 2017 mit Python + ELK einfach zu visualisieren
Ich habe versucht, die 100-Yen-Lagerstätte von Rakuten-Pferderennen (Python / Selen) zu automatisieren.
Ich habe versucht, die Spacha-Informationen von VTuber zu visualisieren
Ich habe versucht, den negativen Teil von Meros zu löschen
Ich habe versucht, das Problem mit Python Vol.1 zu lösen
Ich habe versucht, mit Raspeye + Tact Switch eine Schaltfläche für Slack zu erstellen
Ich habe versucht, die Gesichtsverdeckungsarbeit des Koordinationsbildes für das Tragen zu automatisieren
Die Geschichte von soracom_exporter (Ich habe versucht, SORACOM Air mit Prometheus zu überwachen)
Ich habe ein npm-Paket erstellt, um die ID der IC-Karte mit Raspberry Pi und PaSoRi zu erhalten
Ich habe versucht, die Stimmen der Sprecher zu klassifizieren
Ich habe versucht, ein Modell mit dem Beispiel von Amazon SageMaker Autopilot zu erstellen
Ich habe versucht, die Literatur des neuen Corona-Virus mit Python automatisch an LINE zu senden
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Ich habe versucht, mit dem Seq2Seq-Modell von TensorFlow so etwas wie einen Chatbot zu erstellen
Ich habe versucht, die Eigenschaften der neuen Informationen über mit dem Corona-Virus infizierte Personen mit Wordcloud zu visualisieren
Ich habe versucht, die Laufdaten des Rennspiels (Assetto Corsa) mit Plotly zu visualisieren
Ich habe versucht, die Verarbeitungsgeschwindigkeit mit dplyr von R und pandas von Python zu vergleichen
Beim 15. Offline-Echtzeitversuch habe ich versucht, das Problem des Schreibens mit Python zu lösen
Ich möchte über die Verbindungsumgebung benachrichtigt werden, wenn RaspberryPi eine Verbindung zum Netzwerk herstellt