Sump pump vattennivå: hårdvara (8 / 10 steg)
Steg 8: Koden
Kod:
#! / usr/bin/python # Import krävs Python bibliotek # Använd BCM GPIO referenser # Definiera GPIO att använda på Pi # Du behöver ändra variabeln "kompensation" utifrån avståndet från kanten av gropen till sensorn skriva ut "Ultrasonic mätning" # Ställ in stift som output och input # Ställ in avtryckaren till False (låg) # Låt modul att bosätta sig # Skicka 10us puls att utlösa medan GPIO.input (GPIO_ECHO) == 1: # Beräkna puls längd # Avstånd puls reste genom att tid är tid # Det var avståndet dit och tillbaka så halvera värdet skriva ut "avstånd: %.1f" % avståndet # Återställa inställningarna för GPIO
#+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
#| R|a|s|p|b|e|r|r|y| P|i|-| S|p|y|. | c|o|. | u|k|
#+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
#
# ultrasonic_1.py
# Mäta avstånd med hjälp av ett ultraljud modul
#
# Författare: Matt Hawkins
# Datum: 09/01/2013
Importera tid
importera RPi.GPIO som GPIO
# i stället för fysiska pin-koder
GPIO.setmode (GPIO. BCM)
GPIO_TRIGGER = 11
GPIO_ECHO = 9
ersättning = -11
GPIO.setup (GPIO_TRIGGER, GPIO. OUT) # Trigger
GPIO.setup (GPIO_ECHO, GPIO. I) # Echo
GPIO.output (GPIO_TRIGGER, falskt)
Time.Sleep(0.5)
GPIO.output (GPIO_TRIGGER, sant)
Time.Sleep(0.00001)
GPIO.output (GPIO_TRIGGER, falskt)
Start = time.time()
medan GPIO.input (GPIO_ECHO) == 0:
Start = time.time()
stoppa = time.time()
förflutit = stopp-start
# multiplicerat med som rusas av solitt (cm/s)
avståndet = förfluten * 34000
avståndet = avstånd / 2
avståndet = avstånd + ersättning
GPIO.cleanup()
Obs: Du måste ändra variabeln "kompensation" utifrån avståndet från kanten av gropen till sensorn
Anmärkning 2: Avståndet är i cm.
Tacka till Matt Hawkins för denna kod