Change Direction of a dc Motor

I am new to Arduino and was wondering if it was possible to change the direction of a dc motor without having to switch the positive and negative wires. At the moment I have the + wire in a digital pin and the - wire in ground.

Thanks, tranoxx

The typical method of achieving direction control over a DC motor is called an "H-bridge". There are several motor shields for the Arduino (including ours) that simplify this, or you can build one yourself on a breadboard using a device like an L293D or 754410.

Also, you should not connect motors directly to Arduino pins. They will generally draw too much current for the Arduino and can damage it.

--
The Ruggeduino: compatible with Arduino UNO, 24V operation, all I/O's fused and protected

Not only will a motor draw too much current from an Arduino pin and risk burning it out, it could generate high voltage spikes that destroy semiconductor devices. Look at the tutorials for driving motors and follow the advice.

Below are previous post concerning h-bridges.

http://www.google.com/search?q=h-bridge+site%3Ahttp%3A%2F%2Farduino.cc%2Fforum%2Findex.php&hl=en&num=100&lr=&ft=i&cr=&safe=images&tbs=

See this about controlling motors:-
http://www.thebox.myzen.co.uk/Workshop/Motors_1.html
and
http://www.thebox.myzen.co.uk/Workshop/Motors_2.html

Also, is it possible to change the current output from the Arduino and also able to put out negative current, eg -2.5v?
Thanks to everyone for the info.

No the arduino will only give out 0 and 5V. Like any other processor.