Controle Velocidade 2 Motores DC com Ponte H - Arduino UNO

Boa Noite a Todos!

Resumindo o meu problema, so consigo controlar a velocidade de um unico motor corretamente, se coloco os 2 ao mesmo tempo, um funciona corretamente e o outro fica fraco, as pilhas que estao alimentando a ponte H sao relativamente novas e um pack com 4 pilhas AA duracell dando um total de 6V, se eu deixo a ponte Jampeada para 5 V os 2 motores funcionam corretamente, porem se tento controlar a velocidade nao funciona, alguem saberia me dizer o que poderia ser?

CODIGO:

//Incluindo biblioteca Ultrasonic.h
#include "Ultrasonic.h"

//criando objeto ultrasonic e definindo as portas digitais
//do Trigger - 12 - e Echo - 13
Ultrasonic ultrasonic(12,13);

long microsec = 0;
float distanciaCM = 0;

//motor A
//int ENABLE1 = 5;
int velocidadeA = 5;
int IN1 = 7 ;
int IN2 = 6 ;

//motor B
//int ENABLE2 = 3;
int velocidadeB = 3;
int IN3 = 2 ;
int IN4 = 4 ;

//Inicializa Pinos
void setup(){

Serial.begin(9600); //Inicializando o serial monitor

pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
pinMode(velocidadeA,OUTPUT);
pinMode(velocidadeB,OUTPUT);
}

void loop(){
//Lendo o sensor
microsec = ultrasonic.timing();
//Convertendo a distância em CM
distanciaCM = ultrasonic.convert(microsec, Ultrasonic::CM);
/Inicio dos Estados do motor A/
digitalWrite(velocidadeA,1);
digitalWrite(velocidadeB,1);

verDistancia();

Serial.print(distanciaCM);
Serial.println(" cm");
delay(1000);
}

//Método que centraliza o controle de acendimento dos leds.
void verDistancia() {

if (distanciaCM > 30) {
//Sentido Ant
//motor A
//Intermediaria
analogWrite(velocidadeA,110);
analogWrite(velocidadeB,110);
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
//Motor B
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
}

if (distanciaCM < 30) {
//Sentido Horario
//motor A
//Intermediaria
analogWrite(velocidadeA,255);
analogWrite(velocidadeB,255);
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);

//Motor B
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
}
}

Não há esquema, nem uma explicação daquilo que o código devia fazer (como por exemplo, porque é que se mede a distância), assim é complicado fazer qualquer comentário.