Grove - Infrared Receiver

From Wiki
Jump to: navigation, search

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

Grove - Infrared Receiver.jpg

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.
IR SendRev.jpg
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:

IR Send and Receiver.jpg

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.

Personal tools
Namespaces

Variants
Actions
Structure
Seeed Products
Support
Toolbox