Le Shield Arduino Joystick + BPx2 est un produit innovant qui permet aux utilisateurs de créer des projets interactifs et ludiques. Il est facile à utiliser et offre une variété de possibilités pour les développeurs et les créateurs. Dans cet article, nous allons vous montrer comment tester le Shield Arduino Joystick + BPx2 et vous expliquer comment l’utiliser pour créer des projets intéressants.
Test simple du Shield Arduino Joystick + BPx2
(cliquer sur l’image pour agrandir)
1. Présentation
Ce programme test le Shield Arduino Joystick + BPx2 et affiche l’état des BP et du Joystick dans la fenetre Terminal série.
Ce programme utilise les fonctionnalités suivantes :
- Utilise la connexion série vers le PC
- Utilise la conversion analogique numérique 10 bits
- La carte d’extension (shield) Arduino Joystick + BPx2
Ressources utiles associées à ce programme :
- La librairie Serial – pour les communications séries entre la carte Arduino et l’ordinateur ou d’autres composants
- La page de présentation de la carte d’extension (shield) Arduino Joystick + BPx2
2. Matériel Nécessaire
2.1 L’espace de développement Arduino
- … pour éditer, compiler le programme et programmer la carte Arduino.

2.2 Le matériel suivant pour réaliser le montage associé

3. Instructions de montage
- La connexion série vers le PC utilise les broches 0 et 1 (via le câble USB)
- Enficher la carte d’extension (shield) Arduino Joystick + BPx2 broche à broche sur la carte Arduino
4. Le schéma théorique du montage
Le schéma théorique du montage (cliquer pour agrandir)
5. Le circuit du montage
Le schéma du montage à réaliser (cliquer pour agrandir)
6. Fonctionnement du programme
6.1 Structure globale du programme
Ce programme simple comprend :
- une entête déclarative
- une partie « configuration » qui ne sera exécutée qu’une fois (fonction setup( ) )
- une partie constituée d’une boucle sans fin que le programme répètera à l’infini ( fonction loop( ) ) : c’est le coeur du programme.
6.2 Déroulement du programme
Le programme se déroule de la façon suivante :
- Après avoir pris en compte les instructions de la partie déclarative,
- puis après avoir exécuté la partie configuration ( fonction setup( ) ),
- le programme bouclera sans fin ( fonction loop ( ) ), exécutant de façon répétée le code compris dans la boucle sans fin.

Le déroulement du programme
7. Explication du programme
7.1 Au niveau de la partie déclarative :
- On renomme les broches utilisées par le shield Joystick.
7.2 Au niveau de la fonction d’initialisation setup( ) :
- On met en entrée les broches utilisées avec les BP
- A noter que les BP sont actifs sur niveau BAS.
- A noter également que le « rappel au plus » est déjà présent sur la carte et n’a pas besoin d’être activé ici.
7.3 Au niveau de la boucle principale, la fonction loop ( ) :
- On réalise une mesure sur les broches analogiques des axes du Joystick et on affiche le résultat dansle Terminal
- On teste l’état des BP et on affiche le résultat également dans le Terminal.
8. Mise en oeuvre du programme
8.1 Préparation du montage et programmation de la carte Arduino :
- Commencer par réaliser le montage indiqué sur plaque d’expérimentation
- Ensuite, programmer la carte Arduino avec ce programme (en bas de page) selon la procédure habituelle
8.2 Préparation du Terminal côté PC dans le logiciel Arduino
- Côté PC, il faut ouvrir la fenêtre terminal de l’IDE Arduino : pour ce faire, un simple clic sur le bouton « Sérial Monitor ».

- La fenêtre « Terminal » s’ouvre alors :

- Il faut alors régler le débit de communication sur la même valeur que celle utilisée par le programme avec lequel nous allons programmer la carte Arduino :

8.3 Fonctionnement
- Un message indiquant l’état du Joystick et des BP s’affiche à intervalle régulier dans la fenêtre Terminal :
(cliquer sur l’image pour agrandir)
9. Le programme complet en langage Arduino
A copier/coller directement dans l’éditeur Arduino
// Trame de code générée par le générateur de code Arduino
// du site www.mon-club-elec.fr
// Auteur du Programme : X. HINAULT – Tous droits réservés
// Programme écrit le : 18/2/2011.
// ——- Licence du code de ce programme —–
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License,
// or any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
// //////////////////// PRESENTATION DU PROGRAMME ////////////////////
// ——– Que fait ce programme ? ———
/* Ce programme test le Shield Arduino Joystick + BPx2
et affiche l’état des BP et du Joystick dans la fenetre Terminal série. */
// — Fonctionnalités utilisées —
// Utilise la connexion série vers le PC
// Utilise la conversion analogique numérique 10 bits
// Utilise la carte d’extension Arduino (shield) Joystick + BP x 2
// ——– Circuit à réaliser ———
// La connexion série vers le PC utilise les broches 0 et 1 (via le câble USB)
// Enficher la carte d’extension Joystick + BPx2 broche à broche sur la carte Arduino
// /////////////////////////////// 1. Entête déclarative ///////////////////////
// A ce niveau sont déclarées les librairies incluses, les constantes, les variables, les objets utiles…
// — Déclaration des constantes —
// — Inclusion des librairies —
// — Déclaration des constantes utiles —
const int APPUI=LOW; // constante pour tester état BP
// — Déclaration des constantes des broches E/S numériques —
const int bpRouge=3; // Constante pour la broche 3
const int bpBleu=4; // Constante pour la broche 4
const int bpJoystick=5; // Constante pour la broche 5
// — Déclaration des constantes des broches analogiques —
const int axe1Joystick=0; // Constante pour la broche analogique 0
const int axe2Joystick=1; // Constante pour la broche analogique 1
// — Déclaration des variables globales —
int mesure_brute=0;// Variable pour acquisition résultat brut de conversion analogique numérique
float mesuref=0.0;// Variable pour calcul résultat décimal de conversion analogique numérique
int positionAxe1=0; // Variable pour acquisition résultat brut de conversion analogique numérique axe 1 Joystick
int positionAxe2=0; // Variable pour acquisition résultat brut de conversion analogique numérique axe 2 Joystick
// — Déclaration des objets utiles pour les fonctionnalités utilisées —
// ////////////////////////// 2. FONCTION SETUP = Code d’initialisation //////////////////////////
// La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme
void setup() { // debut de la fonction setup()
// — ici instructions à exécuter 1 seule fois au démarrage du programme —
// ——- Initialisation fonctionnalités utilisées ——-
Serial.begin(115200); // initialise connexion série à 115200 bauds
// IMPORTANT : régler le terminal côté PC avec la même valeur de transmission
// ——- Broches en sorties numériques ——-
// ——- Broches en entrées numériques ——-
pinMode (bpRouge,INPUT); // Broche bpRouge configurée en entrée
pinMode (bpBleu,INPUT); // Broche bpBleu configurée en entrée
pinMode (bpJoystick,INPUT); // Broche bpJoystick configurée en entrée
// ——- Activation si besoin du rappel au + (pullup) des broches en entrées numériques ——-
//digitalWrite (bpRouge,HIGH); // Rappel au + activé sur la broche bpRouge configurée en entrée
//digitalWrite (bpBleu,HIGH); // Rappel au + activé sur la broche bpBleu configurée en entrée
//digitalWrite (bpJoystick,HIGH); // Rappel au + activé sur la broche bpJoystick configurée en entrée
// cette activation n’est pas indispensable pour le shield Joystick + BPx2
// ——- Initialisation des variables utilisées ——-
} // fin de la fonction setup()
// ********************************************************************************
////////////////////////////////// 3. FONCTION LOOP = Boucle sans fin = coeur du programme //////////////////
// la fonction loop() s’exécute sans fin en boucle aussi longtemps que l’Arduino est sous tension
void loop(){ // debut de la fonction loop()
// — ici instructions à exécuter par le programme principal —
//mesure_brute= analogRead(broche_analogique) ; // acquisition conversion analogique numérique (100µs env.) sur broche analogique indiquée
//—– lecture position Joytstick
positionAxe1=analogRead(axe1Joystick); // acquisition conversion analogique numérique sur broche analogique axe 1
positionAxe2=analogRead(axe2Joystick); // acquisition conversion analogique numérique sur broche analogique axe 2
Serial.print(« Position axe 1 = « ), Serial.println(positionAxe1); // affiche état Axe 1
Serial.print(« Position axe 2 = « ), Serial.println(positionAxe2); // affiche état Axe 2
//—- lecture état des BP du shield Joystick
if (digitalRead(bpRouge)==APPUI) Serial.print(« Appui BP rouge / « );
if (digitalRead(bpBleu)==APPUI) Serial.print(« Appui BP bleu / « );
if (digitalRead(bpJoystick)==APPUI) Serial.print(« Appui BP Joystick / « );
Serial.println(); // saut de ligne
Serial.println(); // saut de ligne
delay(1000); // entre 2 lectures
} // fin de la fonction loop() – le programme recommence au début de la fonction loop sans fin
// ********************************************************************************
// ////////////////////////// FONCTIONS DE GESTION DES INTERRUPTIONS ////////////////////
// ////////////////////////// AUTRES FONCTIONS DU PROGRAMME ////////////////////
// ////////////////////////// Fin du programme ////////////////////
Articles similaires:
- Afficher le résultat brut d’une conversion analogique-numérique dans la fenêtre Terminal du PC
- Controler la rotation un servomoteur à l’aide d’un shield Joystick
- Mes interfaces PyQt : Oscilloscope simple monovoie à communication série compatible Arduino
- Utiliser un buzzer piézo en capteur de son/choc
- Titre
Articles Liés
- Ethernet en mode serveur Arduino : faire un test ping depuis le PC vers la carte Arduino
L'Ethernet est un protocole de communication réseau très populaire et largement utilisé. Il est souvent…
- Arduino : Expert : Shield Ethernet : Les différentes architectures de réseau utilisables.
Arduino est une plateforme open-source qui permet aux développeurs de créer des projets innovants et…
- 1. INSTALLATION - ESPACE DE DEVELOPPEMENT2. INITIATION ARDUINO3. EXPERT ARDUINO4. Outils de développement Arduino
L'Arduino est un système de développement open source qui permet aux développeurs de créer des…