Problème de démarrage de l'Arduino UNO avec un programme multi-fichiers [RESOLU]

@J-M-L j'ai fait les modifications que vous m'avez recommandé et ça fonctionne.

Voici le constructeur:

/**
 * Constructor
 * @param addr address of the PCA9685 on the I2C bus.
 */
ServoDriverPCA9685::ServoDriverPCA9685(const uint8_t addr, float frequence, uint32_t oscillatorFrequency) {
    addr_ = addr;
    frequence_ = frequence;
    oscillatorFrequency_ = oscillatorFrequency;
}

Une méthode d'initialisation:

/**
 * Initialize the driver.
 * Setups the I2C interface and hardware.
 * @return true if successful, otherwise false.
 */
bool ServoDriverPCA9685::initDriver(uint8_t prescale) {

    if (addr_ != 0x40) {
        pwmPCA9685 = Adafruit_PWMServoDriver(addr_);
    } else {
        pwmPCA9685 = Adafruit_PWMServoDriver();
    }

    bool resInit = pwmPCA9685.begin(prescale);
    if (resInit) {
        pwmPCA9685.setPWMFreq(frequence_);
        pwmPCA9685.setOscillatorFrequency(oscillatorFrequency_);
    }
    return resInit;
}

Et au niveau du code Arduino:

ServoDriverPCA9685 servoDriverPCA9685(0x40, 50.0, 27000000);
bool initBreakout = false;

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

  initBreakout = servoDriverPCA9685.initDriver();

  if (initBreakout) {
    Serial.println(F("Init arm"));
    initArm();
  } else {
    Serial.println(F("Erreur d'initialisation du breakout."));
  }
}

Merci.

Jocelyn

Super.

Bravo

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.