pin stuck HIGH

Hello. I'm new to arduino and I was messing around with a press button switch, an external power supply and the digitalRead command. I had protected the pin with a 10k ohm resistor but now the pin seems to be stuck HIGH. It still works as an output. Is it possible that I fried the pin? Or perhaps, I need to reset something? It's pin 7 on a duemilenove in case anyone is wondering. Is there somekind of diagnostic to run to see if all the pins are functioning as they should? Thanks in advance to anyone who chimes in with a constructive comment. ;)

What do you mean by protected the pin with a 10K resistor? I assume your referring to the diagram seen in this link.

That resistor is set there to pull the pin to ground so that it reads LOW. Then when the button is pressed +5V is passed to the pin and it reads HIGH.

You don't really need the pull down resistor there at all. Take the resistor out and wire the button between the pin and ground. Then in the void setep() you set the pinMode to output and then digitalWrite the pin to HIGH. This then makes the Arduino use the internal pull up resistor on the chip. So now you reverse your logic on the buttons. So when the button is pressed it now reads LOW.

Here is a modified version of the button example using the internal pull up resistor rather then using and external pull down.

// constants won't change. They're used here to 
// set pin numbers:
const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);      
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
  // pushbuttons are read as HIGH till pressed
  digitalWrite(buttonPin, HIGH);  

void loop(){
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed.
  // if it is, the buttonState is LOW:
  if (buttonState == LOW) {     
    // turn LED on:    
    digitalWrite(ledPin, HIGH);  
  else {
    // turn LED off:
    digitalWrite(ledPin, LOW); 

Yes. What if I accidentally hooked up 12V instead of 5V? Did I do damage?

Yes, I'd say so.

And I would put money on it.