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

    PMODJSTK2 : Mini joystick + Led RGB à pilotage SPI pour arduino
    PMODJSTK2
    En cours d'approvisionnement
    21,22 € TTC
    17,68 € HT

    Dont 0,01 € d'eco-participation déjà incluse dans le prix

    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.

    Reprise 1 pour 1         Frais de port à partir de 7.90 €   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é avec Fritzing)

    * 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. 
    Aucun avis
    Il est nécessaire d'être connecté pour laisser un avis

    Produits associés

    Produit ajouté à ma liste