TigerJython4Kids
HomeTurtlegrafikRobotikDatenbanken
distanzsensoren

10. DISTANZSENSOREN

 

 

DU LERNST HIER...

 

wie man Distanzen eines Objekts im cm-Bereich bestimmen kann. Distanzsensoren spielen vor allem in der Robotik eine wichtige Rolle, um Objekte zu erkennen und entsprechend zu handeln (z.B. um Zusammenstösse zu vermeiden).

 

 

MUSTERBEISPIELE

 

Es gibt verschiedene physikalische Messverfahren, um die Distanz zu einem Objekt zu bestimmen. Viele beruhen darauf, dass das Objekt mit einer Welle (Licht, Funk, Ton) angestrahlt wird und man das reflektierte Signal untersucht. Einige Verfahren beruhen auf dem Radarprinzip, bei dem die Laufzeit eines kurzen Pulses gemessen wird (z.B. Ultraschallsensoren, Lasersensoren). Andere verwenden die Intensität des reflektierten Signals (z.B. Infrarot-Distanzsensoren).

Laserdistanzsensor

Der Laserdistanzsensor-Chip VL6180X ist nur wenige mm gross und misst die Laufzeit eines Laserstrahls (im Infrarotbereich). Der Messwert wird über ein I2C-Interface abgegeben. Der Chip wird auf einem Breakout-Board von Adafruit und als GY6180 über eBay angeboten. Er misst Distanzen Bereich bis zu rund 15 cm. (Ein gleichartig aufgebauter Sensor VL53L0X misst Distanzen im Bereich von etwa 10 - 100 cm).

 
GY6180 (eBay)
VL6180X (Adafruit)
 

Dein Programm verwendet das Treibermodul vl6189x und schreibt die Distanz in mm auf dem LED-Display aus. Falls kein Objekt detektiert wird, liefert der Sensor den Wert 255 und es werden zwei Minuszeichen angezeigt.

Programm:

from oxocard import *
from vl6180x import VL6180X

sensor = VL6180X()
while True:
    d = sensor.distance()
    if d == 255:
        display("--")
    else:
        display(d)
► In Zwischenablage kopieren


Infrarotdistanzsensor

Im Hobbybereich ist der Infrarotsensor TCRT5000 weit verbreitet. Er enthält eine Fotodiode (IR-LED), die Infrarotlicht (mit einer Wellenlänge von von ungefähr 1000 nm) erzeugt und einer Fotodiode, welche die Intensität des reflektierenden Lichtes misst. Es gibt mehrere Bezugsquellen (z.B. eBay).  


 

In der Schaltung benötigst du zwei Widerstände von 10 kOhm und 100 Ohm, die du beispielsweise auf einer kleinen Lochplatte aufbaust. Den Ausgang des Fototransistors verbindest du mit einem ADC.

Wir entwickeln in Zusammenarbeit mit dem Elektronikhandel ein kleines Adapter-Breakout mit einem IR-Distanzsensor und integriertem ADC. Diesen Adapter wird es in einer Einfach- und Doppelversion geben (für das Fahren auf Streifen).

Er wird direkt in die I2C-Buchsen der Oxocard eingesteckt. Verfügbar ca. April 2019.

In deinem Programm verwendest du als ADC den ADS1015 und zeigst den Messwert von Kanal 0 auf dem Display an. Dazu musst du den Messwert des ADC geeignet skalieren (hier durch Division mit 10).

Programm:

from time import sleep
from ads1x15 import ADS1015
from oxocard import *

adc = ADS1015()
while True:
    value = adc.read(0)
    display(value // 10)
► In Zwischenablage kopieren
 
 

 

 

MERKE DIR...

 

Zur Distanzmessung wird oft die Laufzeit eines akustischen, optischen oder Radiosignals verwendet. Es kann aber auch die Intensität des reflektierten Signals herangezogen werden.

 

 

ZUM SELBST LÖSEN

 

 

1.

Löse bei zu starker Annäherung eines Objekts ein optisches oder akustisches Alarmsignal aus.