Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Bibliotheken einbinden
- import RPi.GPIO as GPIO
- import time
- #GPIO Modus (BOARD / BCM)
- GPIO.setmode(GPIO.BOARD)
- GPIO.setwarnings(False)
- #GPIO Pins zuweisen
- GPIO_TRIGGER = 16
- GPIO_ECHO = 18
- #Richtung der GPIO-Pins festlegen (IN / OUT)
- GPIO.setup(GPIO_TRIGGER, GPIO.OUT)
- GPIO.setup(GPIO_ECHO, GPIO.IN)
- def distanz():
- # setze Trigger auf HIGH
- GPIO.output(GPIO_TRIGGER, True)
- # setze Trigger nach 0.01ms aus LOW
- time.sleep(0.00001)
- GPIO.output(GPIO_TRIGGER, False)
- StartZeit = time.time()
- StopZeit = time.time()
- # speichere Startzeit
- while GPIO.input(GPIO_ECHO) == 0:
- StartZeit = time.time()
- # speichere Ankunftszeit
- while GPIO.input(GPIO_ECHO) == 1:
- StopZeit = time.time()
- # Zeit Differenz zwischen Start und Ankunft
- TimeElapsed = StopZeit - StartZeit
- # mit der Schallgeschwindigkeit (34300 cm/s) multiplizieren
- # und durch 2 teilen, da hin und zurueck
- distanz = (TimeElapsed * 34300) / 2
- return distanz
- if __name__ == '__main__':
- try:
- file_out = open("Testdatei.txt","w")
- while True:
- abstand = distanz()
- print ("Gemessene Entfernung = %.1f cm" % abstand)
- file_out.write("%.1f" % abstand)
- time.sleep(5)
- # Beim Abbruch durch STRG+C resetten
- except KeyboardInterrupt:
- print("Messung vom User gestoppt")
- GPIO.cleanup()
- file_out.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement