Tutoriales

Tutoriales

Driver PCA9685  con Arduino Uno

Código:

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

// Declarando variable segun la libreria para menejo de Servos
// usando la dirección de la tarjeta "0x40"
Adafruit_PWMServoDriver servos = Adafruit_PWMServoDriver(0x40);
//Adafruit_PWMServoDriver servos2 = Adafruit_PWMServoDriver(0x44);

int pos0=102;                               // ancho de pulso en cuentas para pocicion 0°
int pos180=512;                             // ancho de pulso en cuentas para la pocicion 180°

void setup() {
  servos.begin();  
  servos.setPWMFreq(50);                    //Frecuecia PWM de 50Hz para Servo SG90
}

void loop() {
  
    setServo(0,0);
    delay(1000);
    setServo(0,90);
    delay(1000);
    setServo(0,180);
    delay(1000);

    setServo(3,0);
    delay(1000);
    setServo(3,90);
    delay(1000);
    setServo(3,180);
    delay(1000);

    setServo(6,0);
    delay(1000);
    setServo(6,90);
    delay(1000);
    setServo(6,180);
    delay(1000);

    setServo(9,0);
    delay(1000);
    setServo(9,90);
    delay(1000);
    setServo(9,180);
    delay(1000);

    setServo(12,0);
    delay(1000);
    setServo(12,90);
    delay(1000);
    setServo(12,180);
    delay(1000);

    setServo(15,0);
    delay(1000);
    setServo(15,90);
    delay(1000);
    setServo(15,180);
    delay(1000);
}

void setServo(uint8_t n_servo, int angulo) {  //Función Personalizada
  int duty;
  duty=map(angulo,0,180,pos0, pos180);
  servos.setPWM(n_servo, 0, duty);            //Función de la Libreria
}

Descargas:

error: