Joystick Web Arduino Nano ESP32 avec la bibliothèque DIYables ESP32 WebApps
Vue d'ensemble
Ce tutoriel couvre la classe DIYablesWebJoystickPage de la bibliothèque DIYables ESP32 WebApps. La page du navigateur affiche un joystick virtuel tactile et compatible souris qui envoie les coordonnées X/Y à l'Arduino Nano ESP32 via WebSocket. Le sketch enregistre un callback qui reçoit ces valeurs et peut les appliquer aux pilotes de moteur, aux contrôleurs de servo ou à tout matériel directionnel.

Ce que ce tutoriel couvre
- Instanciation de la page joystick avec les paramètres de retour automatique et de sensibilité
- Réception des valeurs de position X/Y dans un callback de sketch
- Utilisation des coordonnées pour contrôler un système moteur à entraînement différentiel
- Retour de la position actuelle du joystick au navigateur sur demande
Matériel nécessaire
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
Étapes
Suivez ces instructions étape par étape :
- Si c'est la première fois que vous utilisez l'Arduino Nano ESP32, consultez le tutoriel sur Installation du logiciel Arduino Nano ESP32..
- Connectez la carte Arduino Nano ESP32 à votre ordinateur à l'aide d'un câble USB.
- Lancez l'Arduino IDE sur votre ordinateur.
- Sélectionnez la carte appropriée (par ex. Arduino Nano ESP32) et le port COM.
- Accédez à l'icône Bibliothèques dans la barre gauche de l'Arduino IDE.
- Recherchez "DIYables ESP32 WebApps", puis trouvez la bibliothèque DIYables ESP32 WebApps par DIYables
- Cliquez sur le bouton Installer pour installer la bibliothèque.
- Search for DIYables ESP32 WebApps created by DIYables and click the Install button.
- Il vous sera demandé d'installer d'autres dépendances de bibliothèques
- Cliquez sur le bouton Tout installer pour installer toutes les dépendances de la bibliothèque.
- Dans Arduino IDE, allez dans Fichier Exemples DIYables ESP32 WebApps WebJoystick, ou copiez le code ci-dessus et collez-le dans l'éditeur Arduino IDE
- Mettez à jour les identifiants WiFi dans le sketch :
- Cliquez sur le bouton Téléverser dans Arduino IDE pour téléverser le code sur Arduino Nano ESP32
- Ouvrez le Moniteur Série
- La sortie du Moniteur Série devrait ressembler à ce qui suit :
- Si rien n'apparaît, appuyez sur le bouton de réinitialisation de la carte.
- Entrez l'adresse IP du Moniteur Série dans un navigateur sur le même réseau.
- Exemple : http://192.168.0.2
- La page d'accueil affiche une carte pour l'application joystick :

- Sélectionnez la carte Joystick web pour ouvrir la page de contrôle :

- La page est également accessible directement à http://192.168.0.2/web-joystick.
- Faites glisser le joystick et observez les valeurs X/Y affichées dans le Moniteur Série.
Configuration du joystick
Paramètres par défaut
Paramètres personnalisés
Système de coordonnées
- Axe X : –100 (plein gauche) à +100 (plein droit)
- Axe Y : –100 (plein bas) à +100 (plein haut)
- Centre : X = 0, Y = 0 (neutre)
Callbacks
Réception des mises à jour de position
Fourniture de la position au navigateur
Appelé quand un navigateur se connecte et demande l'état actuel :
Exemple de contrôle moteur
Mappez le X/Y du joystick à un système moteur à entraînement différentiel :
Dépannage
Le joystick bouge dans le navigateur mais le Moniteur Série ne montre rien
- Vérifiez que onJoystickValueFromWeb est enregistré avant webAppsServer.begin()
- Confirmez que l'indicateur de statut WebSocket affiche "connecté" dans le navigateur
Le joystick ne revient pas au centre
- autoReturn doit être true dans le constructeur (il est true par défaut)
- Le navigateur gère l'animation de retour au centre ; la carte ne reçoit que les événements de position
Trop de mises à jour par seconde causant des lenteurs
- Augmentez le paramètre sensitivity (par ex., passez de 5 à 15)
- Ajoutez une vérification d'intervalle minimum dans le callback avant d'exécuter des actions matérielles
Carte non accessible
- La carte et l'appareil du navigateur doivent être sur le même réseau 2,4 GHz
- Confirmez que l'adresse IP du Moniteur Série est correcte