Hexapod Spider Robot Kit for Arduino

Liens :

Distribution de travail : Lubuntu 24.04

I/ Montage du robot.

Cf. : Le manuel

IMG_20250212_190715585_AE.jpg

IMG_20250212_190741718_AE.jpg

IMG_20250212_190818467_AE.jpg

IMG_20250212_190837983_AE.jpg

IMG_20250212_190735147_AE.jpg

IMG_20250212_190755837_AE.jpg

IMG_20250212_190825119_AE.jpg

II/ Configuration de l'IDE Arduino

1/ Lancement de l'IDE Arduino.

util01@station54:~$ cd ARDUINO/arduino-ide_2.3.2_Linux_64bit
util01@station54:~/arduino-ide_2.3.2_Linux_64bit$ /arduino-ide

2/ Choisir le carte de type.

Menu [Tools][Board][Arduino AVR Boards] : Arduino Uno

3/ Choisir le port.

Menu [Tools][Port] : /dev/ttyUSB0

4/ Connecter le robot à l'ordinateur via un câble USB.

5/ Flasher l'Arduino Uno.

  • Positionner l'interrupteur [Upload] à : 0

  • Ouvrir le sketch '.ino' :

https://github.com/HackTechDev/hexapod_lib_arduino_v3/blob/master/WIFI_control_copy_20250216132006/WIFI_control_copy_20250216132006.ino

  • Librairie Hexapod modifié :

La carte Pixie est basé sur Arduino Uno, cette carte gère seulement 12 servo-moteurs mais, bizarrement, il y a 13 connecteurs sur cette carte. Selon cette publication, c'est une erreur de conception de la part de Adeept :
https://forum.dronebotworkshop.com/motors/adeept-hexapod-kit-ada033-thirteenth-servo-will-not-attach/paged/4/#post-25448

La tête (Head) géré par le servo-moteur 11 et est connecté sur la broche D14 ne peut donc pas être géré

Dans le code suivant : https://github.com/HackTechDev/hexapod_lib_arduino_v3/blob/master/hexpod.cpp

J'ai désactivé le code pour la gestion du servo-moteur Leg6. Le servo-moteur de la tête est connecté sur le connecteur D13.

Fichier 'hexpod.cpp' à copier dans le répertoire :

~/Arduino/library/hexpod/
  • Compiler le programme :

[Sketch][Verify/Compile]

  • Envoyer le programme vers l'Arduino :

[Sketch][Upload]

  • Repositionner l'interrupteur [Upload] à : 1

  • Redémarrer la carte, appuyer sur le bouton [RESET]

III/ Télécommander le robot.

1/ Création du répertoire de travail

util01@station54:~$ mkdir HEXAPOD
util01@station54:~$ cd HEXAPOD/
util01@station54:~/HEXAPOD$ 

2/ Scanner les réseaux sans-fil.

util01@station54:~/HEXAPOD$ nmcli connection show
NAME                           UUID                                  TYPE      DEVICE 
ressf01                        0af28875-e2cf-4ac1-98d1-09f279fe50ac  wifi      wlo1   
lo                             2912e8f7-46c8-44ac-8272-b5171e94d58f  loopback  lo     
Adeept_ESP                     03b85917-fd1b-4665-aeba-a926e289980a  wifi      --     
Connexion filaire 1            d5e5983b-124e-39f7-84e8-3644c66362eb  ethernet  --     
...
util01@station54:~/HEXAPOD$ 

3/ Allumer l'hexapod.

Le réseau wifi de l'hexapod est : Adeept_ESP
Avec le mot de passe : 12345678

4/ Se connecter sur le réseau wifi de l'hexapod.

util01@station54:~/HEXAPOD$ nmcli device wifi connect "Adeept_ESP" password 12345678
Périphérique « wlo1 » activé avec « 03b85917-fd1b-4665-aeba-a926e289980a ».
util01@station54:~/HEXAPOD$ 

Il se peut qu'il faille exécuter la commande plusieurs fois afin que la connexion wifi s'établisse correctement.

5/ Vérification.

util01@station54:~/HEXAPOD$ nmcli connection show
NAME                           UUID                                  TYPE      DEVICE 
Adeept_ESP                     03b85917-fd1b-4665-aeba-a926e289980a  wifi      wlo1   
lo                             2912e8f7-46c8-44ac-8272-b5171e94d58f  loopback  lo     
Connexion filaire 1            d5e5983b-124e-39f7-84e8-3644c66362eb  ethernet  --     
ressf01                        0af28875-e2cf-4ac1-98d1-09f279fe50ac  wifi      --     
...
util01@station54:~/HEXAPOD$ 

6/ Télécharger le code source Python de la télécommande.

https://github.com/HackTechDev/hexapod_v3

7/ Lancer la télécommande de l'hexapod.

util01@station54:~/HEXAPOD$ sudo python3 remotecontrol.py

hexapod02.png

8/ Se connecter au robot.

Le bouton [Disconnected] est en rouge.
Cliquer sur le bouton [Connect].
Au bout de quelques secondes, le bouton [Connected] devient vert.

hexapod01.png

9/ Les déplacements.

[Forward] : Pour avancer
[Backward] : Pour reculer
[Left] : Pour tourner vers la gauche
[Right] : Pour tourner vers la droite
[Steady] : Pour être en repos

10/ Vidéo.