9. Télécommande

Ce kit est livré avec un récepteur IR, qui vous permet d’utiliser une télécommande IR pour contrôler le mouvement de la voiture.

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

-

LED

BUY

Récepteur IR

-

Câblage

Construisez maintenant le circuit selon le schéma ci-dessous.

Récepteur IR

Carte R3

OUT

12

GND

GND

VCC

5V

../_images/car_9.png

Code

Note

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

  • Ou copiez ce code dans Arduino IDE.

  • La bibliothèque IRremote est utilisée ici, vous pouvez l’installer depuis le Library Manager.

    ../_images/lib_irremote.png

Après le téléchargement réussi du code, appuyez sur le bouton de la télécommande, la LED clignotera une fois pour indiquer que le signal a été reçu, et la voiture se déplacera selon le bouton que vous avez pressé. Vous pouvez appuyer sur les touches suivantes pour contrôler la voiture.

  • + : Accélérer

  • - : Ralentir

  • 1 : Avancer à gauche

  • 2 : Avancer

  • 3 : Avancer à droite

  • 4 : Tourner à gauche

  • 6 : Tourner à droite

  • 7 : Reculer à gauche

  • 8 : Reculer

  • 9 : Reculer à droite

Comment ça fonctionne ?

L’effet de ce projet est de faire bouger la voiture en lisant la valeur clé de la télécommande IR. De plus, la LED sur la broche 13 clignotera pour indiquer la réception réussie du signal IR.

  1. Importez la bibliothèque IRremote, vous pouvez l’installer depuis le Library Manager.

    #include <IRremote.h>
    
    const int IR_RECEIVE_PIN = 12;  // Define the pin number for the IR Sensor
    
  2. Initialise la communication série à un débit de 9600 bauds. Initialise le récepteur IR sur la broche spécifiée (IR_RECEIVE_PIN) et active le retour LED (si applicable).

    ...
    
    void setup() {
    
        ...
        //IR remote
        IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK);  // Start the receiver
        Serial.println("REMOTE CONTROL START");
    
    }
    
  3. Lorsque vous appuyez sur les touches de la télécommande, le récepteur infrarouge saura quelle touche est pressée, puis la voiture se déplacera en fonction de la valeur clé correspondante.

    void loop() {
    
        if (IrReceiver.decode()) {
            //    Serial.println(results.value,HEX);
            String key = decodeKeyValue(IrReceiver.decodedIRData.command);
            if (key != "ERROR") {
                Serial.println(key);
    
                if (key == "+") {
                    speed += 50;
                } else if (key == "-") {
                    speed -= 50;
                } else if (key == "2") {
                    moveForward(speed);
                    delay(1000);
                ...
                }
                IrReceiver.resume();  // Enable receiving of the next value
    
        }
    }
    
    • Vérifie si un signal IR est reçu et décodé avec succès.

    • Décode la commande IR et la stocke dans key à l’aide d’une fonction decodeKeyValue() personnalisée.

    • Vérifie si la valeur décodée n’est pas une erreur.

    • Imprime la valeur IR décodée sur le moniteur série.

    • Reprend la réception du signal IR pour le signal suivant.