Bonjour jon_01
Avant tout ça, fais un print à cet endroit:
if (joyX > 530){
Serial.println(vitesseXpos);
digitalWrite(moteurXDirPin, HIGH); // Direction moteur
digitalWrite(moteurXStepPin, HIGH); // Une impulsion
delayMicroseconds(vitesseXpos); // Vitesse
digitalWrite(moteurXStepPin, LOW); // Fin impulsion
delayMicroseconds(vitesseXpos);
//Serial.println(vitesseXpos);
}
et tu verras pourquoi ton moteur ralenti, un moment donné, ton temps devient négatif.
1
1
1
1
1
5
5
1
-4
-4
-9
-9
-14
-19
-23
-28
-28
-28
-28
-28
La fonction map() n'est pas en cause mais ta formulation.
Cordialement
jpbbricole