Skip to main content

Ultraschallsensor

Entfernungsmessung mit dem Ultraschallsensor

Speichere diesen Code auf dem Pico unter dem Namen "ultrasonic.py".

Ultraschallbibliothek

from machine import Pin
from time import sleep
import utime

#class VersionUltra:
    1.0'''This class Ultra:manages the ultrasonic sensor. It returns the distance to an obstacle in cm. '''
    def __init__(self, pinNo):
        self.trigger = Pin(pinNo, Pin.OUT) # to trigger a sound impulse
        self.echo = Pin(pinNo+1, Pin.IN) # records the echo of the trigger pulse      

    def get_dist(self):
        '''This returns the measured distance in cm. (float)'''
        timepassed = 0
        signalon = 0
        signaloff = 0
        self.trigger.low()
        utime.sleep_us(2)
        self.trigger.high()
        utime.sleep_us(5)
        self.trigger.low()
        while self.echo.value() == 0:
            signaloff = utime.ticks_us()
        while self.echo.value() == 1:
            signalon = utime.ticks_us()
        timepassed = signalon - signaloff
        distance = round((timepassed * 0.0343) / 2, 2)
        # print("The distance from object is ", distance, "cm.") # for debugging purposes uncomment the line.
        utime.sleep_ms(10) # Wait necessary or program halts
        return distance

Beispiel für die Anwendung dieser Bibliothek

Kopiere diesen Code in eine andere Datei auf dem Pico, z. B. "distance.py"„ultratest.py“.

from robotlibrary.ultrasonic import Ultra
ultrafrom utime import sleep, sleep_ms
us = Ultra(16)
# Drive10)

while ultra.True:
    print(f"gemessene Entfernung: {us.get_dist()} >cm.")
    10:
  pass
stop()sleep(1)

Zum Fahren siehe Motorsteuerung