Bonjour,
Je débute sur Arduino.

Pour mes élèves, j'ai branché un mini servomoteur (9g) sur une carte Arduino et je peux le commander en position avec un potentiomètre. Tout fonctionne !!!

Ensuite, je voulais tout simplement commander un servomoteur en position à partir du moniteur série.
Malheureusement, le servomoteur revient systématiquement à 0 après s'être déplacé. Grrrrr

Par erreur, je rajoute une ligne (ligne 26) et là ça marche.
Est-ce que l'un d'entre vous pourrait d'expliquer pourquoi et comment je pourrai supprimer cette instruction qui me parait inutile ?

Merci de votre aide,
Philippe

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
#include <Servo.h>
 
Servo monservo;  // create servo object to control a servo
 
int servopin = 9;  // analog pin used to connect the servo
int angle;  
 
void setup() {
  Serial.begin(9600);
  monservo.attach(servopin);  // attaches the servo  to the servo object
}
 
void loop() {
 
  Serial.println("Entrez un angle entre 0 et 180 :");
  while (Serial.available() == 0) {}
 
  if (Serial.available() != 0) {
    angle = Serial.parseInt();
    monservo.write(angle);
    delay(500);
    Serial.print("valeur de l'angle après l'envoi de l'angles au servo : ");
    Serial.println(angle);
 
    angle = Serial.parseInt();  // A quoi sert cette ligne ? Comment la supprimer ?
  }
}