Grove - Infrared Receiver
Contents |
Introduction
The Infrared Receiver is used to receive infrared signals and also used for remote control detection. There is a IR detector on the Infrared Receiver which is used to get the infrared light emitted by the Infrared Emitter. The IR detector have a demodulator inside that looks for modulated IR at 38 KHz. The Infrared Receiver can receive signals well within 10 meters. If more than 10 meters , the receiver may not get the signals. We often use the two Groves-the Infrared Receiver and the Grove - Infrared Emitter to work together.
Model: WLS12136P
Features
- Grove compatible interface
- Supports 3.3V and 5V supply voltages.
- Very low supply current
- Insensitive to supply voltage ripple and noise
Application Ideas
- Remote Control of robots, relays or other things
Usage
We ofen use the two Groves:Grove-Infrared Receiver and Grove - Infrared Emitter to work together. The Infrared Receiver will receive the data that the Grove - Infrared Emitter sends.
- Connect the Grove - Infrared Emitter to Digital I/O 3 of the Grove - Base Shield on the emitter arduino.
- Connect the Grove - Infrared Receiver to Analog I/O 4 of the Grove - Base Shield on the receiver arduino.
- Download the library file:IR Send and Receiver Library, Unzip it into the libraries file of Arduino IDE by the path: ..\arduino-1.0\libraries.
- Note: This library file is improved by seeed, which is better than any other library.
- Open the code directly by the path:File -> Example ->IRSendRev->sendTest.
//**************
//IR sent demo v1.0
//Connect the IR sent pins to D3 for this demo
//By:http://www.seeedstudio.com/
//******************************
#include <IRSendRev.h>
void setup()
{
//enableIROut(38);
}
//unsigned char d[] = {9, 90, 91, 11, 31, 4, 1, 2, 3, 4};
unsigned char d[] = {15, 70, 70, 20, 60, 10, 1, 2, 3, 4,5,6,7,8,9,10};
//Very Important:
//the first parameter(15): the data that needs to be sent;
//the next 2 parameter(70,70): the logic high and low duration of "Start";
//the next 2 parameter(20,60): the logic "short" and "long"duration in the communication
// that to say: if "0", the high duration is 20ms and low is 20 ms; while logic "1",
// the high duration is 20 ms and low is 60 ms;
//the next 2 parameter(10): number of data you will sent;
//the next parameter(1, 2, 3, 4,5,6,7,8,9,10): data you will sent ;
void loop()
{
IR.Send(d, 38);//sent the data via 38Kz IR
delay(1000);
}
- Upload the Code to the emitter arduino. Please click here if you do not know how to upload.
- Open the code directly by the path:File -> Example ->IRSendRev->revTest.
//**************
//IR receive demo v1.0
//Connect the IR sent pins to A4 for this demo
//By:http://www.seeedstudio.com/
//******************************
#include <IRSendRev.h>
//#include <IRSendRevInt.h>
void setup()
{
Serial.begin(38400);
IR.Init(A4);
Serial.println("init over");
}
unsigned char dta[20];
void loop()
{
if(IR.IsDta())
{
// IR.Recv(dta);
int length= IR.Recv(dta);
for (int i =0;i<length;i++)
{
Serial.print(dta[i]);
Serial.print("\t");
}
Serial.println();
// Very Important:
// the received data is comprised of the trsmission parameters , please refer to
// the sendTest.ino in the library ;
}
}
- Upload the Code to the receiver arduino.
- When the Infrared Emitter tube faces the IR receiver tube(the distance of emitter to receiver should be less than 10m), Then open the Grove_-_Infrared_Receiver serial port for see information:
Version Tracker
| Revision | Descriptions | Release |
|---|---|---|
| v0.9b | Initial public release | 04,Oct,2011 |
Resources
Support
If you have questions or other better design ideas, you can go to our forum or wish to discuss.

