Platine Adafruit et programation modulaire

Bonjour a tous,

J’aimerai utiliser une carte adafruit 16-Channel 12-bit PWM/servo Driver-I2C interface dans un programme modulaire.

De ce type :
Programme principale :

// MAIN PROGRAM

#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();

#include "servo.h"

void setup(){
  Serial.begin(9600);

  pwm.begin();
  pwm.setPWMFreq(60);
}

void loop(){
  servoStart();
}

servo.h:

// PROTOTYPE

void servoStart();

servo.cpp

// SERVO

#include "Arduino.h"

const byte servo=1;
const int pulseMin=600;
const int pulseMax=140;
int pulseLengthServo=0;
byte angleServo=90;

void servoStart(){

  pulseLengthServo=map(angleServo, 0, 180, pulseMin, pulseMax);
  pwm.setPWM(servo, 0, pulseLengthServo);
}

La commande pwm du .cpp n’est pas reconnu.

J’ai essayé de mettre les #include Adafruit dans chaque onglet mais a chaque fois j’ai des erreurs.
J’arrive pas a saisir la logique.

Pourriez vous m’aider ?

Merci
Bonne jounrée

avec ce bout de codeAdafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
vous définissez une instance de la classe Adafruit_PWMServoDriver qui s’appelle pwm et pwm n’est connue que dans le fichier où vous la déclarez et définissez.

Si vous voulez utiliser cette variable pwm dans un autre fichier il va falloir la déclarer comme étant externe (créée ailleurs) pour que le compilateur sache quoi en faire

un truc comme cela devrait faire l’affaire

#include <Adafruit_PWMServoDriver.h>
extern Adafruit_PWMServoDriver pwm;

AU TOP !

MERCI