PMODJSTK2 : Mini joystick + Led RGB à pilotage SPI pour arduino

Conçu pour être piloté par un arduino via une liaison SPI, ce module Pmod intègre un mini joystick 2 axes avec bouton-poussoir sur le dessus + un bouton poussoir supplémentaire + une led RGB.

Prix : 21,60 €
TTC
18,00 € HT
Dont 0,04 € d'eco-participation
Product availability: En cours d'approvisionnement
Code PMODJSTK2

Reprise 1 pour 1         Frais de port à partir de 9 €   infos

Fonction du moduleInterface du moduleConnectique du module


Doté d'un connecteur mâle 1 x 6 broches, ce module pourra être directement enfiché sur une platine BreadBoard ou être déporté via des cordons optionnels (voir modèles en bas de page).
 
Ce module est soumis au contrôle de la réglementation américaine relative à l’exportation (15 CFR Part 730 et. seq.). 
  
   
Exemple d'application avec un arduino™


Module Pmodjstk2


/************************************************************************
*
* Test du module Pmod joystick 2
*
*************************************************************************
* Description: Pmod_JSTK2
* Les valeurs X et Y sont affichées dans le moniteur série sous forme de
* tableau et la led du module s'allume avec une couleur différente lorsque
* les boutons sont actifs.
*
*
* Matériel
* 1. Arduino Uno
* 2. Module Pmod JSTK2
*
* Schéma publié sous licence CC Attribution-ShareALike (réalisé avecFritzing)

* N'importez pas le programme par un copier/coller dans l'IDE de l'arduino. 
* Utilisez le lien ci-dessous pour télécharger le code source.
*
* Code source téléchargeable ici:
************************************************************************/
#define CS 10 // affectation de la broche CS
#include <SPI.h> // appel de la bibliothèque
int i;
byte recu[7]; // stockage des données du module
int X;
int Y;
int cmd=0;
void setup()
{
Serial.begin(9600); // initialisation de la liaison série
SPI.begin(); // initialisation du port SPI
SPI.setDataMode(SPI_MODE0); // configuration de la liaison SPI en mode 0
SPI.setClockDivider(SPI_CLOCK_DIV16); // configuration de l'horloge à 1MHz
pinMode(CS, OUTPUT);
}
void loop()
{
digitalWrite(CS, LOW); // activation de la ligne CS
delayMicroseconds(15); // voir doc: pause de 15us après l'activation de la ligne CS
for (i=0;i<6;i=i+1)
{
recu[i] = SPI.transfer(cmd); // envoi de 6 données pour récupérer les données du module
delayMicroseconds(10); // voir doc: pause de 10us après chaque envoi
}
digitalWrite(CS, HIGH); // désactivation de la ligne CS
X = recu[0]; // X a un format de 10 bit
X |= (recu[1] << 8);
Y = recu[2]; // Y a un format de 10 bit
Y |= (recu[3] << 8);
for (i=0;i<6;i=i+1) // écriture dans le moniteur série
{
Serial.print("i");
Serial.print(i);
Serial.print("=");
Serial.print(recu[i]);
Serial.print('t'); // tabulation
}
Serial.print("X=");
Serial.print(X);
Serial.print('t'); // tabulation
Serial.print("Y=");
Serial.println(Y);
delay(10);
switch (recu[4])
{
case 1: // bouton joystick actif
// allumage de la led en rouge
digitalWrite(CS, LOW); // activation de la ligne CS
SPI.transfer(0x84);
delayMicroseconds(15);
SPI.transfer(255);
delayMicroseconds(15);
SPI.transfer(0);
delayMicroseconds(15);
SPI.transfer(0);
delayMicroseconds(15);
digitalWrite(CS, HIGH); // désactivation de la ligne CS
delay(1000);
// extinction de la led
digitalWrite(CS, LOW); // activation de la ligne CS
SPI.transfer(0x84);
delayMicroseconds(15);
SPI.transfer(0);
delayMicroseconds(15);
SPI.transfer(0);
delayMicroseconds(15);
SPI.transfer(0);
delayMicroseconds(15);
digitalWrite(CS, HIGH); // désactivation de la ligne CS
break;
case 2: // bouton trigger actif
// allumage de la led en vert
digitalWrite(CS, LOW); // activation de la ligne CS
SPI.transfer(0x84);
delayMicroseconds(15);
SPI.transfer(0);
delayMicroseconds(15);
SPI.transfer(255);
delayMicroseconds(15);
SPI.transfer(0);
delayMicroseconds(15);
digitalWrite(CS, HIGH); // désactivation de la ligne CS
delay(1000);
// extinction de la led
digitalWrite(CS, LOW); // activation de la ligne CS
SPI.transfer(0x84);
delayMicroseconds(15);
SPI.transfer(0);
delayMicroseconds(15);
SPI.transfer(0);
delayMicroseconds(15);
SPI.transfer(0);
delayMicroseconds(15);
digitalWrite(CS, HIGH); // désactivation de la ligne CS
break;
case 3: // deux boutons actifs
// allumage de la led en bleu
digitalWrite(CS, LOW); // activation de la ligne CS
SPI.transfer(0x84);
delayMicroseconds(15);
SPI.transfer(0);
delayMicroseconds(15);
SPI.transfer(0);
delayMicroseconds(15);
SPI.transfer(255);
delayMicroseconds(15);
digitalWrite(CS, HIGH); // désactivation de la ligne CS
delay(1000);
// extinction de la led
digitalWrite(CS, LOW); // activation de la ligne CS
SPI.transfer(0x84);
delayMicroseconds(15);
SPI.transfer(0);
delayMicroseconds(15);
SPI.transfer(0);
delayMicroseconds(15);
SPI.transfer(0);
delayMicroseconds(15);
digitalWrite(CS, HIGH); // désactivation de la ligne CS
break;
default:
break;
delay(1000) ;
}
}
   

 
Notes d'applications pour modules Pmod 

 
La note d'application ci-dessus a retenu votre attention ? Téléchargez toutes les autres notes d'applications concernant l'utilisation des modules Pmod™ avec un arduino™ Uno. 
  • Site du fabricant
    Télécharger
  • Datasheet du module
    Télécharger

Produits associés

Carte Arduino® UNO Rev 3 officielle A000066
A000066 23,00 €

La carte Arduino UNO Rev 3 A000066 est très certainement le plus modèle le plus populaire et le plus utilisé de la gamme Arduino. Conçue sur la base d'un microcontrôleur ATmega328 avec bootloader intégré, cette version est le modèle officiel fabriqué en Italie.

Carte de développement FPGA Digilent Basys 3 Artix-7
TRENZ-26083 180,00 €

Architecturée sur la base d'un puissant FPGA Xilinx™ Artix-7™, cette platine de développement est idéale pour l'apprentissage rapide des techniques de conception numérique moderne.  

Carte de développement FPGA Nexys Video Artix-7
TRENZ-26723 540,00 €

Conçue sur la base d'un très puissant FPGA Artix-7™ Xilinx™ cette platine de développement est idéale pour l'apprentissage rapide des d'applications de traitement audio / vidéo.

Cordon Pmod 2 x 6 Pin Cable
TRENZ-24450 5,40 €

Doté de 2 connecteurs femelles 2 x 6 points (au pas de 2,54 mm) à chaque extrémité, ce cordon de longueur 15 cm est tout indiqué pour être utilisé avec les modules pmod™ dotés de 2 rangées de 6 connecteurs.

Cordon Pmod 2x6 Pin to Dual 6 Pin Cable
TRENZ-24451 5,76 €

Doté d'un connecteur femelle 2 x 6 points (au pas de 2,54 mm) et de 2 sorties avec connecteur 6 points aux autres extrémités, ce cordon de longueur 15 cm est tout indiqué pour être utilisé avec les modules pmod™.

Cordon Pmod 6 Pin Cable Connector 18"
TRENZ-24459 8,16 €

Doté de 2 connecteurs femelle 6 points (au pas de 2,54 mm) à chaque extrémité, ce cordon de longueur 45 cm est tout indiqué pour être utilisé avec les modules pmod™.

Cordon Pmod 6 Pin Cable Connector 6"
6PINCC6 7,80 €

Doté de 2 connecteurs femelles 6 points (au pas de 2,54 mm) à chaque extrémité, ce cordon de longueur 15 cm est tout indiqué pour être utilisé avec les modules Pmod™.

Jeu de 20 straps flexibles Mâle/Femelle (15 cm)
PRT-12794 2,80 €

Jeu de 20 straps souples (15 cm) de différentes couleurs avec embouts mâle/femelle sous la forme d'une nappe de 20 fils (pouvant être désolidarisés). Idéal pour prototypage sur Arduino® et Raspberry.

Chargement...
Retour en haut