LBotics.at

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);
}
}