PCA 9685

Bonjour,
J'ai trouvé un code de base pour commander 2 servos moteur avec un arduino mega 2560 et un PCA 9685 d'adafruit , les 2 servos sont connectés à la broche 1 et 9 du PCA 9685. J'ai essayé et cela fonctionne très bien . Je voudrais ajouter plusieurs servos moteur ( on peut commander jusqu'à 16 sur un PCA 9685) ,
si je veux ajouter 2 autres servos moteur par exemple a la broche 4 et 10 du PCA 9685 et faire tourner dans des angles de 45° ou 90° comment faire dans le code de base , quels sont les lignes codes à ajouter et où les placer ?J 'ai essayé plusieurs façon mais sans succès . Quelqu'un peut-il m'aider ?
Voici le code de base :

[cod#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>

// Utilisation de l'adresse par défaut 0x40 du Breakout.
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver( 0x40 );

// Suivant le type de servo utilisé, la largeur d'impulsion minimale et Maximale 
// peut changer. L'idéal est de sélectionner des valeurs aussi petites et aussi
// grande que possible sans jamais atteindre la butée de blocage du servo-moteur. 
// Vous aurrez peut-etre besoin de modifier ces valeurs pour les faire correspondrent 
// à votre type de servo!
#define SERVOMIN  150 // La longueur d'impulsion 'minimale' (valeur du compteur, max 4096)
#define SERVOMAX  600 // La longueur d'impulsion 'maximale' (valeur du compteur, max 4096)

// Servos Commandés - Numéro de sorties sur le breakout
uint8_t servo1 = 1;
uint8_t servo9 = 9;


void setup() {
  Serial.begin(9600);
  Serial.println("Controle des Servo Moteur #1 et #9!");

  pwm.begin();
  
  pwm.setPWMFreq(60);  // Les servo sont mis-à-jour à ~60 Hz
  Serial.println("Fin de setup()");
}

void loop() {
  //--- Controle du Premier Servo (no 1) ---
  Serial.println("Servo #1 à 45 degrés");
  // Transformation de degré (0 à 180) en pulse (SERVOMIN à SERVOMAX)
  int pulseLen = map( 45, 0, 180, SERVOMIN, SERVOMAX );
  pwm.setPWM(servo1, 0, pulseLen);
  
  delay(1000);
 
  delay(1000);
  
  //--- Controle du Deuxieme Servo (no 9) ---
  Serial.println("Servo #9 à 30 degrés");
  pulseLen = map( 30, 0, 180, SERVOMIN, SERVOMAX );
  pwm.setPWM(servo9, 0, pulseLen);
  
  delay(1000);
  
  
  //--- Controle du Premier Servo (no 1) ---
  Serial.println("Servo #1 à 120 degrés");
  // Transformation de degré (0 à 180) en pulse (SERVOMIN à SERVOMAX)
pulseLen = map( 120, 0, 180, SERVOMIN, SERVOMAX );
  pwm.setPWM(servo1, 0, pulseLen);
  
  delay(1000);

  //--- Controle du Deuxieme Servo (no 9) ---
  Serial.println("Servo #9 à 150 degrés");
  pulseLen = map( 150, 0, 180, SERVOMIN, SERVOMAX );
  pwm.setPWM(servo9, 0, pulseLen);
  
  delay(1000);
  
  //--- Les deux servo à 0 ---
  Serial.println("Servo #1 et #9 à 150 degrés");
  pulseLen = map( 0, 0, 180, SERVOMIN, SERVOMAX );
  pwm.setPWM(servo1, 0, pulseLen);
  pwm.setPWM(servo9, 0, pulseLen);
  
  delay(3000); 
}
e]

post illisible - mettez les balises au bon endroit...

sinon en grosuint8_t servo1 = 1;déclare la pin du PCA 9685 et ensuite il suffit de dire pwm.setPWM(servo1, 0, pulseLen); pour mettre l'angle au bon endroit en fonction de pulseLen qui - par une règle de trois - met l'angle qui est entre 0, 180 à une valeur entre SERVOMIN, SERVOMAX

qu'avez vous essayé - ça n'a pas l'air si compliqué que cela - si ?

J-M-L:
post illisible - mettez les balises au bon endroit...

sinon en gros

uint8_t servo1 = 1;

déclare la pin du PCA 9685 et ensuite il suffit de dire

pwm.setPWM(servo1, 0, pulseLen);

pour mettre l'angle au bon endroit en fonction de pulseLen qui - par une règle de trois - met l'angle qui est entre 0, 180 à une valeur entre SERVOMIN, SERVOMAX

qu'avez vous essayé - ça n'a pas l'air si compliqué que cela - si ?

Merci beaucoup Shannon pour la lumière . En fait j'avais pas taper uint8_t servo10 =10; avant le void setup.. Je suis content , je vais pouvoir enfin m'amuser à monter une maquette et faire bouger des choses avec les servos ...Aussi je me demandais comment ajouter des leds ou jeux de lumière au PCA9685 car les leds ont je crois une limite de 3,3 V et les servos moteur au pca ou à l'arduino est 5V . Peut-on programmer pour commander des leds et des servos en même temps .avez-vous une idée ? Dans tous les cas , merci pour la réponse ..

De rien Newbie. :o

pour les LEDs il faudrait savoir quel type..