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+ |
Du kannst sie auch einzeln über die untenstehenden Links kaufen.
KOMPONENTENBESCHREIBUNG |
KAUF-LINK |
---|---|
- |
|
- |
|
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 |
Code
Bemerkung
Öffnen Sie die Datei
7.follow_your_hand.ino
im Pfad3in1-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();
}
}