So, to make it clear, I run the example code called "Button" which came with the software programmer.
I am on WinXP SP2, using standard Arduino Duemilanove.
If you don't have the examples, here is the exact code:
/*
* Button
* by DojoDave <http://www.0j0.org>
*
* Turns on and off a light emitting diode(LED) connected to digital
* pin 13, when pressing a pushbutton attached to pin 7.
*
* http://www.arduino.cc/en/Tutorial/Button
*/
int ledPin = 13; // choose the pin for the LED
int inputPin = 2; // choose the input pin (for a pushbutton)
int val = 0; // variable for reading the pin status
void setup() {
pinMode(ledPin, OUTPUT); // declare LED as output
pinMode(inputPin, INPUT); // declare pushbutton as input
}
void loop(){
val = digitalRead(inputPin); // read input value
if (val == HIGH) { // check if the input is HIGH
digitalWrite(ledPin, LOW); // turn LED OFF
} else {
digitalWrite(ledPin, HIGH); // turn LED ON
}
}
What happens is this: The led connected to pin 13 and grounded at the GND pin next to pin 13 does not light up initially (as it should), only if I connect pin 2 to a GND pin (I used the on next to the 5V pin).
The same happens if I modify the inputPin to any other between 5 and 0.
That's what I call the opposite.
If there is anything I didn't tell, please ask.