Hello, I'd really appreciate some advice on this circuit I'm trying to make.

The
Ruggeduino is meant to be controlling the MOSFET through pin 8 (blue wire). I have 12V on the rail of the breadboard (black/yellow, bottom right) to drive the solenoid (left, fed by yellow/blue, datasheet attached). The MOSFET datasheet is
here. A 47K resistor pulls down the MOSFET's gate pin.
My code is just a proof-of-concept to test the MOSFET and valve but the valve does nothing. It works fine if I connect it straight to 12V.
// set the pin that will control the valve
int ValvePin = 8;
void setup() {
// set the digital pin as output:
pinMode(ValvePin, OUTPUT);
// start the pin on LOW
digitalWrite(ValvePin, LOW);
}
void loop(){
digitalWrite(ValvePin, LOW);
delay(5000);
digitalWrite(ValvePin, HIGH);
delay(5000);
}
I can measure voltage switching from the I/O pin but it only gets up to 2.4V at high and won't drop below 0.17V on low. In response the voltage between drain and source pins of the MOSFET switches between 10.4V and 12.1V which is odd as I thought it would be off by default. Also, despite this voltage, the valve still doesn't switch. Its not a particularly heavy current drain so I am broadly stumped for answers here. I have duplicated this problem with a Duemilanove too.
I presume I am doing something stupidly wrong. Can someone throw me a bone?
Thanks,
Scary