Raspberry Pi Pico – HCRS04

Der HCRS04 ist ein beliebter Ultraschall Sensor für die Kollisions Vermeidung von selbstfahrenden Roboter-Fahrzeugen. Um ihn mit einem Raspberry Pi einsetzen zu können, muss über zwei Widerstände die Spannung des Echo Signals verringert werden.

Der Artikel auf Raspberry Pi Tutorials diente meinem Aufbau mit dem Pico als Grundlage für die Schaltung. Den Quelltext des Artikels bei Toms Hardware: “How to Use an Ultrasonic Sensor with Raspberry Pi Pico” habe ich so angepasst, dass die Distanz zu einem Objekt von vorne und von hinten alle 0,5 Sekunden gemessen wird:

import utime
from machine import Pin

def ultra(trigger_pin, echo_pin, dest):
    trigger = Pin(trigger_pin, Pin.OUT)
    echo = Pin(echo_pin, Pin.IN)
    trigger.low()
    utime.sleep_us(2)
    trigger.high()
    utime.sleep_us(5)
    trigger.low()

    print("Estimating distance")

    while echo.value() == 0:
        signaloff = utime.ticks_us()

    while echo.value() == 1:
        signalon = utime.ticks_us()

    timepassed = signalon - signaloff
    distance = (timepassed * 0.0343) / 2

    print("The distance from object "+ dest +" is ",distance,"cm")

while True:
    ultra(3, 2, "front")
    utime.sleep(0.5)
    ultra(20, 21, "rear")
    utime.sleep(0.5)

Nach dem Start des Python Scripts wird die Entfernung auf der Konsole ausgegeben:

Nun muss diese Entfernung noch an den Raspberry Zero übertragen werden.

Unter den Ergebnissen der Messungen befinden sich immer wieder mal ein paar Ausreißer: 1217.187 cm. So groß ist mein Zimmer leider nicht.

Den HCR-S04 gibt es im übrigen zur Zeit wieder bei BerryBase.

Diese Seite verwendet Cookies, um die Nutzerfreundlichkeit zu verbessern. Mit der weiteren Verwendung stimmen Sie dem zu.

Datenschutzerklärung