apertura e rotazione pinza con motori DC con encoder

Per comandare un motore DC con Arduino, serve un Driver ( schedina esterna ) per pilotarlo,
E a seconda di quali comandi abbisogna detto Driver ci si comporta di conseguenza.
Ad esempio puo' avere solo due pin , dir e pulse , che con una digitalWrite dirai in che verso girare ( dir = Direction ) e con una analogWrite farlo camminare
Oppure puo' averne tre, anche un Enable, che serve ad abilitare o disabilitare il motore.
Oppure anche un solo Pin e con l'analogWrite dici se girare in un verso (<90) o nell'altro (>90) , questo pilotaggio si chiama Lap Mode.

Quindi, che driver usi per comandare il motore ?