Dieses hier verwendete 5fach-TCRT5000 IR-Modul ist vor allem für die Hinternis-Erkennung von sog. "Line-Follower"-Robotern und selbst fahrenden kleinen Vehikeln auf MCU-Basis gedacht.
Das Modul ist eine Vereiningung von 5 (manchmal 8) Stück von
TCRT-5000-Sensoren, die es auch oft als
Einzelmodule zu kaufen gibt. Auf diesem Modul werden die
analogen IR-Signale durch den 74HC14D-Chip in digitale Signale umgewandelt. Der 74HC14D ist ein Schmitt-Trigger
mit 6 Eingängen, wobei bei diesem Modul also ein Eingang nicht benutzt wird.
Der Messabstand beträgt etwa 1cm-1,5cm und zeigt mit einer roten LED an, ob ein Hinternis vor einem der Sensoren
erkannt wurde.
Modul-Pin | Bedeutung | Arduino-Pin |
---|---|---|
GND | 0V/Masse | GND |
5V | Spannungsversorgung (auch 3,3V möglich) | 5V |
OUT1..OUT5 | Digitale Ausgänge für die einzelnen IR-Sensoren | beliebige digitale Pins, z.B. D2..D6 |
Zum Testen des 5fach-IR-Moduls schließt man im folgenden Beispiel die Ausgänge des Moduls an die digitalen Eingänge D2 bis D6 des Arduino an und verwendet dann folgenden Code:
const int IR_PINS[5] = {2, 3, 4, 5, 6};
void setup()
{
Serial.begin(9600);
for (int i = 0; i < 5; i++) {
pinMode(IR_PINS[i], INPUT);
}
}
void loop()
{
for (int i = 0; i < 5; i++) {
Serial.print(digitalRead(IR_PINS[i]));
}
Serial.println("");
delay(1000);
}
Öffnet man nach dem Kompilieren und Hochladen des Codes die serielle Konsole der Arduino-IDE, so sollten zunächst immer pro Zeile fünf Nullen erscheinen. Je nachdem, an welchen IR-Sensor man sich annähert, so sprint der entsprechende Wert dann auf 1.
Wenn man lieber eine visuelle Ausgabe der Hinterniss-Erkennung auf dem seriellen Plotter der Arduino-IDE
anzeigen möchte, so kann man einfach die Ausgabe im obigen Code in der for-Schleife in loop
durch den folgenden Code ersetzen:
Serial.print(digitalRead(IR_PINS[i])+i);
Serial.print(" ");
Hinweis: Ich habe festgestellt, dass auf einer schwarze Oberfläche anscheinend der Sensor nicht mehr funktioniert,
denn der ermittelte Wert springt auf 0
, wenn der Sensor sehr nahe der schwarze Fläche gehalten wird.
Bei diesem Modul wäre auch schön gewesen, die IR-Sensor-Werte als analoge Zahlen zur Verfügung zu stellen,
so hätte man nicht nur eine binäre Hindernis-Erkennung, sonder auch eine grobe Einschätzung, wie weit das
Hinternis entfernt ist.
Wie man am obigen Schaltplan des Moduls erkennen kann, werden die analogen Werte in den 74HC14-Chip gespeist,
dessen digitale Werte dann an den Ausgängen anliegen. Es wäre also recht leicht, eine zusätzliche Pin-Leiste
anzubringen, die ebenfalls die analogen Werte der Sensoren zur Verfügung stellt. (Versuch steht noch aus...)
Desweiteren könnte es für manche Anwendungen hilfreich sein, dass die verwendeten LEDs entweder dunkler oder gar nicht aufleuchten, denn sie sind recht grell und verbrauchen auch entsprechend Strom. Da jeweils ein Vorwiderstand von 1 kΩ verbaut wurde, kann man mit einem Stromverbrauch von ca. 5mA rechnen, d.h. max. 30mA, wenn alle LEDs gleichzeitig leuchten.
zurück