受信部(半球の突起)を正面に向けて・・・
| ピン位置 | 名称 | 意味 |
| 左 | Vout | 出力(Arduinoのデジタルピンへ) |
| 中央 | GND | Ground(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 ) );
}