
Pi Pico Entfernungsmesser mit OLED-Display: Schritt für Schritt erklärt
Dev. Boards, Display
In diesem Beitrag lernst du, einfach ein Raspberry Pi Pico Entfernungsmesser mit OLED-Display zu bauen.
Entfernungsmesser stellen ein vielseitiges Instrument dar. Kein Wunder, dass sie nicht nur in den unterschiedlichsten Industriezweigen, sondern auch im Bereich Logistik und im Verkehrswesen zum Einsatz kommen. Die Sensoren dienen unter anderem der Positionierung und Geschwindigkeitsregulierung und sind als technologisches Hilfsmittel nicht mehr wegzudenken. Autonom fahrende Transportmittel können beispielsweise mithilfe von Entfernungsmessern problemlos Hindernisse erkennen und dadurch effektiv Kollisionen verhindern. Zudem können Füllstände kontrolliert und Stapelhöhen gemessen werden. Dabei gibt es ganz unterschiedliche Technologien, die je nach Anwendungsgebiet präferiert werden: Neben Abstandsmessern mit Infrarot und LED-Laufzeit-Distanzsensoren gibt es etwa auch Entfernungsmesser mit Ultraschallsensor. Mithilfe deines Raspberry Pi Pico kannst du dir ein solches Messinstrument in wenigen Schritten selbst konstruieren. Im folgenden Tutorial zeigen wir dir, wie es geht.
Das brauchst du für dein Vorhaben
- Raspberry Pi Pico
- HC-SR04 Ultraschall Sensor
- 128×64 OLED Display, SH1106
- Stiftleisten
- Breadboard
- USB 2.0 Hi-Speed Kabel
- Jumper / Dupont Kabel Male – Male trennbar
- Lötstation
- Thonny IDE
Schritt-für-Schritt-Anleitung: So baust du dir deinen Pi Pico Entfernungsmesser mit OLED
- Im ersten Schritt installierst du die Entwicklungsumgebung Thonny IDE. Den Link zum Download findest du hier.
- Anschließend verbindest du die Stiftleisten mit dem Breadboard durch Löten. Die folgende Abbildung soll dir als Hilfestellung dienen:

- Als nächstes gilt es, für eine korrekte Schaltung zu sorgen. Verbinde die verschiedenen Komponenten so, wie auf der folgenden Abbildung dargestellt:

- Nun installierst du die Pimoroni MicroPython-Firmware, indem du auf diesen Link klickst. Halte die BOOTSEL-Taste gedrückt und schließe gleichzeitig das andere Ende des Micro-USB-Kabels an den Rechner an. Danach legst du die Firmware in dem Ordner „RPI-RP2“ ab.

- Starte jetzt Thonny IDE und lade die beiden Code Dateien unter folgendem Link als Zip Datei herunter. Entpacke das Archiv. Im Anschluss öffnest du die Dateien und speicherst beide auf dem „Pico-board“.

- Zu guter Letzt lässt du noch den Code main.py ausführen. Das war’s auch schon – dein Entfernungsmesser ist nun einsatzbereit!
Falls du noch mehr Interesse an Raspberry Pi Content hast, schau einfach hier vorbei.
Kommentare
Hinterlasse ein Kommentar
Hallo Younes,
ich bekomme leider das OLED Display nicht auf meinem PicoW zum Laufen :-(.
Hier mein “System”:
MicroPython v1.20.0 on 2023-04-26; Raspberry Pi Pico W with RP2040
Type “help()” for more information.
Und das ist die Fehlermeldung in Thonny:
I2C Address : 0X3C
I2C Configuration: I2C(0, freq=399361, scl=1, sda=0, timeout=50000)
Traceback (most recent call last):
File “”, line 16, in
File “/lib/sh1106.py”, line 101, in __init__
File “/lib/sh1106.py”, line 39, in __init__
File “/lib/sh1106.py”, line 44, in init_display
File “/lib/sh1106.py”, line 51, in poweron
File “/lib/sh1106.py”, line 106, in write_cmd
OSError: [Errno 5] EIO
Was soll ich ändern?
Danke und liebe Grüße Jürgen
Hi,
Danke für das Tutorial. Siehe unten für Korrektur mit Spannungsteiler.
@Christin: Die beiden erwähnten Widerstände teilen die Spannungspegel herunter, da der Raspberry Pi Pico nur 3,3V Pegel, aber keine 5V Pegel kommend vom HC-SR04 Ultraschall Sensor toleriert. Siehe Datenblatt Seite 4: https://datasheets.raspberrypi.com/pico/pico-datasheet.pdf
Der Widerstandsteiler ist notwendig und funktioniert auch mit 4,7k und 4,7k nach GND sehr gut.
Mit den folgenden Änderungen funktioniert das Skript auch mit den SSD1306-basierten OLED Displays wie beispielsweise den bekannten “0.96 inch Displays”.
Frohes Schaffen,
MeMupp
Änderungen zum Betrieb mit SSD1306-OLED Display:
* Die Datei ssd1306.py hier herunterladen: https://www.instructables.com/SSD1306-With-Raspberry-Pi-Pico/
* Die folgenden Änderungen in der Datei main.py (aus der oben angegebenen ZIP Datei) durchführen:
* Ersetze “from sh1106 import SH1106_I2C”
durch “from ssd1306 import SSD1306_I2C”
* Ersetze “oled = SH1106_I2C(WIDTH, HEIGHT, i2c)”
durch “oled = SSD1306_I2C(WIDTH, HEIGHT, i2c)”
Hallihallöchen,
warum braucht man in jedem Tutorial mit dem HC-SR04 und einem Raspberry immer auch zwei Widerstände (330 und 470 Ohm), nur beim Pico offenbar nicht…???
LG Christin