{"id":17356,"date":"2025-03-01T23:17:34","date_gmt":"2025-03-01T23:17:34","guid":{"rendered":"https:\/\/edukeytech.com\/?post_type=product&#038;p=17356"},"modified":"2025-03-01T23:17:34","modified_gmt":"2025-03-01T23:17:34","slug":"module-joystick-double-axe-xy","status":"publish","type":"product","link":"https:\/\/edukeytech.com\/en\/product\/module-joystick-double-axe-xy\/","title":{"rendered":"Module Joystick Double Axe XY"},"content":{"rendered":"<p><strong>Module Joystick Double Axe XY \u2013 Contr\u00f4le de Pr\u00e9cision pour Interfaces et Robotique<\/strong><\/p>\n<p><strong>Pr\u00e9sentation<\/strong><\/p>\n<p><strong>Le module joystick double axe XY est un dispositif d\u2019entr\u00e9e analogique et num\u00e9rique permettant un contr\u00f4le fluide et pr\u00e9cis dans deux directions (X et Y). Il est largement utilis\u00e9 dans des applications vari\u00e9es telles que la commande de robots, les interfaces utilisateur interactives, les jeux vid\u00e9o et les syst\u00e8mes de navigation embarqu\u00e9s.<\/strong><\/p>\n<p><strong>Caract\u00e9ristiques Techniques<\/strong><\/p>\n<ul>\n<li><strong>Tension d\u2019alimentation : 5V DC<\/strong><\/li>\n<li><strong>Sorties : <\/strong>\n<ul>\n<li><strong>Deux sorties analogiques pour les axes X et Y<\/strong><\/li>\n<li><strong>Une sortie num\u00e9rique pour le bouton-poussoir int\u00e9gr\u00e9<\/strong><\/li>\n<\/ul>\n<\/li>\n<li><strong>Dimensions : 34 x 34 x 15 mm<\/strong><\/li>\n<li><strong>Type de capteur : Potentiom\u00e8tres lin\u00e9aires pour les axes X et Y<\/strong><\/li>\n<li><strong>Bouton-poussoir : Interrupteur int\u00e9gr\u00e9 pour des interactions suppl\u00e9mentaires<\/strong><\/li>\n<\/ul>\n<p><strong>Principe de Fonctionnement<\/strong><\/p>\n<p><strong>Le module joystick fonctionne gr\u00e2ce \u00e0 deux potentiom\u00e8tres permettant de mesurer la variation de tension en fonction de la position du levier. Lorsque le joystick est d\u00e9plac\u00e9, les valeurs analogiques des axes X et Y changent proportionnellement \u00e0 la position. Un bouton int\u00e9gr\u00e9 d\u00e9tecte les pressions verticales pour ajouter une interaction suppl\u00e9mentaire.<\/strong><\/p>\n<p><strong>Applications<\/strong><\/p>\n<ul>\n<li><strong>Contr\u00f4le de robots et de bras robotiques<\/strong><\/li>\n<li><strong>Interfaces utilisateur interactives<\/strong><\/li>\n<li><strong>Syst\u00e8mes de navigation et drones<\/strong><\/li>\n<li><strong>Simulateurs et contr\u00f4leurs de jeu<\/strong><\/li>\n<li><strong>Projets DIY et domotiques<\/strong><\/li>\n<\/ul>\n<p><strong>Brochage<\/strong><\/p>\n<ul>\n<li><strong>VCC : Alimentation 5V<\/strong><\/li>\n<li><strong>GND : Masse<\/strong><\/li>\n<li><strong>VRx : Sortie analogique de l\u2019axe X<\/strong><\/li>\n<li><strong>VRy : Sortie analogique de l\u2019axe Y<\/strong><\/li>\n<li><strong>SW : Sortie num\u00e9rique du bouton-poussoir (active \u00e0 l\u2019\u00e9tat bas)<\/strong><\/li>\n<\/ul>\n<p><strong>Utilisation avec un Arduino<\/strong><\/p>\n<p><strong>Connexion au Microcontr\u00f4leur<\/strong><\/p>\n<p><strong>Pour exploiter le module joystick avec une carte Arduino, effectuez les connexions suivantes :<\/strong><\/p>\n<table>\n<thead>\n<tr>\n<td><strong>Broche Joystick<\/strong><\/td>\n<td><strong>Connexion Arduino<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>VCC<\/strong><\/td>\n<td><strong>5V<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>GND<\/strong><\/td>\n<td><strong>GND<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>VRx<\/strong><\/td>\n<td><strong>A0 (entr\u00e9e analogique)<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>VRy<\/strong><\/td>\n<td><strong>A1 (entr\u00e9e analogique)<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>SW<\/strong><\/td>\n<td><strong>D2 (entr\u00e9e num\u00e9rique)<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Exemple de Code Arduino \u2013 Lecture des Axes et du Bouton<\/strong><\/p>\n<p><strong>Code de Base avec Affichage S\u00e9rie<\/strong><\/p>\n<p><strong>#define VRX_PIN A0<\/strong><\/p>\n<p><strong>#define VRY_PIN A1<\/strong><\/p>\n<p><strong>#define SW_PIN 2<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>void setup() {<\/strong><\/p>\n<p><strong>\u00a0 Serial.begin(9600);<\/strong><\/p>\n<p><strong>\u00a0 pinMode(SW_PIN, INPUT_PULLUP);<\/strong><\/p>\n<p><strong>}<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>void loop() {<\/strong><\/p>\n<p><strong>\u00a0 int xValue = analogRead(VRX_PIN);<\/strong><\/p>\n<p><strong>\u00a0 int yValue = analogRead(VRY_PIN);<\/strong><\/p>\n<p><strong>\u00a0 int buttonState = digitalRead(SW_PIN);<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>\u00a0 Serial.print(\u00ab\u00a0X-axis: \u00ab\u00a0);<\/strong><\/p>\n<p><strong>\u00a0 Serial.print(xValue);<\/strong><\/p>\n<p><strong>\u00a0 Serial.print(\u00a0\u00bb | Y-axis: \u00ab\u00a0);<\/strong><\/p>\n<p><strong>\u00a0 Serial.print(yValue);<\/strong><\/p>\n<p><strong>\u00a0 Serial.print(\u00a0\u00bb | Button: \u00ab\u00a0);<\/strong><\/p>\n<p><strong>\u00a0 Serial.println(buttonState);<\/strong><\/p>\n<p><strong>\u00a0 <\/strong><\/p>\n<p><strong>\u00a0 <\/strong><strong>delay(100);<\/strong><\/p>\n<p><strong>}<\/strong><\/p>\n<p><strong>Explication du Code<\/strong><\/p>\n<ul>\n<li><strong>Lecture des entr\u00e9es analogiques : Les valeurs des axes X et Y sont obtenues via analogRead().<\/strong><\/li>\n<li><strong>Lecture de l\u2019\u00e9tat du bouton : digitalRead(SW_PIN) permet de d\u00e9tecter l\u2019appui du bouton (0 = press\u00e9, 1 = rel\u00e2ch\u00e9).<\/strong><\/li>\n<li><strong>Affichage des valeurs sur le moniteur s\u00e9rie : Les donn\u00e9es sont envoy\u00e9es pour analyse et calibration.<\/strong><\/li>\n<\/ul>\n<p><strong>Exemple de Code Avanc\u00e9 \u2013 Affichage sur un \u00c9cran LCD I2C<\/strong><\/p>\n<p><strong>Mat\u00e9riel Suppl\u00e9mentaire N\u00e9cessaire<\/strong><\/p>\n<ul>\n<li><strong>\u00c9cran LCD I2C 1602<\/strong><\/li>\n<li><strong>R\u00e9sistances et c\u00e2bles de connexion<\/strong><\/li>\n<\/ul>\n<p><strong>Connexion de l\u2019\u00c9cran LCD<\/strong><\/p>\n<table>\n<thead>\n<tr>\n<td><strong>Broche LCD<\/strong><\/td>\n<td><strong>Connexion Arduino<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>VCC<\/strong><\/td>\n<td><strong>5V<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>GND<\/strong><\/td>\n<td><strong>GND<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>SCL<\/strong><\/td>\n<td><strong>A5<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>SDA<\/strong><\/td>\n<td><strong>A4<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Code avec Affichage sur LCD<\/strong><\/p>\n<p><strong>#include &lt;Wire.h&gt;<\/strong><\/p>\n<p><strong>#include &lt;LiquidCrystal_I2C.h&gt;<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>LiquidCrystal_I2C lcd(0x27, 16, 2);<\/strong><\/p>\n<p><strong>#define VRX_PIN A0<\/strong><\/p>\n<p><strong>#define VRY_PIN A1<\/strong><\/p>\n<p><strong>#define SW_PIN 2<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>void setup() {<\/strong><\/p>\n<p><strong>\u00a0 lcd.begin();<\/strong><\/p>\n<p><strong>\u00a0 lcd.backlight();<\/strong><\/p>\n<p><strong>\u00a0 Serial.begin(9600);<\/strong><\/p>\n<p><strong>\u00a0 pinMode(SW_PIN, INPUT_PULLUP);<\/strong><\/p>\n<p><strong>}<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>void loop() {<\/strong><\/p>\n<p><strong>\u00a0 int xValue = analogRead(VRX_PIN);<\/strong><\/p>\n<p><strong>\u00a0 int yValue = analogRead(VRY_PIN);<\/strong><\/p>\n<p><strong>\u00a0 int buttonState = digitalRead(SW_PIN);<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>\u00a0 lcd.clear();<\/strong><\/p>\n<p><strong>\u00a0 lcd.setCursor(0, 0);<\/strong><\/p>\n<p><strong>\u00a0 lcd.print(\u00ab\u00a0X: \u00ab\u00a0);<\/strong><\/p>\n<p><strong>\u00a0 <\/strong><strong>lcd.print(xValue);<\/strong><\/p>\n<p><strong>\u00a0 lcd.setCursor(8, 0);<\/strong><\/p>\n<p><strong>\u00a0 lcd.print(\u00ab\u00a0Y: \u00ab\u00a0);<\/strong><\/p>\n<p><strong>\u00a0 lcd.print(yValue);<\/strong><\/p>\n<p><strong>\u00a0 <\/strong><strong>lcd.setCursor(0, 1);<\/strong><\/p>\n<p><strong>\u00a0 lcd.print(\u00ab\u00a0Button: \u00ab\u00a0);<\/strong><\/p>\n<p><strong>\u00a0 lcd.print(buttonState ? \u00ab\u00a0Released\u00a0\u00bb : \u00ab\u00a0Pressed\u00a0\u00bb);<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>\u00a0 <\/strong><strong>delay(100);<\/strong><\/p>\n<p><strong>}<\/strong><\/p>\n<p><strong>Explication du Code Avanc\u00e9<\/strong><\/p>\n<ul>\n<li><strong>Utilisation de la biblioth\u00e8que LiquidCrystal_I2C : Gestion simplifi\u00e9e de l\u2019affichage sur \u00e9cran LCD via communication I2C.<\/strong><\/li>\n<li><strong>Affichage des valeurs des axes X et Y : Mise \u00e0 jour en temps r\u00e9el sur l\u2019\u00e9cran LCD.<\/strong><\/li>\n<li><strong>Indication de l\u2019\u00e9tat du bouton : Permet de visualiser instantan\u00e9ment l\u2019interaction utilisateur.<\/strong><\/li>\n<\/ul>\n<p><strong>Installation des Biblioth\u00e8ques pour l\u2019Arduino IDE<\/strong><\/p>\n<p><strong>Installation de LiquidCrystal I2C<\/strong><\/p>\n<ol>\n<li><strong>Ouvrez l\u2019IDE Arduino.<\/strong><\/li>\n<li><strong>Allez dans Croquis &gt; Inclure une biblioth\u00e8que &gt; G\u00e9rer les biblioth\u00e8ques.<\/strong><\/li>\n<li><strong>Recherchez LiquidCrystal I2C.<\/strong><\/li>\n<li><strong>Cliquez sur Installer.<\/strong><\/li>\n<\/ol>\n<p><strong>\u00a0<\/strong><\/p>","protected":false},"excerpt":{"rendered":"<p><strong>Le module joystick double axe XY est un dispositif d\u2019entr\u00e9e analogique et num\u00e9rique permettant un contr\u00f4le fluide et pr\u00e9cis dans deux directions (X et Y).<\/strong><\/p>","protected":false},"featured_media":17357,"comment_status":"open","ping_status":"closed","template":"","meta":{"_joinchat":[]},"product_brand":[],"product_cat":[161],"product_tag":[],"class_list":{"0":"post-17356","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-capteurs","8":"first","9":"instock","10":"shipping-taxable","11":"purchasable","12":"product-type-simple"},"_links":{"self":[{"href":"https:\/\/edukeytech.com\/en\/wp-json\/wp\/v2\/product\/17356","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/edukeytech.com\/en\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/edukeytech.com\/en\/wp-json\/wp\/v2\/types\/product"}],"replies":[{"embeddable":true,"href":"https:\/\/edukeytech.com\/en\/wp-json\/wp\/v2\/comments?post=17356"}],"version-history":[{"count":1,"href":"https:\/\/edukeytech.com\/en\/wp-json\/wp\/v2\/product\/17356\/revisions"}],"predecessor-version":[{"id":17359,"href":"https:\/\/edukeytech.com\/en\/wp-json\/wp\/v2\/product\/17356\/revisions\/17359"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/edukeytech.com\/en\/wp-json\/wp\/v2\/media\/17357"}],"wp:attachment":[{"href":"https:\/\/edukeytech.com\/en\/wp-json\/wp\/v2\/media?parent=17356"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/edukeytech.com\/en\/wp-json\/wp\/v2\/product_brand?post=17356"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/edukeytech.com\/en\/wp-json\/wp\/v2\/product_cat?post=17356"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/edukeytech.com\/en\/wp-json\/wp\/v2\/product_tag?post=17356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}