Controlling brushless motor with PCA9685

I will control 8 mrushless DC motor and i am using PCA9685 servo driver for multiple pins.
I can control with Servo.h library but my code doesnt work in <Adafruit_PWMServoDriver.h> library, i changed everything to that library.
ı think i can't arm my motors.
Here is my code, pls help me :slight_smile:

//Natur-AUV Takımı Manuel Kontrol Algoritması
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>

//0x40 adresine bağlı
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();

#define MAX_PWM 1900 // FORWARD FULL
#define MIN_PWM 1100 // REVERSE FULL
#define DUR_PWM 1500 // STOP MOTORS

//MOTOR PINS ON PCA9685
const int manevra[]={0,1,2,3}; // 0:sol ön, 1:sag ön, 2:sol arka, 3:sağ arka
const int yukseklik[]={4,5,6,7}; // 4:sol ön, 5:sag ön, 6:sol arka, 7:sağ arka

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

Serial.println("");
Serial.println("MOTOR TESTLERİ BAŞLADI!
");
Serial.println("
***");
Serial.println(" ");
Serial.println("////////MANEVRA MOTORLARI TEST EDİLİYOR///////");
Serial.println("En yüksek PWM değeri veriliyor...");
pwm.writeMicroseconds(manevra[0],MAX_PWM);
pwm.writeMicroseconds(manevra[1],MAX_PWM);
pwm.writeMicroseconds(manevra[2],MAX_PWM);
pwm.writeMicroseconds(manevra[3],MAX_PWM);
delay(3000);
Serial.println("En düşük PWM değeri veriliyor...");
pwm.writeMicroseconds(manevra[0],DUR_PWM);
pwm.writeMicroseconds(manevra[1],DUR_PWM);
pwm.writeMicroseconds(manevra[2],DUR_PWM);
pwm.writeMicroseconds(manevra[3],DUR_PWM);
delay(5000);
Serial.println("ESC kalibrasyonu tamamlandı");

Serial.println("Arka sağ motor test ediliyor");
delay(1000);
pwm.writeMicroseconds(manevra[3],MAX_PWM);
delay(1000);
pwm.writeMicroseconds(manevra[3],DUR_PWM);

Serial.println("Ön sağ motor test ediliyor");
delay(1000);
pwm.writeMicroseconds(manevra[1],MAX_PWM);
delay(1000);
pwm.writeMicroseconds(manevra[1],DUR_PWM);

Serial.println("Arka sol motor test ediliyor");
delay(1000);
pwm.writeMicroseconds(manevra[2],MAX_PWM);
delay(1000);
pwm.writeMicroseconds(manevra[2],DUR_PWM);

Serial.println("Ön sol motor test ediliyor");
delay(1000);
pwm.writeMicroseconds(manevra[0],MAX_PWM);
delay(1000);
pwm.writeMicroseconds(manevra[0],DUR_PWM);

Serial.println("MANEVRA MOTORLARI TESTİ TAMAMLANDI*");

}

void loop() {
// put your main code here, to run repeatedly:

}```

We would like to help you but we cannot see your project. Post a schematic,not a frizzy thing. Not all problems are in the code. Include links to technical information on the hardware devices.

Hi, @intelligentstingray

To add code please click this link;

Your code will be easier to read.

Thanks.. Tom... :smiley: :+1: :coffee: :australia:

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