top of page
Rechercher

Mise en oeuvre d'un robot Keyestudio Mini Tank V3

Dernière mise à jour : 4 janv. 2024

Version du 5 / 8 / 2023 modifiée le 04 / 11 / 2023.

Le fichier de ce post peut être téléchargé en français et en anglais (voir à la fin).


1- Position du problème.


Le kit KEYSTUDIO MINI TANK ROBOT V3 est destiné aux personnes désirant apprendre ou se perfectionner ludiquement dans la programmation Arduino.

Un exemplaire m'a été confié par mon petit cousin Samuele M. pour que je le mette en oeuvre car l'ayant reçu en cadeau et ne sachant pas programmer, il était démuni.



ree

Le robot est piloté depuis une application sur le smartphone. Elle est téléchargeable sur le Play Store Android et se présente sous cette forme.

ree

Le robot est équipé d'une carte compatible Arduino Uno.

Malheureusement, il m'a été impossible de me connecter sur cette carte avec mon PC portable alors que mon PC fixe l'a reconnue : je l'ai donc substitué par une Arduino Uno d'origine et repris complètement la programmation afin d'en faire un objet "clé en main".


Dans ce post, vous trouverez :

- la description d'un certain nombre de différences entre la version physique de la carte KS0435 (L298P V2) (cette carte est celle du dessus avec tous les connecteurs) et la version décrite dans la documentation trouvée en ligne ;

Ces différences font que les programmes proposés ne tournent pas ou donnent des résultats surprenant !

- le listing pour Arduino d'un programme réalisant certaines fonctions à partir de la réception de la commande bluetooth venant d'un téléphone portable ;

- la description succincte d'une application pour le smartphone permettant d'envoyer les caractères de commande.

Le post et les programmes sont susceptibles d'évoluer car pour l'instant je n'ai pas intégré les fonctions venant de la télécommande IR.


2- Différences entre la carte réelle et la documentation.

La documentation est disponible en ligne à cette adresse :

https://ecksteinimg.de/Datasheet/Keyestudio/KS0526/KS0526.pdf


Différence n°1.


ree


ree

Documentation p 48

Carte réelle

Sur ces images, on voit que le connecteur P3 donne l'entrée analogique A0 alors que la carte donne la ligne numérique D3


Différence n°2.



ree


ree

Documentation p48

Carte réelle

Sur ces images on voit que le connecteur P1 donne les lignes numériques D8, D7, D6 alors que la carte réelle donne D8, D7, D11.


En réalité, les programmes fournis sont basés sur les lignes de la documentation et ne correspondent donc pas à la réalité : il faut donc les modifier.

Vous vérifierez que les cartes équipées de photocellules sont bien sur les connecteurs P4 et P5 ayant des entrées analogiques.


Autre remarque : l'application sur le portable reconnait une carte Bluetooth V4.0 HM10 mais ne reconnait pas les cartes HC-05 ou HC-06 même en lui changeant le nom en "HMsoft".


3- Réalisation d'un programme Arduino.


Dans la documentation du robot disponible en ligne, sont décrits plusieurs séquences de programmes pour mettre en oeuvre les fonctions du robot : détections de contours par US, évitement d'une bande noire, suivi d'une bande noire, suivi d'un faisceau lumineux, détection de flamme, affichage sur le panneau de LED ...

L'étude d'une fonction Arduino, proposée sous la forme d'une "leçon", consiste à la charger seule dans la mémoire et à la tester pour comprendre le fonctionnement de son algorithme.

Pour faire fonctionner ce robot à partir d'un téléphone portable avec l'application bluetooth (disponible gratuitement sur le store Androïd), il faut compacter toutes ces fonctions élémentaires en un seul programme.

Le programme fourni (lesson 21 et 22) ne donne pas de bons résultats, notamment à cause des bugs de programmes évoquées ci-dessus.

Par ailleurs, certaines fonctions sont décrites seules mais ne sont pas disponibles dans la séquence qui permet de les appeler depuis le téléphone portable : j'ai repris et réorganisé l'ensemble.


Dans le programme Arduino, que je donne en téléchargement ci-après, vous pourrez disposer des fonctions suivantes appelées avec le menu Function de l'application Androïd :

- déplacement dans les 4 directions

- LINE Tracking = suivi d'une ligne noire (papier dessin noir mat disponible dans les magasins spécialisés - largeur de la bande : 3 cm environ) (vitesse lente 1) ;

- Confinement = circulation dans un espace fermé (réalisée en faisant une forme fermée - ou pas avec le même papier noir) (il se peut qu'il détecte de simples jointures de carrelage) ;

- US Avoid = évitement d'obstacles à partir de la télémétrie US (et repart dans une autre direction) ;

- US Follow = suivi en ligne droite et à distance constante d'un objet réflecteur ;

- LIGHT Follow = suivi d'une source lumineuse (lampe de poche ; préférez une ambiance sombre).

Vous pourrez aussi voir sur le panneau DEL, l'affichage du pictogramme de la fonction demandée et vous pourrez faire apparaître les différents figures choisies dans le menu FACE (Smile ; Happy ; Disgust ; Squint ; Despise ; Clear).

Le panneau DEL affiche aussi la direction prise lors d'un déplacement.


ree


ree


ree

Les différentes fonctions ci-dessus se valident (touche en surbrillance) et se dévalident grâce au bouton de l'application : tant que la fonction est validée, on ne peut pas utiliser les autres.

La fonction Fire (détection d'une flamme) n'est opérationnelle que si le Robot est équipé du détecteur approprié.


Pour réaliser la fonction de modification de la vitesse, j'ai utilisé les boutons du menu Custom.

Dans le menu Custom, j'ai attribué une vitesse de déplacement à chaque valeur de 1 à 5. La valeur 1 correspond à la vitesse la plus lente et 5 à la plus rapide.


Dans le menu Custom, le bouton n°6 est attribué à la fonction Confinement :

- si 6 est non valide alors le robot tourne toujours vers la gauche (left)

- si 6 est validé alors le robot tourne aléatoirement (random - casualmente) à droite ou à gauche pendant une durée également aléatoire de 200 à 800 ms.


Je mettrai en ligne les éventuelles modifications ou nouvelles versions.

Tout programme Arduino doit être recopié dans un dossier qui porte le même nom.


Script du programme Arduino.

Seuls les fichiers PDF sont pris en charge par mon hébergeur de site, le programme que je joins en téléchargement doit donc être copié et collé dans le compilateur Arduino.


4- Réalisation d'une application pour smartphone.


Sur certains smartphones Android, l'application "Keyestudio" ne tourne pas (notamment en raison d'un problème de connexion avec la carte bluetooth).

J'ai donc entrepris de réécrire avec MIT App Inventor une version ayant toutes les fonctionnalités qui aura peut-être un champ de compatibilité plus large.

L'interface développée avec MIT App Inventor ne prend pas en charge les cartes bluetooth 4 BT-05 ou HM10. Vous devrez remplacer la carte par une HM06.


Je donne les photos des 4 écrans :


ree


ree


ree


ree

- L'écran d'accueil 1 permet d'établir la liste des périphériques bluetooth et de choisir le sien ;

- L'écran d'accueil 2 est affiché lors du retour par le bouton "collegamento" (en cas de perte de liaison) ;

- L'écran 3 "Pilotaggio" permet de contrôler les mouvements du tank et la vitesse ;

- L'écran 4 "Funzioni" permet de contrôler les différentes fonctions autonomes et l'afficheur.


Liste des lettres utilisées pour chaque fonction.

Marche Avant (F) Avanti

Marche Arrière (B) In dietro

Gauche (L) Sinistra

Droite (R) Destra

Stop (S)

Line Tracking (e)

Confinment (f)

US Avoidance (g)

US Tracking (h)

Light Follow (i)

Face Smile (k)

Face Disgust (l)

Face Happy (m)

Face Squint (n)

Face Despise (o)

Face Heart (p)

Face Clear (z)

Speed (1 to 5)





 
 
 

Commentaires


  • Facebook
  • Twitter
  • LinkedIn

©2021 par VintageAudioRadio. Créé avec Wix.com

bottom of page