ファービーとは“ファービー”とは1998年にアメリカで開発された電気仕掛けのぬいぐるみです。日本でも世紀末にTOMYから発売され、その愛くるしい容姿とつぶらな瞳で社会現象を起こしました。発火ドゥルドゥ〜という断末魔はあまりにも有名です。ブームが去り10年が経過した今でもヤフオクでの取引は活発で、700円くらいで手に入れる事が出来ます。2.何が出来るの?電話をかけるとファービーが応答。「ファービー、踊って?」とか話しかけると電話越しでファービーがダンスする。発信側の電話機のボタンで任意のコマンドを送り、ファービーを制御。SLEEPコマンドで電話切断、スリープモードに入る。秋月電子で2個300円で売っているDTMFレシーバーCM8870を使う事にしました。ハードウェアをの写真を下記に示します。真ん中上のダイオードはファービーをスリープから解除するための物です。電話機から送出されたDTMFトーンをCM8870にてデコード、PICマイコン(16F648A)で文字に変換し秋月のUART-USB変換モジュールにてPCに送ります。PICマイコンのソースを下記に示します。}main関数は割り込みを許可しているだけで何もしません。CM8870はDTMFを検知するとStDがHになるのでそれを割り込みのトリガにして状態を読み取った物を配列に突っ込み、putcでUART出力しています。半田付けのしやすさを優先したので配列の中身がごちゃごちゃです。ハードとソフトを同時に開発するから出来る芸当ですね。ファービーを制御するファービーには赤外線入力があり、任意のコマンドで制御できます。用意されているコマンドは下記のとおり。今回はデバッグの容易さと、DTMFデコードモジュールの今後の汎用性を考慮し、PC側で制御する事にしました。アプリケーションのスクリーンショットを下記に示します。開発環境はVB2008です。ボタンをクリックすると、それに応じたコマンドを赤外線経由でファービーに送出します。右上のボックスに数値を入力しても同様です。電話機とファービー・DTMFの制御もこのアプリケーションが担当します。ソースコードはこちら。電話がかかってくる(RINGコマンドを受ける)とATAコマンドで通話を開始します。スリープの指示を受信するとファービーにスリープコマンド送って電話をATHコマンドで切断します。