Bonjour,
Je suis en Terminale S SI et pour le bac nous avons un projet avec arduino.
J'ai un problème avec un servomoteur. Avec n'importe quel programme il s'active, se met en position de départ mais ensuite ne bouge plus. J'ai fais un test avec une pile plate, dans un sens il tourne et s'arrête au maximum mais dans l'autre il essaie de continuer de tourner.
J'avais utilisé un autre servomoteur auparavant mais il a grillé, on entendait un grésillement je pense que s'était dû à l'alimentation.
Quelqu'un pourrait-il m'aider s'il vous plait ?! Merci !
Voilà un programme basique que j'ai utilisé :
#include <Servo.h>
Servo monservo;
void setup(){
monservo.attach(9); // positionne le servomoteur à 0°
}
void loop(){
monservo.write(20); // Ouvre la vanne et attends 3 sec
delay(1000);
monservo.write(45); // Ferme vanne
delay(1000);
monservo.attach(9); // positionne le servomoteur à 0°
Ca ne positionne pas le servo à 0°, ça indique au programme qu'il est câblé sur la pin n°9
Est ce que les masses de l'arduino et du servo sont reliées ensemble ?
L'angle de débattement va ici de 20 à 45°, avez vous essayé la plage complète 0-180° ?
Ce que j'ai oublier de mentionner c'est que le servomoteur comporte 5 branches ( marron, rouge, orange, jaune, vert). Je sais déjà que le marron = GND et le rouge = 5V .
AlienArea51 : Merci pour le programme, je l'ai essayer mais rien ne change le problème persiste... J'ai l'impression que c'est un problème avec l'information.
Mais c'est bien une ouverture de vanne a 1/4 de tour que je veux obtenir. Avant que mon autre servomoteur ne lâche, nous avions effectuer le programme ci-dessous avec l'utilisation d'un capteur ultrason. C'est avec ce programme que nous entendions le grésillement au retour en position initialle ( 0 ) :
#include <Servo.h>
Servo monservo;
const int trigPin = 8;
const int echoPin = 7;
long duration, inches, cm;
void setup() {
// initialize serial communication: Serial.begin(9600);
monservo.attach(9);
monservo.write(0); // positionne le servomoteur à 0°
}
void loop()
{
if(cm<6){
monservo.write(0);}
acmaTS3:
Ce que j'ai oublier de mentionner c'est que le servomoteur comporte 5 branches ( marron, rouge, orange, jaune, vert). Je sais déjà que le marron = GND et le rouge = 5V .
...
ce qui serait vraiment utile , c'est de connaitre la reference du "servo" , mieux faire une ou 2 photos du marquage.
parce qu'un "truc" avec 5 fils ça peut etre beaucoup de chose :
ex: moteur (2 fils) avec potentiometre de recopie de position (3 fils) , si c'est ça c'est à toi de gerer la boucle de reaction à l'exterieur