7. Suivez Votre Main

Considérez cette voiture comme votre animal de compagnie ici, et lorsqu’elle vous verra lui faire signe, elle viendra en courant vers vous.

Composants requis

Pour ce projet, nous avons besoin des composants suivants.

Il est certainement pratique d’acheter un kit complet, voici le lien :

Nom

ÉLÉMENTS DANS CE KIT

LIEN

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

Vous pouvez également les acheter séparément via les liens ci-dessous.

INTRODUCTION DES COMPOSANTS

LIEN D’ACHAT

Carte SunFounder R3

BUY

Module de Contrôle Moteur L9110

-

Moteur TT

-

Module Ultrasonique

BUY

Module d’Évitement d’Obstacle

BUY

Câblage

Connectez le module ultrasonique et les 2 modules d’évitement d’obstacles IR en même temps.

Connectez l’ultrasonique à la carte R3 comme suit.

Module ultrasonique

Carte R3

Vcc

5V

Trig

3

Echo

4

Gnd

GND

Le câblage des 2 modules d’évitement d’obstacles IR à la carte R3 est le suivant.

Left IR Module

R3 Board

OUT

8

GND

GND

VCC

5V

Right IR Module

R3 Board

OUT

7

GND

GND

VCC

5V

../_images/car_7_8.png

Code

Note

  • Ouvrez le fichier 7.follow_your_hand.ino situé dans le dossier 3in1-kit\car_project\7.follow_your_hand.

  • Ou copiez ce code dans Arduino IDE.

  • Ou téléchargez le code via Arduino Web Editor.

Placez la voiture sur le sol après le téléchargement réussi du code. Placez votre main à environ 5*10cm devant la voiture, et elle suivra votre main vers l’avant. Si vous placez votre main près du module d’obstacle IR de chaque côté, elle tournera également dans la direction correspondante.

Comment ça fonctionne ?

Ce projet est une combinaison des deux projets précédents 6. Jouer avec le module ultrasonique et 5. Jouer avec le module d’évitement d’obstacles, mais l’effet implémenté est différent. Les 2 projets précédents détectent un obstacle en arrière, mais ici, il détecte que votre main suivra la direction avant ou tournera. Le déroulement de ce projet est le suivant.

  • Lisez la distance détectée par le module ultrasonique et la valeur des deux modules infrarouges.

  • Si la distance est de 5~10cm, laissez la voiture se déplacer avec votre main.

  • Si le module IR gauche détecte votre main, tournez à gauche.

  • Si le module IR droit détecte votre main, tournez à droite.

  • Si ni le module infrarouge ni le module ultrasonique ne détectent votre main, laissez la voiture s’arrêter.

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();
    }
}