Die Marke ArduCAM verkauft auch ein Kameramodul für den Raspberry Pi, das einige von Ihnen vielleicht schon verwendet haben.
Diesmal handelt es sich um das gleiche Kameramodul, aber mit einer etwas speziellen Kamera namens ToF, die, einfach gesagt, eine Kamera ist, die die Tiefe des fotografierten Objekts erkennen kann.

Das Foto zeigt das PL-R5 BASE BOARD für den industriellen Raspberry Pi (CM5). Handelsübliche Raspberry Pi können auch mit einem FPC-Kabel angeschlossen werden.
Der Unterschied zu einem normalen Kameramodul besteht darin, dass die Kamera selbst auch eine Stromversorgung benötigt. Schließen Sie sie also an den GPIO-Pin an, um Strom zu erhalten.
Unterschied zwischen ToF und LiDAR
Ähnlich wie die ToF-Kamera ist LiDAR.
Es ist schwierig, zwischen den beiden zu unterscheiden, da beide die Reflexion von Laserlicht nutzen.
In manchen Fällen machen sie keinen großen Unterschied, aber aufgrund ihrer unterschiedlichen Eigenschaften hat jedes seine eigene geeignete Umgebung.
Generell gilt, dass ToF eher für kleinere Standorte ausgewählt wird, während LiDAR eher für größere Standorte ausgewählt wird.
Je nachdem, wie es verwendet wird, kann es jedoch an beides angepasst werden.
Zum Beispiel gibt es je nach Leistung Zwischenkategorien von LiDAR. Je nach Produkt gibt es Fälle, in denen „LiDAR in kleinem Maßstab anpassbar ist“ oder „großer Maßstab mit ToF ausreichend ist“.
Die endgültige Entscheidung wird von verschiedenen Umgebungsbedingungen abhängen, z. B. von der Reichweite und der Genauigkeit, die Sie erreichen möchten, sowie von den Kosten für Installation und Betrieb.
| Vergleichsartikel | Kleine Standorte (ToFs sind gut geeignet) | Großflächige Standorte (LiDAR ist gut geeignet) |
|---|---|---|
| Entfernung Bereich | Innerhalb von einigen Zentimetern bis zu mehreren zehn Metern | Mehrere Dutzend Meter bis mehr als mehrere hundert Meter |
| Erforderliche Genauigkeit | Mehrere Zentimeter bis zu mehreren zehn Zentimetern | cm Bestellung mit hoher Präzision |
| Datenanfrage | Ein-Punkt-Entfernungsmessung, Tiefenkarte mit niedriger bis mittlerer Auflösung | Hochdichte 3D-Punktwolke, großflächige Kartierung |
| Haupteinschränkungen | Niedrige Kosten, geringer Stromverbrauch, geringe Größe, einfache Installation | Einbauraum, Stromversorgungskapazität, Laserschutzmaßnahmen, Wartungsfreundlichkeit |
| Installationskosten | Vergleichsweise niedrig | Vergleichsweise hoch |
| Ausrüstung Größe | Leicht zu miniaturisieren | Neigen dazu, groß zu sein |
| bevorzugte Umgebung | Innenbereich, kurze Reichweite, eingebettete Anwendungen | Im Freien, große Fläche, große Höhe, großer Raum |
| Typische Anwendungen | Annäherungserkennung, Hindernisvermeidung im Nahbereich, Gestenerkennung, Regalverwaltung, eingebettete Sensoren | Automatisiertes Fahren, topografische Vermessung, Außenüberwachung, Gesamtkartierung von Lagerhäusern |
| Kompatibilität mit Raspberry Pi | gut | Gut je nach Anwendung (teuer und anfällig für hohe Belastung) |
| Die Achse der Entscheidungsfindung, die sich für | Ich möchte einfach Abstand gewinnen. | Ich möchte eine große Fläche mit einer hochpräzisen 3D-Messung messen. |
ArduCAM ToF-Kamera“ Produktspezifikationen
Hier sind die Details der ArduCamToF Kamera.
Die Verbindung ist einfach mit dem Kameramodulanschluss des Raspberry Pi und sie ist kompatibel mit V4L2-basierten Videokernelgeräten, so dass Sie sie sofort ausprobieren können.

| (Daten) Element | Inhalt |
|---|---|
| Produktübersicht | ToF-Methode Tiefenkamera-Modul |
| Hauptmerkmale | Ausgabe von Punktwolken (Point Cloud) und Tiefenkarten in Echtzeit |
| Anzahl der effektiven Pixel | 240 × 180 |
| Sensorgröße | 1/6 Zoll. |
| Auflösung / FPS auf Raspberry Pi | 240 × 180 @ 30fps |
| Maximale Bildrate des Sensors | 120fps |
| Maximale Tiefenbildrate (Raspberry Pi) | 30fps (4-Phasen) |
| Maximale Tiefenbildrate (NVIDIA Jetson) | 30fps (4-Phasen) |
| Entfernung messen | Fern-Modus: 4m / Nah-Modus: 2m |
| Modulationsfrequenz | 75MHz / 37,5MHz |
| Betrachtungswinkel | Diagonaler Winkel 70°. |
| Lichtquelle | Eingebauter 940nm VCSEL-Laser |
| Für drinnen und draußen | Ja (keine externe Beleuchtung erforderlich) |
| Schnittstelle | MIPI (2-Spur) |
| Ausgabeformat | 4-Phasen-RAW / Tiefenbild / Graustufen-Amplitudenbild |
| Linux-Unterstützung | V4L2-basiertes Video-Kernelgerät |
| SDK | C / C++ / Python |
| ROS-Unterstützung | bereits unterstützt |
| Unterstützte OS | Raspberry Pi OS Bookworm / Bullseye (32bit / 64bit) ab 2022/01/28 |
| Unterstützte Hardware | Raspberry Pi 5 / 4 / 2 / 3 / CM3 / CM4 / Zero W / Zero 2 W / NVIDIA Jetson |
| Stromverbrauch (TDP) | 3.5W |
| Empfohlene Stromversorgung | 5V / 4A oder mehr |
| Substrat Größe | 38mm x 38mm |
Die Umwelt dieser Zeit
- Industrieller Raspberry Pi (CM5) PL-R5 BASE BOARD
- ArduCAM ToF-Kamera (Stromversorgung erforderlich)
- Raspberry Pi OS Trixie
– Modell: Raspberry Pi Compute Module 5 Rev 1.0
– Betriebssystem: Debian GNU/Linux 13 (trixie)
– Kernel: 6.12.54-v8-16k+
– Python3.13
Hinweis: Wir haben es mit der neuesten Version von Trixie versucht, aber derzeit funktionieren die früheren Versionen von Bookworm oder Bullseye stabiler.
Zu Config.txt hinzufügen
Sie müssen eine Beschreibung des Kameramoduls in config.txt hinzufügen. Sie ist bei einem Neustart gültig.
sudo nano /boot/firmfare/config.txt
dtoverlay=arducam-pivariety,cam0
Ausprobierte Beispielprogramme (C/C++)
./Install_dependencies.sherfordert Treiber, Abhängigkeiten, SDK und OpenCV.
Die Beispielanwendung kann durch Git-Klonen und Ausführen der Shell-Skripte für Installation und Build gestartet werden.
Die C/C++-Beispielprogramme werden so funktionieren, wie sie sind, weil wir die gemeinsamen Bibliotheken libArducamDepthCamera.so und libArducamDepthCamera4C.so gefunden haben, die die C/C++-Beispielprogramme verwenden.
In dieser Trixie-Umgebung erforderten das Python-Beispielprogramm und die C++-Punktwolke zusätzliche Unterstützung und Codeänderungen.
github: https://github.com/ArduCAM/Arducam_tof_camera/
SDK: https://docs.arducam.com/Raspberry-Pi-Camera/Tof-camera/Arducam-ToF- Kamera-SDK/
git clone https://github.com/ArduCAM/Arducam_tof_camera.git
cd Arducam_tof_camera
./Install_dependencies.sh
./compile.sh
Die Beispielprogramme (C/C++) können einzeln ausgeführt werden, aber der Befehl zur Ausführung aller drei Programme erschien im Terminal nach ./compile.sh.
/home/$USER/Arducam_tof_camera/build/example/cpp/example
Einzelne Fälle:
cd build/example/cpp
./preview_depth
# or
./capture_raw
Ausgeführter Bildschirm
Bei der Ausführung erscheinen drei Fenster auf dem Bildschirm.

Wenn Sie Ihre Hand vor die Kamera halten, können Sie den Unterschied in der Tiefe anhand der Farbe erkennen.

Python-Beispielprogramme müssen unterstützt werden
Das Python-Beispielprogramm (preview_depth.py) funktionierte in dieser Umgebung nicht wie vorgesehen.
Fehler:
ModuleNotFoundError: No module named 'ArducamDepthCamera'
# or
ModuleNotFoundError: No module named 'cv2'
Das Python-Beispiel import ArducamDepthCamera erfordert ein Erweiterungsmodul, das für Python erstellt wurde.
Das Raspberry Pi OS Trixie mit Python 3.13 stellt dieses Modul für Python nicht zur Verfügung bzw. installiert es nicht. ModuleNotFoundError Das liegt daran, dass das Modul für dieses Python nicht zur Verfügung gestellt bzw. nicht installiert wird.
Ich habe das Python-Paket arducamdepthcamera in der PyPI überprüft und gefunden. Die neueste Version (Stand März 2026) ist 0.1.24 (https://pypi.org/project/arducamdepthcamera/).
Selbst mit Python 3.13 konnte ich Python-Bindungen zusammen mit der apt-Version von OpenCV und der pip-Version von ArduCAM verwenden, indem ich mit --system-site-packages eine virtuelle Umgebung erstellte.
Da die pip-Version von opencv-python auf dem Raspberry Pi schwerfällig und instabil sein kann, habe ich die apt-Version des Systems in einer virtuellen Umgebung verwendet.
pip install --upgrade pip
python3 -m venv --system-site-packages ~/venv-arducam # Create only once (initial setup)
source ~/venv-arducam/bin/activate # Run every time, or add an alias to .bashrc
pip install arducamdepthcamera # Install only once
Ich werde das überprüfen.
python3 -c "import numpy; print(numpy.__version__, numpy.__file__)"
python3 -c "import cv2; print(cv2.__version__)"
python3 -c "import ArducamDepthCamera as ac; print(ac)"
Daher verwendet numpy innerhalb von venv, cv2 verwendet 4.10.0 und systemseitig, und die letzte ArducamDepthCamera verwendet ebenfalls innerhalb von venv.
1.26.4 /home/pi/venv-arducam/lib/python3.13/site-packages/numpy/__init__.py
4.10.0
<module 'ArducamDepthCamera' from '/home/pi/venv-arducam/lib/python3.13/site-packages/ArducamDepthCamera/__init__.py'>
Starten Sie ein Python-Beispielprogramm
Nach dem Neuaufbau habe ich das Python-Beispielprogramm ausgeführt und es wurde erfolgreich gestartet.
python3 ~/Arducam_tof_camera/example/python/preview_depth.py

arducamdepthcamera wurde in einer virtuellen Umgebung installiert und muss aktiviert werden, bevor das Python-Beispiel ausgeführt werden kann.
source ~/venv-arducam/bin/activate
Wenn Sie es nicht in diesem Zustand ausführen, wird Python auf der Systemseite nicht gefunden ArducamDepthCamera und es wird wieder ModuleNotFoundError.
Punktwolke
Der Punktwolken-Beispielcode für ArduCAM konnte nicht so gebaut werden, wie er ist, ebenso wenig wie Python.
Bei der Untersuchung stellten wir fest, dass sich die Open3D-API-Spezifikation im Raspberry Pi OS Trixie geändert hatte, und das Problem wurde gelöst, indem die Beschreibung auf der Beispielcodeseite an das aktuelle Open3D angepasst wurde.
Punkt(e), die korrigiert werden müssen
In der case-Anweisung in Zeile 159~ von ~/Arducam_tof_camera/open3d_preview/preview_pointcloud.cpp, wo der Fehler auftrat, mussten die sechs Zeilen ab Zeile 160 ersetzt werden.
case 's': {
open3d::io::WritePointCloudToPCD( //
"pointcloud.pcd", pcd,
{
open3d::io::WritePointCloudOption::IsAscii::Ascii,
open3d::io::WritePointCloudOption::Compressed::Uncompressed,
});
} break;
case 's': {
open3d::io::WritePointCloudOption option(
"pcd",
true, // write_ascii
false, // compressed
false // print_progress
);
open3d::io::WritePointCloudToPCD(
"pointcloud.pcd",
pcd,
option);
} break;
Bauen Sie neu.
./compile_pointcloud.sh
Dieses Mal war der Build erfolgreich./home/$USER/Arducam_tof_camera/build/open3d_preview/preview_pointcloudIm Folgenden finden Sie ein Beispiel für ein Programm, das mit dem
[ 50%] Building CXX object open3d_preview/CMakeFiles/preview_pointcloud.dir/preview_pointcloud.cpp.o
[100%] Linking CXX executable preview_pointcloud
[100%] Built target preview_pointcloud
== Build success
== Run /home/pi/Arducam_tof_camera/build/open3d_preview/preview_pointcloud

Bild mit Tiefe
Im Bild „Tiefe“ wird die Entfernung zum Objekt durch eine Farbe dargestellt.
Die Schieberegler für den Mindest- und den Maximalbereich erlauben eine Anpassung.
Der Standardwert für den Maximalbereich ist 4.000/6.000.

Wenn wir die drei nebeneinander liegenden Bilder (1.378, 2.082 bzw. 4.000) vergleichen, sehen wir, dass der höhere Maximalwert mehr rötliche Töne aufweist, während der niedrigere Wert mehr schwarze und blaue Töne enthält.
Wenn Sie die Hand vor das Auge halten, ist die Entfernungsperspektive bei einer maximalen Reichweite von 4.000 nicht mehr so deutlich, aber bei einer maximalen Reichweite von etwa 1.378 ist der Farbunterschied zwischen Vorder- und Rückseite deutlich sichtbar. So einfach ist es, die Perspektive zu erkennen.
Passen Sie die Einstellungen an, je nachdem, was Sie erreichen möchten.
Sehen Sie sich das Video des Schiebereglers in Aktion an.
Können Sie auch den Farbwechsel in dem Video sehen, wenn sich die Hand näher und weiter entfernt?
Industrielle Anwendungen von ToF-Kameras
ToF-Kameras ermöglichen Tiefenmessungen mit geringem Stromverbrauch und in Echtzeit im nahen bis mittleren Bereich.
In der Industrie eignet es sich für „Standorte, an denen Sie auf einfache Weise 3D-Informationen erhalten möchten“.
Zum Beispiel können die folgenden Fälle angenommen werden
- Bestimmung von Objekten (Anwesenheit oder Abwesenheit und Position) in Förderlinien (Förderbänder)
- Einfache Objekt-zu-Objekt-Ausrichtung
- Einfache Bestandskontrolle (z.B. Erkennung leerer Regale)
- AGV und Roboter-Hindernisvermeidung
- Überwachung des Abstands zwischen den Menschen, um zu erkennen, wann sie überfüllt sind
Er eignet sich für Einrichtungen und Geräte, die platzsparend, kostengünstig und einfach zu integrieren sind.
Im Gegensatz zu herkömmlichen Kameras (RGB) basiert die Erkennung von Menschen auf Entfernungsinformationen (Farbe) und nicht auf dem Gesicht oder der Kleidung. So können Sie die Anzahl der Personen und ihre Standorte leicht bestimmen und gleichzeitig die Privatsphäre wahren.
Während LiDAR für die großflächige, hochpräzise Vermessung von Vorteil ist, ist eine einfache ToF-Kamera als praktischer Sensor, der in die Feldausrüstung integriert werden kann, eine brauchbare Option.
Artikel beigetragen von Raspida
Raspberry Pi-Informationsseite, die auch von Nicht-Ingenieuren genutzt werden kann raspida.com eine Raspberry Pi-Informationsseite, die auch für Nicht-Ingenieure interessant ist und mit der sie umgehen können. Er schreibt auch technische Blogartikel auf der PiLink-Website über den Raspberry Pi für den industriellen Einsatz.

