Serial monitor infinite output

hi, im having troubles regarding the serial monitor cause it shows infinite outputs of high and low

i have this simple code:

int forwardPin = 12;

void setup()
{
Serial.begin(9600);
pinMode(forwardPin, INPUT);
}

void loop()
{
int forwardState = digitalRead(forwardPin);
if (forwardState == HIGH)
{
Serial.println("HIGH");
delay(1000);
}
else
{
Serial.println("LOW");
delay(1000);
}
}

but when i look at the serial monitor for its output, it shows infinite loops of high and low.

i also tried it for outputing Serial.write for my project, but still it doesn't work

hope u could help me. im trying this code for my robotics project so im glad if anyone here could help

thanks in advance

Second floating pin question in under 24 hours.
A new record?
http://arduino.cc/forum/index.php/topic,145168.0.html

but when i look at the serial monitor for its output, it shows infinite loops of high and low.

Does the value change from HIGH to LOW only when you press the switch? Or does it change randomly?

How is the switch wired?

thanks for the reply PaulS.

no...it shows high and low outputs randomly immediately after i turned on the serial monitor.

actually, im using a device which outputs digital signals...and it is connected in pin 12 of my arduino.
(it is an infrared device with a remote as its controller).

again, thanks for the reply. i really appreciate it.

Hi AWOL...

i read the thread that u gave with the link...so that could be the reason?

so what to do with the floating pin?

yes sir im a noob, so could u please help me? ty

Sounds like floating pin syndrome.

Enable the internal pull-up resistor on the pin.

actually, im using a device which outputs digital signals...and it is connected in pin 12 of my arduino.

And is the ground of this device connected to the ground of the arduino. If not then it floats.

how to do that enabling the pull up resistor? sorry for the question guys T_T thanks

  pinMode(forwardPin, INPUT);
  digitalWrite(forwardPin, HIGH); // Turn on the pullup resistor.

zer0_JuLz:
how to do that enabling the pull up resistor?

If the grounds are not connected then enabling the internal pull ups is not going to help.
You only need to enable the internal pull up if you have an open collector output on your other device.
This is written for power supplies but it applies equally to signals:-
http://www.thebox.myzen.co.uk/Tutorial/Power_Supplies.html

i really appreciate ur help guys...

with regards to connecting grounds, we connected the ground of the supply of our input device to the ground of our arduino... but yet there's also a ground near the outputs of our input device...and i assume the 2 grounds are connected, so we did not connect it

i keep researching about this guys..so, could the pull down resistors be the perfect solution?

Is there a device connected to pin 12? Is it turned on? Is it wired correctly? Perhaps a photo or schematic?

zer0_JuLz:
actually, im using a device which outputs digital signals...and it is connected in pin 12 of my arduino.
(it is an infrared device with a remote as its controller).

A link to the device please.

All this talk about "a device" when you could have specified a part number, and a link to it, is simply wasting time.

i don't have a photo or a schematic sir, but it is an infrared device which is controlled by a remote in which when a corresponding button in the remote is pressed, it has digital output, which is connected to pin 12. my problem is, even though i'm not pressing a button, the serial monitor outputs infinite loop of high and low, which really confuses me if this is a pull down resistor issue.

here's what my output is

I'm confused about what the device is, still. As in, its part number.

You don't generally connect things via a single wire. Does the device have a ground wire? Is it wired to the Arduino ground?

i don't have a photo or a schematic sir,

Do you have a phone with a camera in it? How about using it?

here's what my output is

I believe you. You don't have to attach a screenshot. You can copy and paste from the output window.

here's what the device is... i bet it is just newly constructed so got no full ideas about it.

http://www.e-gizmo.com/KIT/NEWIR.htm

but i will try all your suggestions now sir...thanks a lot. u guys got my sincere gratitudes :blush:

http://www.e-gizmo.com/KIT/images/11functions/11%20function%20technical%20manual.pdf

found this manual sirs

PaulS:

  pinMode(forwardPin, INPUT);

digitalWrite(forwardPin, HIGH); // Turn on the pullup resistor.

so the new code will be like this?

int forwardPin = 12;

void setup()
{
  Serial.begin(9600);
  pinMode(forwardPin, INPUT);
  digitalWrite(forwardPin, HIGH);
}

void loop()
{
  int forwardState = digitalRead(forwardPin);
  if (forwardState == HIGH)
  {
    Serial.println("HIGH");
    delay(1000);
  }
  else
  {
    Serial.println("LOW");
    delay(1000);
  }
}