top of page

Liste du matériel :

  • 1 Manette DFRobot

Exemple :

Nous souhaitons afficher sur le moniteur série l'état des boutons et la valeur des joysticks.

Programme :

/* Manette est un programme qui permet de tester la manette DFRobot */

int bouton[16];
int joystick[4];
unsigned long timer = 0;

#define vibration 2
#define led 17

void setup()
{
  Serial.begin(9600);                                                        // initialisation de la liaison série
  for(int i = 3; i < 17; i++)                                                  // les broches 3 à 16 sont en entrées
  {
  pinMode(i,INPUT);
  }
  pinMode(vibration,OUTPUT);                                        // la broche vibration est en sortie et inactive
  digitalWrite(vibration,LOW);
  pinMode(led,OUTPUT);                                                 // la broche led est en sortie
  digitalWrite(led,LOW);
}

void loop()
{
  if(millis() - timer > 500)                                              // toutes les 500 ms
  {  
  bouton[0] = analogRead(0);                                       // on lit l'état la valeur des boutons des joysticks
  bouton[1] = analogRead(1);
  for(int i = 0; i < 2; i++)                                                 // on transforme la valeur en état logique                  
  {
    if (bouton[i]<128)
    {
      bouton[i]=0;                                   
    }
    else
    {
      bouton[i]=1;                      
    }
  }
  for(int i = 3; i < 17; i++)                                              // on lit l'état des autres boutons
  {
    bouton[i-1] = digitalRead(i);
  }
  for(int i = 2; i < 6; i++)                                               // on lit la valeur des deux joysticks
  {
  joystick[i-2] = analogRead(i);
  joystick[i-2]=map(joystick[i-2],0,1023,0,255);      // on change l'échelle
  }
  for(int i = 0; i < 16; i++)                                           // on affiche l'état des boutons
  {
    Serial.print(bouton[i]);
    Serial.print(" ");
  }
  Serial.println();                                                       // on va à la ligne
  for(int i = 0; i < 4; i++)                          
  {
    Serial.print(joystick[i]);                                        // on affiche la valeur des joysticks
    Serial.print(" ");
  }
  Serial.println();                                                      // on va à la ligne
  Serial.println();
  if (bouton[0]==HIGH)                                            // si le bouton 0 (bouton du joystick droit) est inactif
  {
   digitalWrite(vibration,LOW);                               // on désactive les vibrations
  }
  else                                                                       // sinon
  {
   digitalWrite(vibration,HIGH);                             // on active les vibrations
  }
  if (bouton[1]==HIGH)                                          // si le bouton 1 (bouton du joystick gauche) est inactif
  {
   digitalWrite(led,HIGH);                                     // on éteint la led RX
  }
  else                                                                     // sinon
  {
   digitalWrite(led,LOW);                                      // on allume la led RX
  }
  timer = millis();
  }  

LA MANETTE DE JEU DFROBOT

La manette de jeu DFR0182 développée par DFRobot ressemble à celle développée par une célèbre marque japonaise de console. Elle comporte une carte Arduino Leonardo sur laquelle nous pourrons enficher un module XBee ou Bluetooth Bee ou Wifi Bee  afin de communiquer avec une plateforme robotique ou autre.

Cette manette comporte :

  • 2 joysticks analogiques avec leur bouton poussoir

  • 10 boutons sur la face avant

  • 4 boutons à l'arrière

  • 1 moteur de vibration

  • 1 led verte programmable

Ci-dessous le tableau indiquant la connections des différents boutons et joysticks :

bottom of page