赤外線リモコン受信モジュール GP1UXC41QS

gp1uxc41qs.jpg

配線

受信部(半球の突起)を正面に向けて・・・

ピン位置名称意味
Vout出力(Arduinoのデジタルピンへ)
中央GNDGround(ArduinoのGNDへ)
Vcc電源(Arduinoの5Vへ)

プログラミング

リモコンの赤外線を検出したときにLOW, 検出しないときにHIGHが出力される。 以下にテレビのリモコンで使われる方式 の一つであるNECフォーマットのデータを表示するプログラム例を示す。

const int pin = 2;
void setup() {
  pinMode( pin, INPUT );
  Serial.begin( 115200 );
}
unsigned long last, code;
unsigned int custom;
unsigned char data;
void loop() {
  while ( 1 ) {
    while ( digitalRead( pin ) );
    last = micros();
    while ( !digitalRead( pin ) );
    if ( micros() - last > 8400 ) break;
  }
  last = micros();
  while ( digitalRead( pin ) );
  if ( micros() - last < 4200 ) {
    Serial.println( "Repeat" );
  } else {
    code = 0;
    for ( int i = 0; i < 32; i++ ) {
      while ( !digitalRead( pin ) );
      last = micros();
      code >>= 1;
      while ( digitalRead( pin ) );
      if ( micros() - last > 1400 ) code |= 0x80000000;
    }
    custom = code & 0xffff;
    data = (code >> 16) & 0xff;
    Serial.println( "custom=" + String( custom, HEX ) + " data=" + String( data, HEX ) );
  }
  while ( !digitalRead( pin ) );
}

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS