++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projet de développement ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .. include:: volabid.rst :Date de création: 08/2021 :Date dernière maj: 27/10/2024 Ce travail part de Maquette de robot industriel à fabriquer : `le projet Bras manipulateur`_ ==================================================================================================== Objectifs de la version 2.0 de la maquette de robot industriel à fabriquer ==================================================================================================== L'idée est de reprendre le projet `Arduino - Control Arm Robot via Web`_ sur Hackster.io et d'essayer de piloter `le projet Bras manipulateur`_ sans la carte PHPoc. Le projet de la future interface web sera celle-ci afin de commander la rotation de la base et des deux parties du bras. Le programme sera complété par l'allumage et l'extinction des LEDs. .. image:: images/robot_2bras_modif.png :width: 200 px .. image:: images/bras_freecad.jpg :width: 147 px .. _`Arduino - Control Arm Robot via Web` : https://www.hackster.io/phpoc_man/arduino-control-arm-robot-via-web-379ef3 .. _`le projet Bras manipulateur` : https://lecorsiergilles.blogspot.com/2020/11/bras-robot-simple.html .. _`Bibliothèque Serial` : https://arduino.blaisepascal.fr/bibliotheque-serial/ Afin de compléter le projet, une application smartphone est présentée et qui permet de piloter le bras. .. image:: images/ecranV2.png :width: 147 px Présentation du robotArm.html (base de départ de l'étude) ---------------------------------------------------------------------------------------------------- .. image:: images/robotArm_hacksterio_gilles.JPG :width: 200 px .. image:: images/appli_robot.jpg :width: 600 px .. index:: single: arduino 2560 .. index:: single: Serial ==================================================================================================== Mise en oeuvre ==================================================================================================== - `La Carte Seeeduino Lotus v1,1`_ du premier projet est remplacée par `la carte Arduino 2560`_. - `La carte contrôleur PWM/servo 16 canaux`_ : L'Adafruit 16-Channel 12-bit PWM / Servo Driver conduira jusqu'à 16 servos sur I2C avec seulement 2 broches avec une alimentation extérieure en 5V continu. - Connexion bluetooth entre le serveur et le bras en liaison softserial (FTDI) cf. `Bibliothèque Serial`_ et entre le smatphone et le bras. - Connexion entre un possible PC client et le serveur en Wifi. .. _`La carte contrôleur PWM/servo 16 canaux` : https://learn.adafruit.com/16-channel-pwm-servo-driver .. _`la Carte Seeeduino Lotus v1,1` : https://www.seeedstudio.com/Seeeduino-Lotus-V1-1-ATMega328-Board-with-Grove-Interface.html .. _`la carte Arduino 2560` : http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.MaterielMega2560 .. index:: single: architecture .. index:: single: carte contrôleur PWM ==================================================================================================== Architecture ==================================================================================================== Diagrammes de séquences ---------------------------------------------------------------------------------------------------- **1-INTERFACE WEB** .. uml:: actor "ordi\nNavigateur Web" as ordi #red participant "SERVEUR\nHTTP" as serv_http participant "SERVEUR\nWebSocket" as serv_WS participant "ARDUINO 2560\nMain loop" as arduino_mainloop entity "Bras\nMoteurs" as Bras #blue == INIT == [o->arduino_mainloop : Mise sous tension note over arduino_mainloop:Initialisation du serveur Web note over arduino_mainloop:Initialisation WebSocket arduino_mainloop-> Bras : CMD6MOT\nPosition verticale == PROGRAMME == ordi -> serv_http : Req "/" activate serv_http serv_http --> ordi : Index HTML deactivate serv_http ordi -> serv_http : CLICK "Connect" activate serv_http serv_http -> serv_WS : Trame INIT Web activate serv_WS serv_WS --> serv_http : Connect serv_http --> ordi :CONNECTED deactivate serv_http serv_WS -> arduino_mainloop : Trame INIT\nbase, épaule, coude, ... deactivate serv_WS activate arduino_mainloop arduino_mainloop -> Bras :position INIT Web deactivate arduino_mainloop ordi -> serv_http : CLICK éléments graphiques activate serv_http serv_http -> serv_WS : Trame deactivate serv_http activate serv_WS serv_WS -> arduino_mainloop : Trame deactivate serv_WS activate arduino_mainloop arduino_mainloop -> Bras : STEPNUM Calcul\nMove MotorWeb deactivate arduino_mainloop **2-APPLICATION SMARTPHONE** .. uml:: actor "Smartphone\napplication" as smartphone #red participant "ARDUINO 2560\nMain loop" as arduino_mainloop entity "Bras\nMoteurs" as Bras #blue == INIT == [o->arduino_mainloop : Mise sous tension arduino_mainloop-> Bras : CMD6MOT\nPosition verticale == PROGRAMME == smartphone -> arduino_mainloop : CLICK "Connect" activate arduino_mainloop arduino_mainloop -> smartphone : CONNECTED deactivate arduino_mainloop smartphone -> arduino_mainloop : CLICK "élément graphique" activate arduino_mainloop arduino_mainloop -> Bras : appInventorInterface\nbase, épaule, coude, ... deactivate arduino_mainloop Informatique/Electronique ---------------------------------------------------------------------------------------------------- .. image:: images/architecture_branchement.png :width: 600 px Au niveau de l'ARDUINO, la communication avec le BT se fait via le port série 1 de la carte ARDUINO 2560 Le smartphone et son application permet de piloter la maquette via le Bluetooth. Les servo moteur sont pilotés par `La carte contrôleur PWM/servo 16 canaux`_ cf. `le projet Bras manipulateur`_ Mécanique ---------------------------------------------------------------------------------------------------- .. image:: images/photo_bras.png :width: 300 px `Robot2bras freecad`_ .. _`Robot2bras freecad` : https://bitbucket.org/robotdeuxbras/robot2brasfreecad/src/main/ `Robot2bras sketchup`_ .. _`Robot2bras sketchup` : https://bitbucket.org/robotdeuxbras/robot2brassketchup/src/main/ Pédagogique ---------------------------------------------------------------------------------------------------- Au départ, ce projet est surtout en direction du collège `bras-robot-simple.html`_ mais avec les mises à jour, beaucoup de notions peuvent être aboordées au lycée. .. _`bras-robot-simple.html` : https://lecorsiergilles.blogspot.com/2020/11/bras-robot-simple.html .. image:: images/champ_etude.png :width: 600 px .. index:: single: git .. index:: single: bitbucket ==================================================================================================== Dépôts git sur Bitbucket ==================================================================================================== `Robot2bras docsources`_ .. _`Robot2bras docsources` : https://bitbucket.org/robotdeuxbras/robot2brasdocsources/src/master/ `Robot2bras serveur`_ .. _`Robot2bras serveur` : https://bitbucket.org/robotdeuxbras/robot2brasserveur/src/master/ `Robot2bras codes`_ .. _`Robot2bras codes` : https://bitbucket.org/robotdeuxbras/robot2brascodes/src/master/ `Robot2bras freecad`_ .. _`Robot2bras freecad` : https://bitbucket.org/robotdeuxbras/robot2brasfreecad/src/main/ `Robot2bras sketchup`_ .. _`Robot2bras sketchup` : https://bitbucket.org/robotdeuxbras/robot2brassketchup/src/main/ ==================================================================================================== Tables et index ==================================================================================================== * :ref:`genindex` * :ref:`search` ==================================================================================================== Weblinks ==================================================================================================== .. target-notes::