Abschnittsübersicht

  • Hervorgehoben
    • Der Lichtsensor befindet sich auf der Unterseite des Calli:Bots und ist durch die Kugelhalterung geschützt. An der Kugelhalterung befindet sich eine Öffnung mit 3 Aussparungen. Die helle Diode in der Mitte ist eine Infrarot-LED und die dunklen Dioden sind Infrarot-Sensoren (Infrarot kurz IR). Die LED sendet ein Infrarot-Signal aus und die Reflexion wird von den beiden IR-Sensoren empfangen. Anhand der Messwerte kann man somit zwischen hell (weiß) und dunkel (schwarz) unterscheiden.

       Quelle: https://spacehal.github.io/docs/sensoren/irSensor

    • Für die Verwendung und Programmierung sollte man folgendes beachten, die Linie sollte sich vom Untergrund gut unterscheiden können. Zum Beispiel weiße Linie auf schwarzem Untergrund oder schwarze Linie auf weißem Untergrund. Die ideale Linie sollte entweder schmaler als der Abstand der beiden IR-Sensoren sein, so dass die Sensoren reagieren sollen, wenn die Linie gesehen wird. Oder die Linie ist ein wenig größer als der Abstand der beiden IR-Sensoren und die Sensoren reagieren, sobald der Untergrund zusehen ist. Außerdem sollte der Untergrund und die Linie das IR-Signal reflektieren können und nicht "verschlucken".

      Ich habe verschiedene Materialien ausprobiert und am besten eignete sich eine etwas glattere Oberfläche. Isolierband könnte als Linie funktionieren. (Dies lässt sich auch gut wieder ablösen.)

    • Programmierbeispiel zur Linienverfolgung

      Da das Programmierbeispiel etwas komplexer ist, stelle ich meine Lösung zur Verfügung.


      Es gibt 4 Zustände, die möglich sind.

      1. Beide IR-Sensoren liefern eine dunkle Linie, dann sollen beide Motoren gleich schnell drehen.
      2. Der linke IR-Sensor sieht eine dunkle Linie und der rechte IR-Sensor sieht den hellen Untergrund, dann muss sich der rechte Motor drehen, um zu korrigieren.
      3. Der rechte IR-Sensor sieht eine dunkle Linie und der linke IR-Sensor sieht den hellen Untergrund, dann muss sich der linke Motor drehen, um zu korrigieren.
      4. Wenn beide IR-Sensoren den hellen Untergrund sehen, ist die Linie zu ende, oder der Roboter ist von der Linie komplett abgekommen und soll anhalten. (Da es nur diese 4 Zustände gibt, kann man 3 Zustände mit einer Bedingung definieren und den letzten mit sonst nutzen.)