Muovere dei servo con la scheda PCA9685

Buonasera, sono abbastanza nuovo nel mondo di arduino, quindi potrò commettere degli errori banali, e molte volte li trovo da solo, ma da questo non riesco proprio a venirne fuori.
Sto cercando di costruire un braccio robotico controllabile da tastiera con 6 servomotori, 3 SG90 e gli altri 3 sono MG996R. Sono collegati alla scheda PCA9685 e alimentati da un alimentatore da 5V 1,2A, ma quando carico il codice, i servo non si muovono. Pensavo che il problema fosse che l'alimentatore era insufficiente per tutti e 6 i servo, ma anche quando provo ad alimentare un solo servomotore, non si muove. Non capisco se il problema è l'alimentatore o il codice. Questo codice dovrebbe muovere un servo usando i caratteri della tastiera ma non fuziona. Grazie mille a chiunque possa aiutarmi.

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

Adafruit_PWMServoDriver servo = Adafruit_PWMServoDriver();

#define SERVOMIN 150
#define SERVOMAX 600

char tasto = '0';

int angBase = 150;  
int angSpalla = 90;
int angGomito = 90;
int angPolso = 90;
int angMano = 90;
int angDita = 90;

// POSIZIONE SERVO
int servoBase = 0;
int servoSpalla = 2;
int servoGomito = 3;
int servoPolso = 4;
int servoMano = 5;
int servoDita = 6;

int angolo;

void setup() {
  Serial.begin(9600);
  servo.begin();
  servo.setPWMFreq(60);
  delay(100);

}

void loop() {
  
  if(Serial.available() > 0) {
    tasto = Serial.read();
    Serial.print(tasto);

    switch(tasto) {
      case 'a':{
        angBase++;
        servo.setPWM(servoBase, 0, angBase);
        delay(10);
      }
      case 'A':{
        angBase--;
        servo.setPWM(servoBase, 0, angBase);
        delay(10);    
      }
 
    }
 }
}

Buongiorno e benvenuto nella sezione Italiana del forum,

cortesemente, come prima cosa, leggi attentamente il REGOLAMENTO di detta sezione, (... e, per evitare future possibili discussioni/incomprensioni, prestando molta attenzione al punto 15), dopo di che, come da suddetto regolamento (punto 16.7), fai la tua presentazione NELL'APPOSITA DISCUSSIONE (... quello che vedi in blu è un link, fai click su di esso per raggiungere la discussione) spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.

Detto questo, in conformità al punto 13 del succitato regolamento, ti rammento che il cross-posting è proibito (anche tra lingue diverse) e ... tu hai già posto la stessa/simile domanda QUI. Non solo, in quella discussione ti stanno già rispondendo ed è veramente poco carino abbandonare una discussione e chi ti stava aiutando, per venire di qua a porre la stessa domanda … :roll_eyes:

Quindi, per rispetto verso chi ha già cominciato ad aiutarti, questa tua discussione duplicata viene chiusa e ti prego di continuare dove avevi cominciato.

Grazie,

Guglielmo

P.S.: Il motivo è che i messaggi doppi fanno perdere tempo alle persone che cercano di aiutare. Qualcuno potrebbe spendere parecchio tempo per scrivere una risposta dettagliata su una discussione, senza sapere che qualcun altro ha già fatto lo stesso in un altra identica/simile discussione.