Servomoteur rotation continue

Bonjour,
je reviens vers vous car j’ai un petit souci.

J’ai deux servomoteurs :
un servomoteur standard
et un à rotation continue.

voici le code :

#include <Servo.h>
Servo flapsServo;
int CodeIn;// used on all serial reads
String flaps;

void setup() 
{
 Serial.begin(115200); 
 flapsServo.attach(12);
}

void loop() {
  if (Serial.available()) 
  { CodeIn = getChar();
    if (CodeIn == '<') {LESSTHAN();}// The first identifier is "<"
  }
}

char getChar()// Get a character from the serial buffer
{
  while(Serial.available() == 0);// wait for data
  return((char)Serial.read());// 
}

void LESSTHAN(){    // The first identifier was "<"

CodeIn = getChar(); // Get another character
  switch(CodeIn) {// Now lets find what to do with it
     
    case 'G'://Found the second identifier ("G" Flaps position)
      flaps = "";
      flaps += getChar();
      flaps += getChar();
      flaps += getChar();

      int flapsi = flaps.toInt(); // convert it to an integer
      flapsi = (flapsi + 0);// Manual correction to suit servo zero. 10
      flapsServo.write(flapsi * 4); // Manual fiddle to get full span of servo. 3
      // Note.. Using the "Map" method slows it down.
      //Serial.print(flapsi); // Used for testing
      break;
     }
}

Le servomoteur standard fonctionne,
lorsque j’actionne un levier, le servo tourne et s’arrête devant la position qui correspond à la valeur du levier.
Jusqu’ici tout va bien.

Par contre lorsque je branche le servomoteur à rotation continue, la roue tourne sans s’arrêter…
Est il possible d’insérer une fonction qui arrêterai le servomoteur au bon endroit ?

PS : en matière de syntax et de codage, je suis un enfant de 5 ans…

Un servo à rotation continue ne se comporte pas comme un servo traditionnel mais comme un moteur classique qui serait piloté par la commande servo.
un servo.write(0) fait tourner le moteur à fond dans un sens
un servo.write(180) fait tourner le moteur à fond dans l'autre sens
un servo.write(90) arrête le moteur
Les valeurs intermédiaires permettent de contrôler la vitesse dans un sens ou dans l'autre.
Les circuits de commande de servo étant affectés d'une tolérance sur la mesure de la largeur de l'impulsion de commande, l'arret ne sera peut-être pas obtenu pour 90 exactement mais pour une valeur proche inférieure ou supérieure.

Merci fdufnews, pour ce renseignement complet.
Dans mon projet je dois m'orienter sur des servomoteurs 360*.
Connaissez-vous des modèles/références 360* en plastique ou laiton qui ne soit pas en rotation continue ?

Cela n'a pas l'air de courir les avenues de google.

Effectivement cela ne coure pas les rues et ce n’est pas étonnant.

Il faut voir comment fonctionne l’asservissement du servomoteur.
On envoi une commande qui est transformée en tension continue qu’on appelle tension de consigne…
Un potentiomètre est fixé sur l’axe de sortie du servo.
L’asservissement fera en sorte que la tension provenant du curseur du potentiomètre soit égale à la tension de consigne.
Tu devrai jeter un œil ici c’est bien expliqué :
http://eskimon.fr/287-arduino-602-un-moteur-qui-de-la-tete-le-servo-moteur

Là ou cela se gâte c’est que les potentiomètres courants ont une course de seulement 270° → il faut bien garder un peu de place pour les connections d’extrémité de piste.

Ce qui veut dire qu’on peut arriver (en cherchant bien) à trouver des servos 270° mais que pour les 360° il faut changer de principe donc c’est assez rare et cher. On sort du modèle classique de potentiomètre et les prix grimpent très vite.

Il reste la possibilité d’ajouter des engrenages externes pour démultiplier la course du servo 180° mais c’est de la mécanique externe à construire et du jeu à gérer.

J'ai connu des forums, mais le votre est tout métal.
Des réponses rapides, complètes et complexes.
Merci à tous.. surtout à pepe.