Hinweise für die mündliche Prüfung
Erklärungen anhand von grafischen Darstellungen und einem Codebeispiel
Welche unterschiedlichen Arten von Sensoren zur Distanzmessung gibt es?
Ultraschall - Sensor, Infrarot - Sensor, Time of Flight - Sensor
Auf welchem Prinzip basiert ein Ultraschall-Distanzsensor?
Ein Ultraschall - Abstandssensor basiert auf der Messung der Laufzeit von Schallwellen, die an festen Gegenständen reflektiert werden.
Ein Sensor besteht aus einem Lautsprecher, einem Mikrofon und einer Steuerelektronik. Im Sensor wird die Zeit zwischen dem Aussenden und dem Empfangen eines Impulses gemessen. Mit Hilfe der Schallgeschwindigkeit kann dann die Strecke zwischen dem Sensor und dem reflektierenden Gegenstand berechnet werden.
Wie funktioniert ein IR-Distanzsensor?
Ein Sensor, der Abstände mit konstantem infraroten Licht misst, bestimmt die Distanz aus dem Dreieck zwischen einem ausgesandten und einem reflektierten Lichtstrahl
Der Sensor besteht aus einer IR LED, einer Sensorfläche und einer Steuerelektronik. Auf einer Seite des Sensors wird ein Lichtstrahl ausgesandt, auf der anderen Seite befindet sich eine Messeinheit, welche die Position des eintreffenden, reflektierten Lichtstrahls dedektieren kann. Daraus wird die Distanz zwischen dem Sensor und einem reflektierenden Gegenstand berechnet.
Wie funktioniert ein ToF-Distanzsensor?
Ein Time-of-Flight (ToF) Abstandssensor misst die Entfernung zu einem Objekt, indem er die Zeit erfasst, die Licht vom Sensor zu einem reflektierenden Objekt und zurück zum Sensor benötigt.
Der Sensor sendet dabei kurze Lichtimpulse aus (häufig infrarotes Licht) und berechnet anhand der Laufzeit des reflektierten Lichts mit Hilfe der Lichtgeschwindigkeit die Distanz. ToF-Sensoren sind präzise und wenig störanfällig durch andere Lichtquellen im Umfeld.
Diskutiere die Vor- und Nachteile dieser drei Sensoren!
US | IR | ToF | |
einsetzbar für weite Distanzen | No | No | Yes |
hohe Messfrequenz | No | No | Yes |
einsetzbar bei komplexen Objekten | No | Yes | Yes |
fehleranfällig bei äußeren Einflüssen | Yes | Yes/No | No |
Erkläre die Verwendung eines Distanzsensors im eigenen Roboter anhand eines Code-Beispiels!
mBot2
import cyberpi, mbot2, mbuild
mbot2.EM_set_speed(20, 1)
mbot2.EM_set_speed(-20, 2)
while True:
float_distance = mbuild.ultrasonic2.get()
cyberpi.display.show_label("Abstand: " + str(float_distance),16,0,0)
if float_distance<10:
mbot2.EM_stop()
KeplerBRAIN V4
#include "KeplerBRAIN_V4.h"
uint8_t value_1;
uint8_t value_2;
uint8_t value_3;
uint8_t value_4;
uint8_t value_5;
uint8_t value_6;
uint8_t value_7;
uint8_t value_8;
void setup()
{
KEPLERBRAIN_INIT();
WRITE_MOTOR(M1,50);
WRITE_MOTOR(M2,50);
}
void loop()
{
// read 8 Bytes from TOF Sensorboard BEGIN
digitalWrite(SPI1, LOW);
if(spi_cam.transfer(0XFF) == 250)
{
value1 = spi.transfer(0XFF);
value2 = spi.transfer(0XFF);
value3 = spi.transfer(0XFF);
value4 = spi.transfer(0XFF);
value5 = spi.transfer(0XFF);
value6 = spi.transfer(0XFF);
value7 = spi.transfer(0XFF);
value8 = spi.transfer(0XFF);
}
digitalWrite(SPI1, HIGH);
// read 8 Bytes from TOF Sensorboard END
WRITE_LCD_TEXT(1, 1, "Abstand: ");
WRITE_LCD_INT(1, 10, value1, 3);
if (value1<10)
{
WRITE_MOTOR(M1,0);
WRITE_MOTOR(M2,0);
}
}