Um einen Motor vorwärts und rückwärts drehen zu lassen, braucht man eine „Brückenschaltung„.
Also beide Anschlüsse des Motors sind über einen Schaltkontakt jeweils mit Plus und Minus verbunden.Um per Arduino einen Motor vorwärts sowie rückwärts betreiben zu können, bräuchten wir 4 Transistoren pro Motor.

bridge1

Der Motortreiber SN754410NE, kann 2 Motoren ansteuern.sn754410ne
Die Motoren können jeweils vorwärts, und rückwärts betrieben werden, und die Geschwindigkeit kann eingestellt werden.
Ein umfangreiches Datenblatt findest du hier: sn754410 (englisch)

Hier die Belegung, wie du die Motoren am Chip anschliesst:
SS754410NE_Motortreiberund hier ein möglicher Aufbau mit Arduino:
motor_NS754410Der Unterschied zwischen SN754410NE und L2930:
Grundsätzlich sind die Chips von der Pinbelegung her kompatibel.

SN754410NE L2930
Strom für Motoren bis 1A bis 600mA
Spannung für Motoren bis 36V bis 36V