Hola,
Te paso un codigo comentado, lo que hace es acelerar, frenar, y girar el servo depende de la tecla apretada

Espero que te sirva
************************
#include "SoftwareSerial.h"; //Libreria para el control del puerto serie del teclado.
#include "Servo.h";
int ledPin= 13; // selecciona el pin para el LED que nos indica la comunicacion del PC con la placa
int status = HIGH;
int tecla;
int M1_A = 4; // Motor 1 entrada A
int M1_B = 5; // Motor 1 entrada B
Servo direccion;
void setup() {
Serial.begin(9600); //Inicializamos el teclado con la frecuencia de 9600 baud
Serial.print("AUTOMATA");
pinMode( M1_A, OUTPUT); // declara el motor 1 A como salida
pinMode( M1_B, OUTPUT); // declara el motor 1 B como salida
pinMode(ledPin, OUTPUT); // declara LED como salida
direccion.attach(6); //Definimos la funcion "direccion" al servo y le indicamos que lo tenemos conectado en el pin 6
}
void loop(){
tecla= Serial.read();// lee el valor del puerto seri
if(tecla!= -1 && tecla== 'a') { // Pregunta si el valor es "a" y además el estado cambió
digitalWrite( M1_A, HIGH); // Ponemos el motor en HIGH para acelerar el motor para tirar hacia delante
digitalWrite( M1_B, HIGH);
}
else if(tecla!= -1 && tecla== 'p') { // Pregunta si el valor es "p" y además el estado cambió
digitalWrite( M1_A, LOW); // Ponemos el motor en LOW para acelerar el motor para tirar hacia delante
digitalWrite( M1_B, HIGH);
}
else if(tecla!= -1 && tecla== 'f') { // Pregunta si el valor es L y además el estado cambió
digitalWrite( M1_A, LOW); // Valores ALTO en A y BAJO en B simultáneamente
digitalWrite( M1_B, LOW); // hacen girar el motor 1 hacia ADELANTE
}
else if(tecla!= -1 && tecla== 'd') { // Pregunta si el valor es L y además el estado cambió
direccion.write(180); //Indicamos que el servo girara la direccion a la derecha
}
else if(tecla!= -1 && tecla== 'i') { // Pregunta si el valor es L y además el estado cambió
direccion.write(0); //Indicamos que el servo girara la direccion a la izquierda
}
digitalWrite(ledPin, status);
}