Controlar motores con AF_DCMotor y Arduino Mega 2560

No me funciona los mismos códigos que utilizaba con una placa Arduino UNO para controlar los motores de mi robot.
Al conectar la placa de controlador de motores(AF_DCMotor) con la Arduino Mega 2560 me han dejado de funcionar los mismos códigos que utilizaba con la placa Arduino UNO.

Los sube a la placa Mega sin problemas, pero luego no responden, no hace nada, sea un código sencillo para que mueva directamente los motores o intentando controlarlos por Port Serie enviando comandos.

Hay solo dos cosas que he cambiado al pasar de una placa a la otra y es poner en 'Board' la placa que toca es decir Arduino Mega 2560 y he tenido que cambiar tambien el puerto de COM3(que utilizaba con Arduino UNO) a COM6 ya que con COM3 ni siquiera me carga el programa.

Podeis echarme una mano?

Este es el código:

#include <AFMotor.h>

int input;
void setup(){
Serial.begin(9600);

}

void loop() {
AF_DCMotor motor4(4, MOTOR34_64KHZ); // define el motor en el puerto 4 a 64KHz
AF_DCMotor motor3(3, MOTOR34_64KHZ); // define el motor en el puerto 3 a 64KHz
AF_DCMotor motor2(2, MOTOR12_64KHZ); // define el motor en el puerto 2 a 64KHz
AF_DCMotor motor1(1, MOTOR12_64KHZ); // define el motor en el puerto 1 a 64KHz

input=Serial.read();

int pindigital = 2;
pinMode(pindigital, OUTPUT);

if (input=='1'){
digitalWrite(pindigital, LOW); // activaremos el relé en posición motor 1
delay(500);
motor1.setSpeed(255); // define la velocidad del motor (max.255)
motor1.run(FORWARD);
delay(500); // hace un forward durante medio segundo
}

if (input=='2'){
motor2.setSpeed(255); // define la velocidad del motor (max.255)
motor2.run(FORWARD);
delay(500); // hace un forward durante medio segundo
}

if (input=='3'){
motor3.setSpeed(255); // define la velocidad del motor (max.255)
motor3.run(FORWARD);
delay(500); // hace un forward durante medio segundo
}

if (input=='4'){
motor4.setSpeed(255); // define la velocidad del motor (max.255)
motor4.run(FORWARD);
delay(500); // hace un forward durante medio segundo
}

if (input=='5'){
digitalWrite(pindigital, HIGH); // activaremos el relé en posición motor 5
delay(500);
motor1.setSpeed(255); // define la velocidad del motor (max.255)
motor1.run(FORWARD);
delay(500); // hace un forward durante medio segundo
}

if (input=='6'){
digitalWrite(pindigital, LOW); // activaremos el relé en posición motor 1
delay(500);
motor1.setSpeed(255); // define la velocidad del motor (max.255)
motor1.run(BACKWARD);
delay(500); // hace un backward durante medio segundo
}

if (input=='7'){
motor2.setSpeed(255); // define la velocidad del motor (max.255)
motor2.run(BACKWARD);
delay(500); // hace un backward durante medio segundo
}

if (input=='8'){
motor3.setSpeed(255); // define la velocidad del motor (max.255)
motor3.run(BACKWARD);
delay(500); // hace un backward durante medio segundo
}

if (input=='9'){
motor4.setSpeed(255); // define la velocidad del motor (max.255)
motor4.run(BACKWARD);
delay(500); // hace un backward durante medio segundo
}

if (input=='0'){
digitalWrite(pindigital, HIGH); // activaremos el relé en posición motor 5
delay(500);
motor1.setSpeed(255); // define la velocidad del motor (max.255)
motor1.run(BACKWARD);
delay(500); // hace un forward durante medio segundo
}
}

Saludos.
Soy nuevo por aqui y estoy revisando de todo para aprender. yo he comenzado con una placa Arduino MEGA 2560.
Ahora lo que estas haciendo para controlar los motores es usando un PWM en los pines 1,2,3 y 4 pero en el MEGA los pines PWM son del 2 al 13 y del 44 al 46. Debes revisar eso y cambiar los pines usados. Pero como no he usado la librería AFMotor.h no podría decirte mas.