受信部(半球の突起)を正面に向けて・・・
ピン位置 | 名称 | 意味 |
左 | 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 ) ); }