Beim Durchblättern der Zeitschriften c’t fand ich das Stichwort “ToF”-Sensor (ToF = Time of Flight). Meine technische Neugier war gepackt.
Warum: In Verbindung mit Licht handelt es sich bei 15 cm Entfernung wohl um eine Flugzeit des Lichtstrahls von 10-9 Sekunden (Hin- und Rückweg). Das klingt schon interessant und herausfordernd. Und es gibt für den ESP32 brauchbare Sensoren für wenige Euro. Der gängigste Typ ist wohl der VL53L0X der Firma STMicroelectronics auf einem bequemen Break-Out-Board für den I2C-Bus. Treiber für mein MicroPython existieren auch.
Also bestellt, ein paar Tage gewartet und das Teil kam an.

Treiber installiert, das BreakOut montiert, die 4 erforderlichen Drähte richtig verbunden und dann via Micropython eine Messung veranlasst. Und geantwortet hat das Ding mit einer Zahl, der Entfernung in Millimeter. Toll.
Der Sensor hat ungefähr einen Arbeitswinkel von 20°. In diesem Bereich kann man dann mit einer Handbewegung leicht neue Objekte generieren. Der gemessene Entfernungsbereich geht von 50 bis ca.350 mm. Dem ersten Anschein nach scheint das auch ungefähr zu stimmen. Zwanzig Messungen pro Sekunden sind locker möglich, also bekommt man auch schnellere Bewegungen mit.
Aber bei der Frage, mit welchen “Tricks” die Laufzeit gemessen wird, bin ich noch nicht richtig weitergekommen. Gefundene Stichworte: Laser, Infrarot, Modulation, Phasenverschiebung, analoge Elemente, SPAD, Kalibrierung …. Nanosekunden sind herausfordernd.
Pingback: Oxocard science + (ESP32) | Internet-Auftritt der Familie Dressler in Haßloch