.. note:: Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten. **Warum beitreten?** - **Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams. - **Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern. - **Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken. - **Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte. - **Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil. 👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [|link_sf_facebook|] und treten Sie heute bei! .. _2.2.8_py: 2.2.8 Ultraschallsensor-Modul ============================== Einführung -------------- Der Ultraschallsensor verwendet Ultraschall, um Objekte präzise zu erkennen und Entfernungen zu messen. Er sendet Ultraschallwellen aus und wandelt sie in elektronische Signale um. Benötigte Komponenten ------------------------------ Für dieses Projekt benötigen wir die folgenden Komponenten. .. image:: ../img/list_2.2.5.png Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Name - ARTIKEL IN DIESEM KIT - LINK * - Raphael Kit - 337 - |link_Raphael_kit| Sie können diese auch separat über die untenstehenden Links kaufen. .. list-table:: :widths: 30 20 :header-rows: 1 * - KOMPONENTENBESCHREIBUNG - KAUF-LINK * - :ref:`cpn_gpio_board` - |link_gpio_board_buy| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_ultrasonic_sensor` - |link_ultrasonic_buy| Schaltplan ----------------- .. image:: ../img/image329.png Experimentelle Verfahren --------------------------- **Schritt 1:** Bauen Sie den Schaltkreis. .. image:: ../img/image220.png **Schritt 2:** Navigieren Sie zum Ordner des Codes. .. raw:: html .. code-block:: cd ~/raphael-kit/python/ **Schritt 3:** Führen Sie die ausführbare Datei aus. .. raw:: html .. code-block:: sudo python3 2.2.8_Ultrasonic.py Nachdem der Code ausgeführt wurde, erkennt das Ultraschallsensor-Modul den Abstand zwischen dem vorausliegenden Hindernis und dem Modul selbst, dann wird der Abstandswert auf dem Bildschirm angezeigt. **Code** .. note:: Sie können den untenstehenden Code **Ändern/Zurücksetzen/Kopieren/Ausführen/Stoppen**. Bevor Sie das tun, müssen Sie jedoch zum Quellcodepfad wie ``raphael-kit/python`` navigieren. Nachdem Sie den Code geändert haben, können Sie ihn direkt ausführen, um das Ergebnis zu sehen. .. raw:: html .. code-block:: python import RPi.GPIO as GPIO import time TRIG = 16 ECHO = 18 def setup(): GPIO.setmode(GPIO.BOARD) GPIO.setup(TRIG, GPIO.OUT) GPIO.setup(ECHO, GPIO.IN) def distance(): GPIO.output(TRIG, 0) time.sleep(0.000002) GPIO.output(TRIG, 1) time.sleep(0.00001) GPIO.output(TRIG, 0) while GPIO.input(ECHO) == 0: a = 0 time1 = time.time() while GPIO.input(ECHO) == 1: a = 1 time2 = time.time() during = time2 - time1 return during * 340 / 2 * 100 def loop(): while True: dis = distance() print ('Distance: %.2f' % dis ) time.sleep(0.3) def destroy(): GPIO.cleanup() if __name__ == "__main__": setup() try: loop() except KeyboardInterrupt: destroy() **Code-Erklärung** .. code-block:: python def distance(): Diese Funktion wird verwendet, um die Funktion des Ultraschallsensors durch Berechnung der zurückgegebenen Erkennungsentfernung zu realisieren. .. code-block:: python GPIO.output(TRIG, 1) time.sleep(0.00001) GPIO.output(TRIG, 0) Hier wird ein 10µs Ultraschall-Impuls ausgesendet. .. code-block:: python while GPIO.input(ECHO) == 0: a = 0 time1 = time.time() Diese leere Schleife stellt sicher, dass beim Senden des Auslösesignals kein störendes Echo-Signal vorhanden ist und erfasst dann die aktuelle Zeit. .. code-block:: python while GPIO.input(ECHO) == 1: a = 1 time2 = time.time() Diese leere Schleife stellt sicher, dass der nächste Schritt nicht ausgeführt wird, bis das Echo-Signal empfangen wird, und erfasst dann die aktuelle Zeit. .. code-block:: python during = time2 - time1 Führen Sie die Intervallberechnung aus. .. code-block:: python return during * 340 / 2 * 100 Die Entfernung wird anhand des Zeitintervalls und der Schallgeschwindigkeit berechnet. Die Schallgeschwindigkeit in der Luft beträgt: 340m/s. Phänomen-Bild ------------------ .. image:: ../img/image221.jpeg