Arduino Lektion 59: Infrarot Abstandssensor

In diesem Tutorial möchte ich den Infrarot Abstandssensor TCRT5000 erläutern.

Infrarot Abstandssensor - TCRT5000
Infrarot Abstandssensor – TCRT5000

Auf der Rückseite des Sensors befindet sich ein Drehpotentiometer mit welchem man den Schwellwert für den digitalen Pin einstellen kann.

Rückseite des Infrarot Abstandssensors
Rückseite des Infrarot Abstandssensors

Ich habe bereits einen Abstandssensor beschrieben, nämlich den Ultraschall Sensor  Arduino Lektion 9: Ultraschall Modul HC-SR04.

Bezug

Den Infrarot Abstandssensor kann man bei eBay.de oder aber auch bei amazon.de für ca. 3€ (exkl. Versandkosten) beziehen.

Technische Daten des TCRT5000

  • Betriebsspannung – 3.3V bis 5V

Die Sensorreichweite wird in den meisten Shops mit 1mm bis 25mm angegeben. Leider entzieht es sich meinem Verständnis wie diese darauf kommen. 
Der Sensor hat in dem mir vorliegendem Fall eine Reichweite von ca. 1mm bis maximal 60cm.

Anschluß

Der Infrarot Abstandssensor TCRT5000 verfügt über 4 Pins welche auf der Rückseite beschriftet sind. Der Sensor wird wiefolgt mit dem Arduino UNO verbunden:

IR Abstandssensor Arduino UNO
A0 analoger Pin A0
D0 digitaler Pin D2
GND GND
VCC 5V

Die Besonderheit des digitalen Pins ist es, das dieser auf HIGH gesetzt wird wenn das eingestellte Minimum des Sensors (über den Drehpotentiometer) erreicht wurde.
In meinem nachfolgenden Aufbau habe ich den digitalen Pin D2 nicht angeschlossen, ich wollte zunächst einmal die Reichweite testen.

IR Abstandssensor mit LED Bar am Arduino UNO
IR Abstandssensor mit LED Bar am Arduino UNO

Schaltung

In der eigentlichen Schaltung habe ich eine LED Bar mit 8 LEDs verwendet.

LED Bar - 8 SMD LEDs
LED Bar – 8 SMD LEDs

Da es dieses Bauteil leider nicht als Fritzing Part gibt habe ich in der Schaltung einfache 5mm LEDs verwendet. 

Schaltung - Infrarot Abstandssensor mit LEDs am Arduino UNOSchaltung - Infrarot Abstandssensor mit LEDs am Arduino UNO
Schaltung – Infrarot Abstandssensor mit LEDs am Arduino UNO

Wie funktioniert der Infrarot Abstandssensor TCRT5000?

Der IR Abstandssensor verfügt über einen Infrarot Sender und einen Empfänger. Der Sender, sendet einen für das Menschliche Auge unsichtbare Lichtsignal aus welcher von einem Objekt reflektiert wird. Das reflektierte Licht wird vom Empfänger aufgenommen und dann ausgewertet. Der Empfänger deutet anhand der Lichtintensität dann den Abstand zu einem Objekt. Hier kommt die Ungenauigkeit des Sensors zu tragen, denn dunkle Oberflächen reflektieren Licht (egal welche Wellenlänge) schlechter als helle Oberflächen.

Vergleich helle Oberfläche vrs. dunkle Oberfläche

Eingangs habe ich erläutert das eine helle Oberfläche den Infrarotstrahl besser reflektiert als eine dunkle Oberfläche. Wollen wir dieses nun einmal testen.

Testaufbau für den Vergleich mit den Farben weiß, grün, blau und schwarz.
Testaufbau für den Vergleich mit den Farben weiß, grün, blau und schwarz.

Quellcode

Einfaches Beispiel zum erkennen eines Objektes vor dem Sensor mit der Anzeige auf einer LED Bar.

#define irSensor A0

int leds[8] = {2,3,4,5,6,7,8,9};

const int PAUSE = 250;

void setup() {
  Serial.begin(9600);
  
  for(int i=0;i<=7;i++){
    pinMode(leds[i], OUTPUT);
  }
}

void loop() {
  for(int i=0;i<=7;i++){
    digitalWrite(leds[i],HIGH);
  }
  
  int irSensorValue = analogRead(irSensor);
  Serial.println(irSensorValue);
  int mapedValue = map(irSensorValue, 100, 1000, 0, 7);
  digitalWrite(leds[mapedValue],LOW);
 
  delay(PAUSE);
}

Video

Infrarot Abstandssensor

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.