7. Folge deiner Hand

Betrachte dieses Auto hier als dein Haustier. Wenn du ihm zuwinkst, kommt es sofort zu dir gelaufen.

Benötigte Komponenten

Für dieses Projekt benötigen wir die folgenden Komponenten.

Es ist definitiv praktisch, ein ganzes Set zu kaufen. Hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

Du kannst sie auch einzeln über die untenstehenden Links kaufen.

KOMPONENTENBESCHREIBUNG

KAUF-LINK

Arduino Uno R4 Minima

BUY

L9110 Motortreibermodul

-

TT Motor

-

Ultraschall-Modul

BUY

Hindernisvermeidungsmodul

BUY

Verdrahtung

Schließe das Ultraschallmodul und die beiden IR-Hindernisvermeidungsmodule gleichzeitig an.

Die Verbindung des Ultraschallmoduls mit dem R4-Board erfolgt wie folgt.

Ultraschallmodul

R4 Board

Vcc

5V

Trig

3

Echo

4

Gnd

GND

Die Verkabelung der beiden IR-Hindernisvermeidungsmodule zum R4-Board ist wie folgt.

Linkes IR-Modul

R4 Board

OUT

8

GND

GND

VCC

5V

Rechtes IR-Modul

R4 Board

OUT

7

GND

GND

VCC

5V

../_images/car_7_8.png

Code

Bemerkung

  • Öffnen Sie die Datei 7.follow_your_hand.ino im Pfad 3in1-kit\car_project\7.follow_your_hand.

  • Oder kopieren Sie diesen Code in die Arduino IDE.

  • Oder laden Sie den Code über den Arduino Web Editor hoch.

Stellen Sie das Auto auf den Boden, nachdem der Code erfolgreich hochgeladen wurde. Halten Sie Ihre Hand in einem Abstand von 5*10cm vor das Auto, und es wird Ihrer Hand folgen. Wenn Sie Ihre Hand nahe am IR-Hindernismodul auf beiden Seiten positionieren, wird es auch in die entsprechende Richtung abbiegen.

Wie funktioniert das?

Dieses Projekt kombiniert die beiden vorherigen Projekte 6. Mit dem Ultraschallmodul spielen und 5. Spielen mit dem Hindernisvermeidungs-Modul, aber die umgesetzte Wirkung ist anders. In den vorherigen 2 Projekten wurde ein Hindernis rückwärts erkannt, hier jedoch wird erkannt, dass Ihre Hand der Vorwärts- oder Abbiege-Richtung folgt. Der Arbeitsablauf dieses Projekts ist wie folgt:

  • Lese den vom Ultraschallmodul erkannten Abstand und den Wert beider Infrarotmodule.

  • Wenn der Abstand 5~10cm beträgt, lasse das Auto Ihrer Hand folgen.

  • Wenn das linke IR-Modul Ihre Hand erkennt, biege links ab.

  • Wenn das rechte IR-Modul Ihre Hand erkennt, biege rechts ab.

  • Wenn weder das Infrarotmodul noch das Ultraschallmodul Ihre Hand erkennen, lasse das Auto anhalten.

void loop() {

    float distance = readSensorData();

    int left = digitalRead(leftIR);   // 0: Obstructed  1: Empty
    int right = digitalRead(rightIR);
    int speed = 150;

    if (distance>5 && distance<10){
        moveForward(speed);
    }
    if(!left&&right){
        turnLeft(speed);
    }else if(left&&!right){
        turnRight(speed);
    }else{
        stopMove();
    }
}