++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Manuel utilisateur ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .. include:: volabid.rst :Création: 05/2023 :Maj: 11/07/2024 .. |clearer| raw:: html
==================================================================================================== 1- Vue d'ensemble ==================================================================================================== .. image:: images/architecture_branchement.png :width: 600 px Dans le cadre du fonctionnement avec serveur web, les différentes étapes à réalisées sont:: - Programmer l'Arduino - Préparer le serveur - `installer Python`_ - `cloner le dépôt du serveur`_ - `installer les dépendances`_ .. _`installer Python` : https://www.python.org .. _`cloner le dépôt du serveur` : https://bitbucket.org/robotdeuxbras/robot2brasserveur/src/master/ .. _`installer les dépendances` : https://robotdeuxbras.bitbucket.io/server.html#index-3 - adapter les valeurs min, max au bras utilisé Dans le cadre du fonctionnement avec Smartphone ou tablette, sous Android : L'application `robot_deux_bras.apk`_ est modifiable en ligne avec `ai2.appinventor.mit.edu`_ et le fichier source `robot_deux_bras.aia`_. .. _`robot_deux_bras.apk` : https://bitbucket.org/robotdeuxbras/robot2brascodes/src/master/bras_appinventor/ .. _`robot_deux_bras.aia` : https://bitbucket.org/robotdeuxbras/robot2brascodes/src/master/bras_appinventor/ .. _`ai2.appinventor.mit.edu` : https://ai2.appinventor.mit.edu/ .. image:: images/brasAndroidAppInventor.JPG :width: 400 px 1) Charger le fichier : `robot_deux_bras.apk`_ sur votre téléphone ou tablette. 2) Lancer l'installation en acceptant les consignes. Pour de plus amples informations sur la version Android du projet `suivre ce lien`_ .. _`suivre ce lien` : https://www.vorobotics.com/wiki/index.php?title=Bras_manipulateur#BrasVor_V2.00 ==================================================================================================== 2- Câblage ==================================================================================================== .. image:: images/cablage.JPG :width: 400 px Concernant les 2 versions de bras utilisés: on s'inspire des plans de câblage suivant: `Bras Robot Educatif Schéma électrique`_ (dans le présent projet on utilise pas le clavier et le Joystick) .. _`Bras Robot Educatif Schéma électrique` : https://www.vorobotics.com/wiki/index.php?title=Bras_Robot_Educatif#Sch%C3%A9ma_%C3%A9lectrique `Bras manipulateur`_ .. _`Bras manipulateur` : https://www.vorobotics.com/wiki/index.php?title=Bras_manipulateur#Mat%C3%A9riel Adaption avec une carte 2560 ---------------------------------------------------------------------------------------------------- L'avantage de cette carte est qu'elle possède plusieurs ports série matériels dont un port pour le début et un port pour la communication avec le serveur. Carte ARDUINO MEGA 2560: carte ADAFRUIT PWM câblée sur SDL et SCA broches dédiée de la 2560. .. image:: images/2560_sclSdaPinout.JPG .. index:: pair: BT; Bluetooth Ajout du Bluetooth **************************************************************************************************** .. image:: images/bluetooth.jpg :width: 250 px :align: right Pour faire fonctionner le bras en BT, il convient de câbler un module BT sur la liaison série n°1 BT : HC05 pass 1234, le BT sera câblé sur la serial1 de la carte 2560. Polarité RX/TX à croisé. ==================================================================================================== 3- Appairage de BT ==================================================================================================== Pour utiliser le Bluetooth (BT), il convient d'appairer la machine qui fait tourner le serveur avec le module BT utilisé. Cette opération peut s'avérer très délicate... Avant de pouvoir utiliser le serveur et le bras robot, il vaut mieux s'assurer de la communication complète entre un device BT(genre un téléphone et la carte ARDUINO). 2 étapes peuvent être conduites pour cela: 1. Vérification de la la liaison entre l'ARDUINO et le module BT : utilisation des commandes AT 2. Puis vérification de la liaison complète device<=>module HC-05<=>ARDUINO Dans le dépôt Bitbucket se trouve des outils ARDUINO comme bt2560.ino pour tester les commandes AT Pour vérifier la chaîne complète, on peut laisser le programme bt2560 dans l'ARDUINO et sur un téléphone ANDROID utiliser l'application suivante: .. image:: images/serialBluetoothTerminalIcon.JPG .. image:: images/serial_bluetooth_terminal.jpg :width: 100 px .. image:: images/serialBluetoothTerminalInstall.JPG :width: 300 px .. index:: valeurs des servos ==================================================================================================== 4- Relever les valeurs caractéristiques des servos ==================================================================================================== .. image:: images/rep_mot.JPG :width: 100 px :align: right Les valeurs des différents servomoteurs sont dans le document `Arduino codes`_ .. _`Arduino codes` : https://robotdeuxbras.bitbucket.io/Robot2bras_codes.html#refvaleursservomoteurs Afin de vérifier le fonctionnement de chaque servo individuellement et d'effectuer les différents relevés min, max, init, rangement... on pourra utiliser le programme du dépôt `testServo/commandes/commandes.ino`_ .. _`testServo/commandes/commandes.ino` : https://bitbucket.org/robotdeuxbras/robot2brascodes/src/master/testsServo/commandes/ Commandes:: : help Pour utiliser ce programme on relie directement chaque servo individuellement (broche signal) à la broche 2 de la carte ARDUINO. .. image:: images/16-Channel12-PWM-I2C.jpg :width: 250 px :align: right Commandes disponibles une fois le programme bras_manip_etincel_control_bluetooth.ino téléversé dans l'Arduino:: : help Move motor m at angle a\n" Ces valeurs sont à reporter dans le fichier ``\parametres_robot.h`` .. index:: mise en place du serveur ==================================================================================================== 5- Mise en place du serveur ==================================================================================================== Il faut avoir préalablement installer Python v3.8 ou plus. Ensuite on utilise un environnement virtuel grâce à la commande Python venv, on installe alors l'ensemble des packets nécessaires dans l'environnement virtuel. Voir l'installation des modules avec `les commandes ici`_, fichier req.txt disponible dans le dépôt `robot2brasserveur`_ .. _`robot2brasserveur` : https://bitbucket.org/robotdeuxbras/robot2brasserveur/src/master/ .. _`les commandes ici` : https://robotdeuxbras.bitbucket.io/server.html#procedure-de-copy-d-environnement-virtuel-venv Lancement du serveur : dans une fenêtre de commande windows taper : server (fichier server.bat disponible également dans le dépôt) Au lancement, le serveur essaie de se connecter à chaque port série de la machine hôte. Lorsqu'il détecte le firmware de la carte ARDUINO2560, le serveur est connecté au bras et est donc prêt à recevoir des connections web. .. image:: images/lancementDuServeur.JPG :width: 300 px A ce stade, il ne reste plus qu'à ce connecter au serveur via un navigateur internet soit à l'adresse ip indiqué par le serveur sur le port 8300 (exemple 192.168.1.94:8300) soit sur la même machine avec localhost:8300. La connexion au serveur peut se faire soit depuis le serveur lui-même soit depuis une autre machine connectée (PC, Mac ou Android) **au même réseau WIFI** que le serveur... .. index:: Interface ==================================================================================================== 6- Interface ==================================================================================================== .. image:: images/robot_2bras_modif.png :width: 400 px Le design original de cette interface est de `phpoc_man`_ à laquelle nous avons ajouté 2 boutons pour l'initialisation et le rangement... .. _`phpoc_man` : https://www.hackster.io/phpoc_man/arduino-control-arm-robot-via-web-379ef3 ==================================================================================================== Tables et index ==================================================================================================== * :ref:`genindex` * :ref:`search` ==================================================================================================== Weblinks ==================================================================================================== .. target-notes::