2011-03-20

Arduinoでリモコン その2

Arduinoでリモコン その2です。
前回"▲"ボタンを押した時に受信した"N 85 F8 A F5"は(サンプルスケッチ IrCtrlTest.pde)の↓この部分↓で受信コードをPCへシリアルで送信しています。
----------------------------------------------------------
#if IR_USE_NEC
 case NEC: /* NEC format data frame */
   if (l == 32) { /* Only 32-bit frame is valid */
     Serial.print("N ");
     Serial.print(IrCtrl.buff[0], HEX); Serial.print(" ");
     Serial.print(IrCtrl.buff[1], HEX); Serial.print(" ");
     Serial.print(IrCtrl.buff[2], HEX); Serial.print(" ");
     Serial.print(IrCtrl.buff[3], HEX); Serial.println();
   }
   break;
 case NEC|REPT: /* NEC repeat frame */
   Serial.println("N repeat");
   break;
#endif
----------------------------------------------------------
"N 85 F8 A F5"の例では buff[0]に85、buff[1]にF8、buff[2]にA、buff[3]にF5が入っている事が解ります。押されたボタンの種類はbuff[2]又はbuff[3]で解りますから、条件判断を入れてSerial.print(xxxxx)の変わりにサーボやモータードライバに出力してやれば良い事になります。

モータードライバはTA7291等を使います。TA7291は秋月等で容易に手に入ります。ポートを2つ使い、一方のみをHighにすれば正転、もう一方のみをHighにすれば反転という動作をします。モーターを2個使う為には4つのポートが必要になります。

サーボを使う場合はちょっと難しいです。その話はその3で。

0 件のコメント: