赤外線リモコン受信モジュール 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" );
  }
  while( !digitalRead( pin ) );
  code = 0;
  for( int i=0; i<32; i++ ){
    last = micros();
    code >>= 1;
    while( digitalRead( pin ) );
    if( micros() - last > 1400 ) code |= 0x80000000;
    while( !digitalRead( pin ) );
  }
  custom = code & 0xffff;
  data = (code >> 16) & 0xff;
  Serial.println( "custom=" + String( custom, HEX ) + " data=" + String( data, HEX ) );
}

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