Logo Mon Club Elec

Test simple du Shield Arduino Joystick + BPx2

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

Test simple du Shield Arduino Joystick + BPx2 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 :

Ressources utiles associées à ce programme :

2.  Matériel Nécessaire

2.1  L’espace de développement Arduino

  • … pour éditer, compiler le programme et programmer la carte Arduino.
Test simple du Shield Arduino Joystick + BPx2

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

Test simple du Shield Arduino Joystick + BPx2

3.  Instructions de montage

4.  Le schéma théorique du montage

Test simple du Shield Arduino Joystick + BPx2

Le schéma théorique du montage (cliquer pour agrandir)

5.  Le circuit du montage

Test simple du Shield Arduino Joystick + BPx2

Le schéma du montage à réaliser (cliquer pour agrandir)

Test simple du Shield Arduino Joystick + BPx2

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.
Test simple du Shield Arduino Joystick + BPx2
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 ».
Test simple du Shield Arduino Joystick + BPx2
  • La fenêtre « Terminal » s’ouvre alors :
Test simple du Shield Arduino Joystick + BPx2
  • 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 :
Test simple du Shield Arduino Joystick + BPx2

8.3  Fonctionnement

  • Un message indiquant l’état du Joystick et des BP s’affiche à intervalle régulier dans la fenêtre Terminal :
Test simple du Shield Arduino Joystick + BPx2

(cliquer sur l’image pour agrandir)

9.  Le programme complet en langage Arduino

A copier/coller directement dans l’éditeur Arduino

// — Programme 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 ////////////////////
 

Noter cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Archive Mon Club Elec

Articles populaires

Newsletter

Inscrivez-vous maintenant et bénéficiez d'un soutien continu pour réaliser vos travaux électriques en toute sécurité.