ESP32 S3 - Joystick

Apprenez à connecter et à programmer un module joystick avec votre carte ESP32 S3. Ce tutoriel vous guide à travers le câblage, la lecture des valeurs analogiques des deux axes, la détection des pressions de bouton, et la conversion des lectures brutes en commandes directionnelles.

Ce que vous allez construire :

  1. Un lecteur de joystick qui envoie les valeurs analogiques X et Y au Serial Monitor
  2. Un lecteur combiné de joystick et de bouton utilisant la bibliothèque ezButton
  3. Un convertisseur de commandes directionnelles (MOVE LEFT / RIGHT / UP / DOWN)
  4. Une base pour des projets de contrôle de servomoteur et de direction de robot
Joystick Pinout

Matériel nécessaire

1×ESP32 S3 WROOM N16R8
1×Alternativement: ESP32 S3 SuperMini Dev Module
1×Alternativement: ESP32 S3 Uno-form Board
1×Alternativement: ESP32 S3 Camera Board
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×Joystick
1×Plaque d'essai
1×Fils de connexion
1×Optionnel: Connecteur d'alimentation DC
1×Recommandé: Screw Terminal Expansion Board for ESP32 S3
1×Recommandé: Breakout Expansion Board for ESP32 S3
1×Recommandé: Power Splitter for ESP32 S3

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables ESP32 S3 (ESP32 S3 inclus)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du capteur joystick

Le capteur joystick est un module d'entrée analogique qui utilise deux potentiomètres internes montés perpendiculairement l'un à l'autre pour détecter une position sur deux dimensions. Il inclut aussi un bouton-poussoir intégré qui s'active quand l'axe du joystick est enfoncé. Sur l'ESP32 S3, les deux axes analogiques sont lus comme des valeurs de 0 à 4095, vous donnant un contrôle précis de la détection de mouvement.

Spécifications clés

Le joystick délivre la position de l'axe X sur la broche VRX et la position de l'axe Y sur la broche VRY, chacune comme une tension analogique entre 0V et 3,3V que l'ESP32 S3 convertit en un entier 12 bits (0 à 4095). La position de repos centrale de chaque axe se lit généralement près du point médian, autour de 2048. Le bouton-poussoir intégré sur la broche SW est normalement à HIGH lors de l'utilisation d'une résistance de tirage interne et passe à LOW quand l'axe du joystick est enfoncé. Le module est compatible avec une logique 3,3V, ce qui en fait un choix naturel pour l'ESP32 S3.

Brochage

Le module joystick a cinq broches pour la connexion à votre ESP32 S3 :

  1. GND : Connectez à la masse (0V)
  2. VCC : Connectez à l'alimentation (3,3V)
  3. VRX : Sortie analogique pour la position horizontale (axe X)
  4. VRY : Sortie analogique pour la position verticale (axe Y)
  5. SW : Sortie numérique du bouton-poussoir intégré (normalement HIGH avec résistance de tirage, LOW quand enfoncé)
Joystick Pinout

Fonctionnement

Mouvement de l'axe X (gauche/droite) :

  • Déplacer le joystick à gauche/droite change la tension sur la broche VRX
  • La tension varie de 0V (gauche) à 3,3V (droite)
  • L'ESP32 S3 lit des valeurs analogiques de 0 à 4095
  • La valeur est proportionnelle à la position horizontale du pouce

Mouvement de l'axe Y (haut/bas) :

  • Déplacer le joystick vers le haut/bas change la tension sur la broche VRY
  • La tension varie de 0V (haut) à 3,3V (bas)
  • L'ESP32 S3 lit des valeurs analogiques de 0 à 4095
  • La valeur est proportionnelle à la position verticale du pouce

Mouvement diagonal :

  • Les tensions VRX et VRY changent simultanément
  • Chaque axe délivre une sortie proportionnelle à la projection de la position
  • Crée des coordonnées 2D fluides pour n'importe quelle direction

Fonction du bouton-poussoir :

  • Enfoncez le joystick pour activer le bouton interne
  • Avec une résistance de tirage, la broche SW délivre 3,3V normalement
  • Appuyer sur le bouton amène la broche SW à 0V (GND)
  • L'ESP32 S3 lit HIGH quand relâché, LOW quand enfoncé

Schéma de câblage

Connectez le module joystick à l'ESP32 S3 en utilisant le schéma de câblage ci-dessous, en gardant le fil VCC connecté à la broche 3,3V pour rester dans le niveau logique de la carte. Vérifiez bien la connexion GND avant la mise sous tension pour éviter des lectures flottantes sur les broches analogiques.

ESP32 S3 Joystick Wiring Diagram

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Notes de sécurité

Alimentez toujours le module joystick depuis la broche 3,3V de l'ESP32 S3, jamais depuis le 5V, car les broches d'entrée analogique de l'ESP32 S3 ne tolèrent pas le 5V et appliquer une tension plus élevée peut endommager l'ADC de façon permanente. Utilisez des fils de raccordement courts et directs pour les lignes de signal analogique (VRX et VRY) afin de minimiser le bruit dans les lectures.

Broche du joystick Broche ESP32 S3
GND GND
VCC 3.3V
VRX GPIO1
VRY GPIO2
SW GPIO42

Comment programmer pour le joystick

Lire le joystick sur l'ESP32 S3 implique deux techniques distinctes : analogRead() pour les axes X et Y, et une lecture numérique anti-rebond pour le bouton-poussoir. La fonction analogRead() retourne un entier 12 bits entre 0 et 4095, représentant toute la plage de tension de chaque axe du potentiomètre. Pour le bouton, la bibliothèque ezButton simplifie l'anti-rebond afin que vous obteniez des transitions d'état propres sans écrire de logique supplémentaire.

Lecture des axes analogiques (coordonnées X, Y) :

  • Utilisez la fonction analogRead() pour les broches VRX et VRY
  • Retourne des valeurs de 0 à 4095 sur l'ESP32 S3
  • Lecture simple d'une ligne pour chaque axe
int valueX = analogRead(GPIO1); int valueY = analogRead(GPIO2);

Lecture du bouton numérique (broche SW) :

  • Traitez-le comme une entrée de bouton-poussoir standard
  • Utilisez la bibliothèque ezButton pour un anti-rebond facile
  • La bibliothèque active automatiquement la résistance de tirage interne
  • Voir le ESP32 S3 - Bouton pour plus de détails
  • Des exemples de code pour le bouton sont fournis dans les sections suivantes

Conversion des valeurs en commandes :

  • Les valeurs analogiques brutes peuvent avoir besoin d'être converties pour des applications de contrôle
  • Convertissez en commandes directionnelles (UP, DOWN, LEFT, RIGHT)
  • Mappez vers des angles de servomoteur pour des mécanismes pan-tilt
  • Mettez à l'échelle vers des valeurs de vitesse de moteur
  • Des exemples de code de conversion sont fournis ci-dessous

Code ESP32 S3

Les sections suivantes fournissent plusieurs exemples de code de joystick pour l'ESP32 S3, chacun se basant sur le précédent. Vous commencerez par lire les valeurs brutes X et Y, puis ajouterez la détection de bouton, et enfin convertirez les lectures analogiques en commandes directionnelles lisibles par un humain. Chaque exemple peut être téléversé et testé indépendamment.

Ce que ces exemples de code montrent :

  • Lire les valeurs analogiques X et Y du joystick
  • Lire les valeurs analogiques ainsi que l'état du bouton-poussoir
  • Convertir les lectures analogiques en commandes directionnelles
  • Mapper la position du joystick vers des angles de servomoteur
  • Applications pratiques pour le contrôle de jeux et de robots

Lit les valeurs analogiques du joystick

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-joystick */ #define VRX_PIN 1 // The ESP32 S3 pin connected to VRX pin #define VRY_PIN 2 // The ESP32 S3 pin connected to VRY pin int valueX = 0; // to store the X-axis value int valueY = 0; // to store the Y-axis value void setup() { Serial.begin(115200); // Set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { // read X and Y analog values valueX = analogRead(VRX_PIN); valueY = analogRead(VRY_PIN); // print data to Serial Monitor on Arduino IDE Serial.print("x = "); Serial.print(valueX); Serial.print(", y = "); Serial.println(valueY); delay(200); }

Étapes rapides

  1. Nouveau sur ESP32 S3 ? Complétez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Câbler les composants : Suivez le schéma de câblage montré ci-dessus pour connecter le joystick à votre ESP32 S3.
  3. Connecter la carte : Branchez votre ESP32 S3 à votre ordinateur à l'aide d'un câble USB Type-C.
  4. Ouvrir l'Arduino IDE : Lancez l'Arduino IDE sur votre ordinateur.
  5. Sélectionner la carte et le port : Choisissez ESP32 S3 dans le menu des cartes et sélectionnez le bon port COM.
  6. Téléverser le code : Copiez le code ci-dessus, collez-le dans l'Arduino IDE, et cliquez sur le bouton Upload.
  7. Tester le joystick : Poussez le pouce du joystick au maximum de ses limites dans toutes les directions.
  8. Faire tourner le joystick : Déplacez le pouce en un cercle complet (dans le sens horaire ou antihoraire).
  9. Ouvrir le Serial Monitor : Vérifiez la sortie pour voir les valeurs de coordonnées X et Y.
  10. Identifier les directions : Regardez le Serial Monitor pendant la rotation pour identifier quelles positions correspondent à gauche/droite/haut/bas (X=0 est à gauche, Y=0 est en haut).
  11. Astuce Pro : Marquez la base du joystick avec des flèches montrant les directions des coordonnées, pour une référence facile dans vos futurs projets.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-01-15 10:23:41] X: 2048, Y: 2012 [2026-01-15 10:23:41] X: 3890, Y: 2015 [2026-01-15 10:23:42] X: 4095, Y: 2456 [2026-01-15 10:23:42] X: 3876, Y: 3920 [2026-01-15 10:23:43] X: 2034, Y: 4095 [2026-01-15 10:23:43] X: 245, Y: 3905 [2026-01-15 10:23:44] X: 0, Y: 2467 [2026-01-15 10:23:44] X: 212, Y: 134 [2026-01-15 10:23:45] X: 2048, Y: 0 [2026-01-15 10:23:45] X: 3845, Y: 189 [2026-01-15 10:23:46] X: 2056, Y: 2018
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

※ Note:

Vous remarquerez peut-être que les valeurs analogiques ne sont pas parfaitement linéaires avec le mouvement du joystick. Cela est dû aux caractéristiques de l'ADC de l'ESP32 S3, pas au joystick lui-même. Voir la note sur la calibration de l'ADC à la fin de ce tutoriel pour plus d'informations.

Lit les valeurs analogiques et lit l'état du bouton d'un joystick

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-joystick */ #include <ezButton.h> #define VRX_PIN 1 // The ESP32 S3 pin connected to VRX pin #define VRY_PIN 2 // The ESP32 S3 pin connected to VRY pin #define SW_PIN 42 // The ESP32 S3 pin connected to SW pin ezButton button(SW_PIN); int valueX = 0; // to store the X-axis value int valueY = 0; // to store the Y-axis value int bValue = 0; // To store value of the button void setup() { Serial.begin(115200); // Set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); button.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { button.loop(); // MUST call the loop() function first // read X and Y analog values valueX = analogRead(VRX_PIN); valueY = analogRead(VRY_PIN); // Read the button value bValue = button.getState(); if (button.isPressed()) { Serial.println("The button is pressed"); // TODO do something here } if (button.isReleased()) { Serial.println("The button is released"); // TODO do something here } // print data to Serial Monitor on Arduino IDE Serial.print("x = "); Serial.print(valueX); Serial.print(", y = "); Serial.print(valueY); Serial.print(" : button = "); Serial.println(bValue); }

Étapes rapides

  1. Nouveau sur ESP32 S3 ? Complétez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Installer la bibliothèque ezButton : Cliquez sur l'icône Library Manager dans la barre de navigation gauche de l'Arduino IDE.
  3. Rechercher la bibliothèque : Tapez "ezButton" dans la zone de recherche.
  4. Trouver la bibliothèque : Localisez la bibliothèque de bouton d'ArduinoGetStarted.com.
  5. Installer : Cliquez sur le bouton Install pour ajouter la bibliothèque ezButton à votre Arduino IDE.
  • Search for ezButton created by ArduinoGetStarted.com and click the Install button.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Library Manager
Type:
All
Topic:
All
ezButton by ArduinoGetStarted.com
Button library supports debounce, pressed/released events and the press counting. It is easy to use with multiple buttons. The library can be used for push-button, momentary switches, toggle switch, magnetic contact switch (door sensor)... It is designed for not only beginners but also experienced users. More info
1.0.6
INSTALL
Newbiely.ino
···
1 void setup() {
Output
Serial Monitor
Ln 1, Col 1
ESP32S3 Dev Module on COM15
1
  1. Téléverser le code : Copiez le code ci-dessus dans l'Arduino IDE et cliquez sur Upload.
  2. Tester le mouvement X/Y : Poussez le pouce du joystick à gauche, à droite, en haut et en bas.
  3. Tester le bouton : Appuyez sur le pouce du joystick vers le bas depuis le haut pour activer le bouton.
  4. Voir les résultats : Ouvrez le Serial Monitor pour voir les valeurs X, Y et les changements d'état du bouton.
  5. Astuce Pro : La bibliothèque ezButton gère automatiquement l'anti-rebond, vous donnant une détection propre des pressions de bouton sans code supplémentaire.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-01-15 10:24:10] x = 2048, y = 2012, button: RELEASED [2026-01-15 10:24:11] x = 3890, y = 2015, button: RELEASED [2026-01-15 10:24:11] x = 4095, y = 2456, button: RELEASED [2026-01-15 10:24:12] x = 2034, y = 4095, button: RELEASED [2026-01-15 10:24:12] x = 2034, y = 4095, button: PRESSED [2026-01-15 10:24:13] x = 245, y = 3905, button: PRESSED [2026-01-15 10:24:13] x = 0, y = 2467, button: RELEASED [2026-01-15 10:24:14] x = 212, y = 134, button: RELEASED [2026-01-15 10:24:14] x = 2048, y = 0, button: RELEASED [2026-01-15 10:24:15] x = 2056, y = 2018, button: RELEASED
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Convertit la valeur analogique en commandes MOVE LEFT/RIGHT/UP/DOWN

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-joystick */ #define VRX_PIN 1 // The ESP32 S3 pin connected to VRX pin #define VRY_PIN 2 // The ESP32 S3 pin connected to VRY pin #define LEFT_THRESHOLD 1000 #define RIGHT_THRESHOLD 3000 #define UP_THRESHOLD 1000 #define DOWN_THRESHOLD 3000 #define COMMAND_NO 0x00 #define COMMAND_LEFT 0x01 #define COMMAND_RIGHT 0x02 #define COMMAND_UP 0x04 #define COMMAND_DOWN 0x08 int valueX = 0 ; // to store the X-axis value int valueY = 0 ; // to store the Y-axis value int command = COMMAND_NO; void setup() { Serial.begin(115200); // Set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { // read X and Y analog values valueX = analogRead(VRX_PIN); valueY = analogRead(VRY_PIN); // converts the analog value to commands // reset commands command = COMMAND_NO; // check left/right commands if (valueX < LEFT_THRESHOLD) command = command | COMMAND_LEFT; else if (valueX > RIGHT_THRESHOLD) command = command | COMMAND_RIGHT; // check up/down commands if (valueY < UP_THRESHOLD) command = command | COMMAND_UP; else if (valueY > DOWN_THRESHOLD) command = command | COMMAND_DOWN; // NOTE: AT A TIME, THERE MAY BE NO COMMAND, ONE COMMAND OR TWO COMMANDS // print command to serial and process command if (command & COMMAND_LEFT) { Serial.println("COMMAND LEFT"); // TODO: add your task here } if (command & COMMAND_RIGHT) { Serial.println("COMMAND RIGHT"); // TODO: add your task here } if (command & COMMAND_UP) { Serial.println("COMMAND UP"); // TODO: add your task here } if (command & COMMAND_DOWN) { Serial.println("COMMAND DOWN"); // TODO: add your task here } }

Étapes rapides

  1. Nouveau sur ESP32 S3 ? Complétez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Téléverser le code : Copiez le code de conversion de commande dans l'Arduino IDE et cliquez sur Upload.
  3. Déplacer le joystick : Poussez le pouce dans différentes directions - gauche, droite, haut, bas, et diagonale.
  4. Vérifier le Serial Monitor : Ouvrez le Serial Monitor pour voir les sorties de commande directionnelle.
  5. Tester les diagonales : Déplacez-vous vers les coins pour voir plusieurs commandes simultanées (par ex. "UP + LEFT").
  6. Astuce Pro : Ajustez les valeurs de seuil dans le code pour rendre le joystick plus ou moins sensible à vos mouvements.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-01-15 10:25:03] COMMAND: MOVE RIGHT [2026-01-15 10:25:03] COMMAND: MOVE RIGHT, MOVE DOWN [2026-01-15 10:25:04] COMMAND: MOVE DOWN [2026-01-15 10:25:04] COMMAND: MOVE DOWN, MOVE LEFT [2026-01-15 10:25:05] COMMAND: MOVE LEFT [2026-01-15 10:25:05] COMMAND: MOVE LEFT, MOVE UP [2026-01-15 10:25:06] COMMAND: MOVE UP [2026-01-15 10:25:06] COMMAND: MOVE UP, MOVE RIGHT [2026-01-15 10:25:07] (No command - centered) [2026-01-15 10:25:07] COMMAND: MOVE RIGHT
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

※ Note:

Le joystick peut délivrer zéro, une, ou deux commandes simultanément. Par exemple, quand il est poussé vers le coin supérieur gauche, il délivre à la fois "MOVE UP" et "MOVE LEFT" en même temps, parfait pour un mouvement diagonal dans les jeux et les robots.

Convertit les valeurs analogiques en angles pour contrôler deux servomoteurs

Pour des instructions détaillées sur le contrôle de servomoteurs avec votre joystick ESP32 S3, voir le tutoriel complet : ESP32 S3 - Joystick - Servomoteur

Ce que vous apprendrez dans le tutoriel servomoteur :

  • Mapper les valeurs X/Y du joystick vers des angles de servomoteur (0-180 degrés)
  • Contrôler des mécanismes de caméra pan-tilt
  • Construire des contrôles interactifs de bras robotisé
  • Réponse en temps réel du servomoteur au mouvement du joystick

※ Note:

Informations importantes sur la précision de l'ADC :

Ce tutoriel utilise la fonction analogRead() pour lire des valeurs depuis un ADC (convertisseur analogique-numérique) connecté à un capteur ou un composant. L'ADC de l'ESP32 S3 convient pour des projets qui n'exigent pas une grande précision. Cependant, pour des projets nécessitant des mesures précises, gardez à l'esprit ce qui suit :

  • L'ADC de l'ESP32 S3 n'est pas parfaitement précis et peut nécessiter un étalonnage pour obtenir des résultats corrects. Chaque carte ESP32 S3 peut varier légèrement, un étalonnage est donc nécessaire pour chaque carte individuelle.
  • L'étalonnage peut être difficile, surtout pour les débutants, et peut ne pas toujours donner exactement les résultats souhaités.

Pour des projets nécessitant une haute précision, envisagez d'utiliser un ADC externe (par ex. ADS1115) avec l'ESP32 S3, ou d'utiliser un autre Arduino, comme l'Arduino Uno R4 WiFi, qui a un ADC plus fiable. Si vous souhaitez tout de même étalonner l'ADC de l'ESP32 S3, consultez le pilote de calibration ADC ESP32.

Idées d'applications et de projets

Le montage joystick avec l'ESP32 S3 ouvre la porte à une large gamme de projets interactifs et de contrôle embarqué. Voici quelques idées pour inspirer votre prochaine construction :

  1. Voiture RC sans fil : Construisez une voiture RC sans fil avec contrôle directionnel utilisant ESP-NOW.
  2. Caméra pan-tilt : Créez un système de caméra pan-tilt pour le suivi vidéo utilisant deux servomoteurs.
  3. Contrôleur de jeu : Concevez un contrôleur de jeu pour des jeux basés sur Arduino s'exécutant sur un écran OLED.
  4. Bras robotisé : Contrôlez un bras robotisé avec des mouvements de joystick intuitifs mappés sur des angles de servomoteur.
  5. Interface de drone : Créez une interface de contrôleur de vol de drone avec une sensibilité ajustable.
  6. Contrôle de fauteuil roulant : Construisez un système de contrôle par joystick pour fauteuil roulant électrique avec montée en vitesse progressive.
  7. Console d'arcade : Créez une console de jeu de style arcade avec entrée joystick et bouton.
  8. Slider de caméra : Concevez un slider de caméra avec contrôle de positionnement précis entraîné par des moteurs pas à pas.

Tutoriel vidéo

Regardez la vidéo pas à pas de ce projet ESP32 S3 ci-dessous.

Défiez-vous

Terminer les exemples ci-dessus vous donne une base solide pour des projets basés sur joystick avec l'ESP32 S3. Essayez les défis suivants pour approfondir votre compréhension et pousser vos compétences plus loin :

  1. Débutant : Ajoutez des indicateurs LED qui s'allument selon la direction du joystick (4 LEDs pour haut/bas/gauche/droite).
  2. Débutant : Affichez les valeurs X et Y du joystick sur un écran OLED ou LCD au lieu du Serial Monitor.
  3. Intermédiaire : Créez un programme de dessin qui trace le mouvement du joystick sur un écran OLED en temps réel.
  4. Intermédiaire : Ajoutez un contrôle de vitesse en mappant la distance du joystick par rapport au centre vers des valeurs de vitesse de moteur.
  5. Avancé : Construisez un contrôleur de joystick sans fil utilisant ESP-NOW pour contrôler un autre ESP32 S3 à distance.
  6. Avancé : Implémentez une reconnaissance de gestes qui détecte des motifs de mouvement de joystick spécifiques (cercles, figures en 8, etc.).

Références de fonctions

Commentaires

Tutoriels connexes

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !