Projet 17 : Contrôle du Tank par Bluetooth

(1) Description :

Nous avons appris les connaissances de base du Bluetooth dans le projet précédent. Dans cette leçon, nous allons utiliser le Bluetooth pour contrôler la voiture intelligente. Puisque cela implique le Bluetooth, un émetteur et un récepteur sont nécessaires. Dans le projet, nous utilisons le téléphone mobile comme émetteur (maître), et la voiture intelligente connectée au module Bluetooth HM-10 (esclave) comme récepteur.

Nous avons appris précédemment qu’envoyer un bit peut contrôler des LEDs. Le principe de contrôle de ce robot roulant est le même.

Afin de mieux contrôler le robot tank intelligent, nous avons spécialement créé une APP. Dans cette leçon, nous allons lire toutes les valeurs des touches de cette APP via le code, puis présenter l’APP exclusive de notre robot tank.

(2) Fonctions des Touches de l’APP :

Le tableau suivant illustre les fonctions des touches correspondantes :

Touches

Fonctions

Associer et connecter le module Bluetooth HM-10 ; cliquer à nouveau pour déconnecter

Sélectionner le robot à utiliser

Contrôler les mouvements du robot par boutons

Contrôler les mouvements du robot par joystick

Contrôler les mouvements du robot par gravité

Envoie “F” quand appuyé et “S” quand relâché

La voiture avance quand appuyé et s’arrête quand relâché

Envoie “L” quand appuyé et “S” quand relâché

La voiture tourne à gauche quand appuyé et s’arrête quand relâché

Envoie “R” quand appuyé et “S” quand relâché

La voiture tourne à droite quand appuyé et s’arrête quand relâché

Envoie “B” quand appuyé et “S” quand relâché

La voiture recule quand appuyé et s’arrête quand relâché

Envoie “u”+chiffre+“#” quand glissé

Glisser pour changer la vitesse du moteur gauche

Envoie “v”+chiffre+“#” quand glissé

Glisser pour changer la vitesse du moteur droit

Sélectionner pour accéder à la page Fonction

Envoie “G” quand appuyé et “S” quand appuyé à nouveau

Entrer en mode évitement d’obstacles quand appuyé et quitter quand appuyé à nouveau

Envoie “h” quand appuyé et “S” quand appuyé à nouveau

Entrer en mode suivi quand appuyé et quitter quand appuyé à nouveau

Envoie “e” quand appuyé et “S” quand appuyé à nouveau

Entrer en mode suivi de ligne quand appuyé et quitter quand appuyé à nouveau

Envoie “f” quand appuyé et “S” quand appuyé à nouveau

Entrer en mode déplacement dans un espace confiné quand appuyé et quitter quand appuyé à nouveau

Envoie “i” quand appuyé et “S” quand appuyé à nouveau

Entrer en mode suivi de lumière quand appuyé et quitter quand appuyé à nouveau

Envoie “j” quand appuyé et “S” quand appuyé à nouveau

Entrer en mode extinction d’incendie quand appuyé et quitter quand appuyé à nouveau

Sélectionner pour entrer en mode affichage d’expressions faciales

Envoie “k” quand appuyé et “z” quand appuyé à nouveau

Affiche un motif souriant quand cliqué et efface l’expression quand cliqué à nouveau

Envoie “l” quand appuyé et “z” quand appuyé à nouveau

Affiche un motif dégoûté quand cliqué et efface l’expression quand cliqué à nouveau

Envoie “m” quand appuyé et “z” quand appuyé à nouveau

Affiche un visage heureux quand cliqué et efface l’expression quand cliqué à nouveau

Envoie “n” quand appuyé et “z” quand appuyé à nouveau

Affiche un motif triste quand cliqué et efface l’expression quand cliqué à nouveau

Envoie “o” quand appuyé et “z” quand appuyé à nouveau

Affiche un motif méprisant quand cliqué et efface l’expression quand cliqué à nouveau

Envoie “p” quand appuyé et “z” quand appuyé à nouveau

Affiche un motif en forme de cœur quand cliqué et efface l’expression quand cliqué à nouveau

Choisir d’entrer dans l’interface de fonctions personnalisées ; il y a six touches 1, 2, 3, 4, 5, 6 ; avec ces touches, vous pouvez étendre certaines fonctions par vous-même

Cliquer pour envoyer “w”

Cliquer pour afficher la valeur analogique détectée par la photorésistance gauche

Cliquer pour envoyer “y”

Cliquer pour afficher la valeur analogique détectée par la photorésistance droite

Cliquer pour envoyer “x”

Cliquer pour afficher la distance détectée par le capteur à ultrasons (unité : cm)

Cliquer pour envoyer “c”
Cliquer à nouveau pour envoyer “d”

Appuyer pour allumer le ventilateur et appuyer à nouveau pour l’éteindre

(3) Organigramme :

(4) Schéma de Connexion :

Remarque :

GND, VCC, SDA et SCL du panneau LED 8x16 sont connectés à G(GND), V(5V), A4 et A5 de la carte d’extension. STATE et BRK n’ont pas besoin d’être connectés. Le module BT est inséré dans la carte d’extension.

(5) Code de Test :

Vous pouvez faire glisser des blocs pour éditer votre code

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

(9)

Code de Test Complet

(Remarque : Ne pas connecter le module Bluetooth avant de téléverser le code, car le téléversement utilise également la communication série, ce qui peut provoquer des conflits avec la communication série Bluetooth et entraîner l’échec du téléversement.)

(6) Résultat du Test :

Après avoir téléversé le code, connectez le robot au module Bluetooth et associez l’APP Bluetooth. Allumez l’interrupteur d’alimentation du shield de commande des moteurs. Placez le robot sur le sol, vous pouvez utiliser ces boutons de l’APP Bluetooth pour contrôler le robot.

  1. Les flèches haut, bas, gauche et droite contrôlent respectivement le robot pour avancer, reculer, tourner à gauche et tourner à droite.

  1. Cliquez sur le bouton joystick et faites glisser la direction du point noir dans le cercle blanc pour contrôler la direction de déplacement du robot.

  1. Cliquez sur le bouton Gravité et inclinez le téléphone dans les directions avant, arrière, gauche et droite, et le robot se déplacera dans la direction dans laquelle le téléphone est incliné.