vitesse bras robot

    digitalWrite(13, HIGH);
    digitalWrite(12, LOW);
    vitesse= 255-(0.5*potValue2);
    analogWrite(10,vitesse);

voici un autre problème qui est lié au bras robot tergane 45 nous avons défini en début d'année la vitesse inscrite ci dessus nous avons essayer de changer le 0,5 mais rien a faire si vous avez des idées pour faire varié la vitesse du moteurs au fait le moteur la tourne dans un sens pour qu'il tourne dans l'autre sens regarder

    digitalWrite(12, HIGH);
    digitalWrite(13, LOW);
    vitesse= (0.5*potValue2) -255;
    analogWrite(10,vitesse);

merci d'avance

bonjour, vitesse = int, float? mets un serial print pour voir la valeur vitesse.

C'est un int au début Pour plus de précision (programme complet) cf bras robotique 2

voici ton code avec la correction dans la condition du while

entre tu dans la surveillance du point mort autrement dis, as tu sur ton moniteur l’affichage de
" joystick au point mort "lorsque tu lâches le joystick ?

int potar_joystick = A2; // potentiomètre joystick, ce que me donne le potentiomètre du joystick
int potar_coude = A0; // potentiomètre bras, ce que me donne le potentiomètre du bras
int vitesse = 0;
int memo_position_coude = 0;
int valeur_potar_coude = 0;
int valeur_potar_joystick = 0;


void setup()
{
  pinMode(9, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(potar_joystick, INPUT);
  pinMode (potar_coude, INPUT);
  Serial.begin(57600); // vitesse de communication
}

void loop()
{
  analogRead(potar_joystick);
  valeur_potar_joystick = analogRead(potar_joystick);      // lecture du potar joystick

      Serial.print("valeur du potar joystick  au depart de la boucle loop ");
      Serial.println(valeur_potar_joystick);
  /*
  si la consigne du potar joystick est nulle ( entre 400 et 700):
  on surveille le bras ( par son potar coude) pour constater une derive eventuelle.
  on lit deux fois de suite à xxx millisecondes d'interval pour voir s'il y a une difference
  entre les deux mesures.
  */
  while ((700 > potar_joystick) && (potar_joystick > 400)    // correspond au point mort du potar joystick
  {
      Serial.println("joystick au point mort");
      Serial.print("valeur du potar joystick ");
      Serial.println(valeur_potar_joystick);
    valeur_potar_coude = analogRead(potar_coude);           // je lis ce que me donne lepotentiomètre du bras
    memo_position_coude = valeur_potar_coude;               // je la mémorise 
    delay(100);                                             // delai pour qu'une dérive eventuelle soit significative
    valeur_potar_coude = analogRead(potar_coude);           // je relis la valeur du potentiomètre dubras
      Serial.print("memo_position_coude = ");
      Serial.println(memo_position_coude);
      Serial.print("valeur_potar_coude =  ");
      Serial.println(valeur_potar_coude);
  
   /*
    si la valeur est inférieure a 0 alors il y à une dérive en sens trigonometrique
    on compense entre demandant une rotation horaire
    */
    if (valeur_potar_coude - memo_position_coude < 0)
    {
        Serial.println("derive sens trigo");
        Serial.print("memo_position_coude = ");
        Serial.println(memo_position_coude);
        Serial.print("valeur_potar_coude =  ");
        Serial.println(valeur_potar_coude);
      digitalWrite(8, HIGH);                                  // moteur tourne sens horaire
      digitalWrite(11, LOW);                                  // moteur tourne sens horaire
      vitesse = 255 - (0.5 * valeur_potar_joystick);
      analogWrite(9, vitesse);
        Serial.print("vitesse sens horaire = ");
        Serial.println(memo_position_coude);
      valeur_potar_coude = analogRead(potar_coude);           // je lis ce que me donne lepotentiomètre du bras
    }
    /*
    si la valeur est supérieure a 0 alors il y à une dérive en sens horaire
    on compense entre demandant une rotation trigonometrique
    */
    if (valeur_potar_coude - memo_position_coude > 0)     // même chose mais s'il est supérieur a 0
    {
        Serial.println("derive sens horaire");
        Serial.print("memo_position_coude = ");
        Serial.println(memo_position_coude);
        Serial.print("valeur_potar_coude =  ");
        Serial.println(valeur_potar_coude);
      digitalWrite(11, HIGH);                                // moteur tourne sens trigonométrique
      digitalWrite(8, LOW);                                  // moteur tourne sens trigonométrique
      vitesse = (0.5 * valeur_potar_joystick) - 255;
      analogWrite(9, vitesse);
        Serial.print("vitesse sens trigonometrique = ");
        Serial.println(memo_position_coude);
      valeur_potar_coude = analogRead(potar_coude);          // je lis ce que me donne lepotentiomètre du bras
    }
  }

//le joystick, n'est pas au point mort

  // programme pour bouger le bras
  if (valeur_potar_joystick > 700)
  {
      Serial.println("rotation demandee au joystick en sens horaire");
      Serial.print("valeur du potar joystick ");
      Serial.println(valeur_potar_joystick);
      Serial.print("valeur_potar_coude =  ");
      Serial.println(valeur_potar_coude);
    digitalWrite(8, HIGH);
    digitalWrite(11, LOW);
    vitesse = 255 - (0.5 * valeur_potar_joystick);
    analogWrite(9, vitesse);
      Serial.print("vitesse sens horaire = ");
      Serial.println(memo_position_coude);
  }
  else if (valeur_potar_joystick < 400)
  {
      Serial.println("rotation demandee au joystick en sens trigonometrique");
      Serial.print("valeur du potar joystick ");
      Serial.println(valeur_potar_joystick);
      Serial.print("valeur_potar_coude =  ");
      Serial.println(valeur_potar_coude);
    digitalWrite(11, HIGH);
    digitalWrite(8, LOW);
    vitesse = 0.5 * valeur_potar_joystick - 255;
    analogWrite(9, vitesse);
      Serial.print("vitesse sens trigonometrique = ");
      Serial.println(memo_position_coude);
  }
}

]

pour ceux souhaitant suivre le fils de discussion la suite est tjrs sur arduino mais sous le nom "bras robotique 2"