#7917
Kikou
Participant

Bonjour,
Aprés les tests concluants effectués par Dominique, j’avais commandé 2 HV2060MG que j’ai réçu hier.
Avant de valider la livraison sur Aliexpress, j’ai voulu tester leur fonctionnement.
Hélas, en les branchant de la même façon que les 805 sur une carte UNO, ceux-ci ne tournent pas, mais ils ‘tapent’ silencieusement a une fréquence de 3 ou 4 coups par seconde.

J’ai supposé que les connections sont les suivantes:
– marron : GND
– rouge : +6V
– orange : signal (branché sur la pin 2 de la UNO par exemple)

Dominique, ayant utilisé ces servos, peux-tu nous dire si le branchement est différent?

J’utilise le petit script suivant sur Arduino (celui-ci me sert à tester et à positionner les servos):

// —————————————————————————
// Fichier : Reglage_servo_k_sketch.ino
// Positionnement d’un servo-moteur à 0, 90 ou 180 degrés.
//
// Brancher le servo-moteur au +5V, à GND et à la broche n°2 de la carte Arduino (UNO, Mega, …)
// ou
// Brancher le servo-moteur au +6Vet au – de la batterie 6V
// Relier le – dse la batterie au GND de la carte Arduino
// Relier le fil blanc du servo à la broche 2 (ou autre) de la carte Arduino
//
// Ouvrir une fenêtre Terminal sur Arduino (icone en haut à droite).
// Régler sa vitesse à 115200.
// Taper ‘a’ + Enter (ou ‘a’ et clic sur Envoyer) pour positionner à 0 degré.
// Taper ‘b’ + Enter (ou ‘b’ et clic sur Envoyer) pour positionner à 90 degré.
// Taper ‘c’ + Enter (ou ‘c’ et clic sur Envoyer) pour positionner à 180 degré.
// Taper ‘d’ + Enter (ou ‘d’ et clic sur Envoyer) pour positionner à 0, 90, 180, 90 et retour à 0 degré.
//
// Kikou – 12/11/2016
// —————————————————————————
#include <Servo.h>
Servo servoindex; // Instance d’une classe Servo
int pin=2; // Numéro du pin de la UNO sur lequel est branché le servo
void setup() {
Serial.begin(115200);
Serial.println(“Positionnement d’un servo-moteur a 0, 90 ou 180 degres”);
servoindex.attach(pin); // Attache le servo à la broche Arduino utilisée
}
void loop() { // Boucle principale
if (Serial.available() > 0) // si des caractères sont présents sur le port série…
{
char commande = Serial.read(); //on lit les caractères depuis le buffer série (max 64 bytes)
int oldPos, newPos;
//on effectue une action en fonction du caractère reçu :
if(commande == ‘a’)
{
ServoPrintAndSetToXDegres(0);
}
else if(commande == ‘b’)
{
ServoPrintAndSetToXDegres(90);
}
else if(commande == ‘c’)
{
ServoPrintAndSetToXDegres(180);
}
else if(commande == ‘d’)
{
ServoPrintAndSetToXDegres(0);
delay(4000);
ServoPrintAndSetToXDegres(90);
delay(4000);
ServoPrintAndSetToXDegres(180);
delay(4000);
ServoPrintAndSetToXDegres(90);
delay(4000);
ServoPrintAndSetToXDegres(0);
}
}
}
void ServoPrintAndSetToXDegres(int x) {
int oldPos;
oldPos=servoindex.read();
Serial.print(“Old pos: \t”);
Serial.print(oldPos);
servoindex.write(x);
Serial.print(“\t New pos: \t”);
Serial.println(x);
}
// Fin du script

Par avance, merci pour les réponses…