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
//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:
}```