In my recent project I used inductive proximity sensors . They work really great. They detect all metals in the proximity range. I used 4mm sensors. They are very accurate and available at Rs. 250 in India ( £ 3) which is not expensive.
http://www.nskelectronics.in/inductive_proximity.html
I used 12V, PNP, 3 wire sensor . Connections are as follows
Brown - 12V
Blue- Ground
Green- Signal
Place a suitable resistor between Ground and signal . Due to current flowing in resistor, voltage develops. Put a potential divider and feed it to arduino.
Hope this helps ..