「さ~ボード」プロジェクト(1)ー 巨人の肩にのせていただく

オーディオ信号をトリガーにして複数のサーボモータを動かせるといいのですが、そういう製品はありません。ないものは作るしかない。ということで考えはじめました。当初はサーボモーターを駆動するPWM波をPCで生成し、オーディオ出力から出せないかと考えたのですが結構ハードルが高そうですし、そのために新たなソフトをインストールするようなことになると意味がありません。

2017年8月のメーカーズフェア東京で、たまたま阿部先生にお会い出来たので、考えていることをご相談してみたところ「LittleBitsのサーボモジュールもオーディオ信号で動かしていたはずだから、GitHubで回路図見てみたら。オープンソースだから使って大丈夫です。」というアドバイスを頂きました。

早速見てみます。
何だ、ATtinyのアナログ入力にオーディオ信号入れて、PWM出力でサーボ動かしてるのか。当たり前といえば当たり前の方法というか、やはりこれが王道か。あとの回路はバッファと入力保護ですね。原理はこれを採用させていただくとして、もうひと工夫ほしいところです。

ともかく基本原理の確認をするため、手持ちの機材で実験してみます。手っ取り早くArduinoのアナログ入力にオーディオ信号入れて、PWM出力でサーボを動かしてみることにします。
NHKのサイトで公開されている「いぬボード」の回路図(製品とは若干違いますが)を見るとLED出力にはオーディオ信号が出ているようですので、手抜きですがこの信号を直接Arduinoに入力してみます。

Arduino側はServoクラスとMap関数を使って、オーディオ入力のレベルに比例してサーボ角が変わるようにプログラムします。PC側は、Scratchで「いぬボード」の光センサーを遮るとLEDが点灯する「ワンだふぉーの頭の中」のプログラムをそのまま利用します。
こんな感じになりました。