Robot NXT avec shield Bricktronics

Bonjour tout le monde :slight_smile: Alors voilà j'ai un problème je taff sur un exercice Arduino avec le robot NXT et le shield bricktronics. L'exercice est simple on doit détecter le vide (ex : marche d'escalier en partant du haut) à l'aide d'un bouton poussoir qui est constamment appuyé sur le sol. En gros si le bouton est appuyé le robot avance si il est relâché le robot recule. Nous n'utilisons qu'un moteur pour cet exercice seulement après avoir essayé multiples programmes je n'arrive à rien. Voici le programme que j'ai déjà fait :

//on ouvre les librairies
#include <Bricktronics.h>
#include <Wire.h>

Bricktronics brick = Bricktronics(); 
Motor m = Motor(&brick, 1);
Button b = Button(&brick, 2); 
int speed = 255;


void setup()
{
    brick.begin();
    m.begin();
    b.begin();
   
}   

void loop ()

{
 if (b.is_pressed())  // si le bouton est pressé
  {
m.set_speed(speed); //...le moteur tourne à l'endroit
}
 
  else //sinon...
 {
   speed *= -1;  //...on inverse le sens du moteur
    }
}

EDIT : On a trouvé la solution pour ceux qui auraient besoin :

//on ouvre les librairies
#include <Bricktronics.h>
#include <Wire.h>

Bricktronics brick = Bricktronics(); 
Motor m = Motor(&brick, 1);
Button b = Button(&brick, 2); 



void setup()
{
    brick.begin();
    m.begin();
    b.begin();
   
}   

void loop ()

{
 if (b.is_pressed())  // si le bouton est pressé
  {
m.set_speed(255); //...le moteur tourne à l'endroit
}
 
  else //sinon...
 {
  
   m.set_speed(-255); //...le moteur tourne à l'endroit
    }
}