difficulty in controlling both brushless and dc motors

The project is to build a robot grass cutter: the brushless motor turns the blade that cuts the grass and the 2 dc motors are attached to the wheels.

THIS IS THE PROGRAM (THAT WORKS)TO CONTROL THE BRUSHLESS MOTOR:

#include <Servo.h>
Servo myservo; // create servo object to control a servo (brushless motor)

int minspe = 800; // min blade speed
int maxspe = 1900; // max speed for blade
int spe;
void setup()
{Serial.begin(9600); // scriviamo qualcosa sul monitor?
myservo.attach(2); // attaches the servo on pin 2 to the servo object
myservo.writeMicroseconds(minspe); //min pulse (otherwise the ESC stops working)
}

void loop() {

delay (10000); // ******* INITIAL DELAY TO GET THE ESC RUNNING********
accelerazioneLamaDiTaglio();
delay (5000);
decelerazioneLamaDiTaglio();
delay (5000);
}

void accelerazioneLamaDiTaglio(){
Serial.println("inizio for loop di accelerazione ");
for (spe=800; spe <maxspe; spe++)
{ myservo.writeMicroseconds(spe);
delay(15);
}
}

void decelerazioneLamaDiTaglio(){
for (spe=2000; spe > 800; spe--)
{ myservo.writeMicroseconds(spe);
delay(15);
}
}

THIS PROGRAM WORKS AND CONTROLS THE 2 DC MOTORS:

#include <CompactQik2s9v1.h>
#include <NewSoftSerial.h>

/*
Important Note:
The rxPin goes to the Qik's "TX" pin
The txPin goes to the Qik's "RX" pin
*/
#define rxPin 3
#define txPin 4
#define rstPin 5

NewSoftSerial mySerial = NewSoftSerial(rxPin, txPin);
CompactQik2s9v1 motor = CompactQik2s9v1(&mySerial,rstPin);

byte motorSelection;
byte motorSpeed;
int maxspeed = 110;

void setup()
{
Serial.begin(9600);
mySerial.begin(9600);
motor.begin();

// motor.stopBothMotors();
}

void loop()
{
Serial.println("inizio accer");
motorsacceleration();
delay (10000);
Serial.println("inizio decel");
motorsdecceleration();
delay (3000);
Serial.println("inizio reverse and fwd dx");
motorsreversefwddx();
///delay (5000);
motorsacceleration();
Serial.println("inizio reverse and fwd sx");
delay (10000);
motorsreversefwdsx();
///delay (5000);

}
void motorsacceleration(){
for (int i=10; i<maxspeed; i++){
motor.motor0Forward(i);
motor.motor1Forward(i);
delay (10);}
}

void motorsdecceleration(){
for (int i=maxspeed; i>1; i--){
motor.motor0Forward(i);
motor.motor1Forward(i);
delay (10);}
}

void motorsreversefwddx(){
//if (int i>0) { motorsdecceleration();}
for (int i=10; i<60; i++){
motor.motor0Reverse(i*2);
motor.motor1Reverse(i);
delay (10);}
delay (3000);
}

void motorsreversefwdsx(){
for (int i=10; i<60; i++){
motor.motor0Reverse(i);
motor.motor1Reverse(i*2);
delay (10);}
delay (3000);
}

THIS IS THE PROGRAM THAT HAS SOME DIFFICULTY IN RUNNING CORRECTLY: I PUT A FEW LINES OF PROGRAM TO SEE IF I COULD CONTROL THE MOTORS MANUALLY (WITH 2 SWITCHES) ON PIN 9 AND 12.
I CAN MODIFY THE SPEED OF THE BLADE BUT NO RESPONSE FROM THE 2 DC MOTORS
// .h
#include <Servo.h> //per la lama
Servo myservo; // create servo object to control a servo

#include <CompactQik2s9v1.h> // per i motori di trazione
#include <NewSoftSerial.h> // per i motori di trazione

// variables - lama di taglio
int minspe = 800; // velocita' zero lama di taglio
int maxspe = 1900; // massima velocita' lama di taglio
int spe;

// variables - 2 motori di trazione
#define rxPin 3
#define txPin 4
#define rstPin 5

NewSoftSerial mySerial = NewSoftSerial(rxPin, txPin);
CompactQik2s9v1 motor = CompactQik2s9v1(&mySerial,rstPin);

///byte motorSelection;
///byte motorSpeed;
int maxspeed = 110;

void setup(){

myservo.attach(2); // attaches the servo on pin 2 to the servo object
myservo.writeMicroseconds(minspe); //fornire al motore l'impulso minimo (altrimenti si blocca)
delay (10000);
accelerazioneLamaDiTaglio();
}
void loop() {
Serial.println("loop ");
int ledPin = 12; // manual control of blade
pinMode (ledPin, INPUT); // manual control of blade
int ledPin9 = 9;
pinMode (ledPin9, INPUT);

if (digitalRead(ledPin)== HIGH)
decelerazioneLamaDiTaglio() ;
delay (15);
if (digitalRead (ledPin)== LOW && spe < 900)
accelerazioneLamaDiTaglio();

if (digitalRead(ledPin9)== HIGH)
motorsacceleration();
delay (10);
}

void accelerazioneLamaDiTaglio(){
Serial.println("inizio for loop di accelerazione ");
for (spe=800; spe <maxspe; spe++)
{ myservo.writeMicroseconds(spe);
delay(15);
}
}
void decelerazioneLamaDiTaglio(){
for (spe=2000; spe > 800; spe--)
{ myservo.writeMicroseconds(spe);
delay(10);
}}

void motorsacceleration(){
for (int i=10; i<maxspeed; i++){
motor.motor0Forward(i);
motor.motor1Forward(i);
delay (10);}}

Grumpy_Mike, you are right:
my idea of coping was to learn by reading a program that works...

Tks.