Hello,
I just got an Arduino board a few days ago and it is really awesome. I just recently started working on hooking up an infrared reciever, an old parallax one http://www.parallax.com/detail.asp?product_id=350-00014. The sensor is responding and Arduino can read it, but I get the same measurement pattern for every button I push on a remote! I'm using the pulseIn command to measure 12 pulses, but I have also tried measuring only 8 with no change. Does anyone have any ideas?
int pwr_high = 4; //Sensor pin 1
int pwr_low = 3; //Sensor pin 2
int ir_pin = 2; //Sensor pin 3, the data pin
int data[12];
void setup() {
pinMode(pwr_high, OUTPUT);
pinMode(pwr_low, OUTPUT);
pinMode(ir_pin, INPUT);
digitalWrite(pwr_high, HIGH); //Sensor pin 1 always high
digitalWrite(pwr_low, LOW); //Sensor pin 2 always low
Serial.begin(9600);
}
void loop() {
data[0] = pulseIn(ir_pin, LOW); //Start measuring bits --the sensor defaults high, goes low on infrared
data[1] = pulseIn(ir_pin, LOW);
data[2] = pulseIn(ir_pin, LOW);
data[3] = pulseIn(ir_pin, LOW);
data[4] = pulseIn(ir_pin, LOW);
data[5] = pulseIn(ir_pin, LOW);
data[6] = pulseIn(ir_pin, LOW);
data[7] = pulseIn(ir_pin, LOW);
data[8] = pulseIn(ir_pin, LOW);
data[9] = pulseIn(ir_pin, LOW);
data[10] = pulseIn(ir_pin, LOW);
data[11] = pulseIn(ir_pin, LOW);
Serial.println("-----"); //Send them all
Serial.println(data[0]);
Serial.println(data[1]);
Serial.println(data[2]);
Serial.println(data[3]);
Serial.println(data[4]);
Serial.println(data[5]);
Serial.println(data[6]);
Serial.println(data[7]);
Serial.println(data[8]);
Serial.println(data[9]);
Serial.println(data[10]);
Serial.println(data[11]);
}
For example, I only get:
-----
9842
787
9824
796
791
790
786
786
785
784
762
762
This is from a Tivo remote, every button reports the same with ~10-20 variance each time.