コメを噛め

コメを噛め

rerofumi の電子工作メモ

Archive for 10月, 2007


hatena bookmark

続いては、V850マイコン基板を用いた音声時計の話題。

クリプトンのボーカルシンセサイザーであるVOCALOID2「初音ミク」に歌わせた音声を波形データとして持っておき、現在の時刻を音声出力するボイスクロック。
動画の方ではWindowsアプリ版とマイコン版の二つを作る様子が描かれているけれども、今回は後者のマイコン版についての解説。
miku_clock_1

V850基板はおなじみ Interface 2007/5月号付録のもの。
追加回路は以下のもののみ。
miku_clock_2
VCCは3.3Vね。V850基板の R4 をショート(正確には0Ωを実装)させ COM2-39 から 3.3V を得るのがオススメ。
D/Aコンバータからの出力は電流が少ないために直接スピーカーをドライブさせることはできずオペアンプ等での増幅が必要。といってもインピーダンスが高いアンプなら大抵なんとかしてくれるので、ピンジャックを繋いで直接音声入力がある装置に繋いでしまっても割と大丈夫だったりする。
その様に省略してしまうととても簡単な回路になるので、アナログ回路や電子工作自体に慣れてない人にもお勧め。
miku_clock_3

ソースコード: miku_clock_v850.zip

プログラムは、以前作ったコメベーダーのサウンド部分と入力部分を使い回しているので案外さっくりと作ってあったり。
InterfaceのV850基板にはサブクロックとして 32.768kHz の水晶を載せる場所があり、それを実装すると時計としての精度を上げることができるのだけれども、今回はメインクロックの 20MHz をカウンターで計測しての時計としている。こちらの方が作りやすいでしょ、といいながら単に私が 32.768kHz の水晶を持っていないだけなのだけれども。

SW1とSW3が時刻合わせで、SW1を押すと「時」がインクリメントされていきSW3を押すと「分」がインクリメントされていく。秒については起動したとき0で以後アジャストする手段は無し。このへん手抜き。
SW2が時刻読み上げのボタンなので、これは押しやすい実装にするが吉。

V850基板は手元にあるんだけどー、といった人にぜひお勧めしたい手頃さなのでお試しあれ。


hatena bookmark

この 2ヶ月間はVOCALOID2の「初音ミク」(とニコニコ動画)にかかりっきりで、コメを噛めとしての記事が完全に停滞していたあたり。
でもその間に電子工作をしていなかったかというとそんなこともなく。
というわけで、それら成果(と呼ぶにはちとしょぼい)を、後出しで掲載。
ニコニコ動画の空気がわからないと面白くないと思われるけれども、そのへんはご容赦。

まずはこちら。

初音ミクにネギを振らせるおもちゃを作ろうという各種工作動画があってその一つ。
コメを噛めらしくサーボモーターをマイコンで制御して動作させようという試み。
servo_miku_1

サーボモーターは電源とコントロール線の 3本のコードがあって、コントロール線に与える信号で回転位置の指定を行っている。
この信号は、50Hz(20ms)周期のパルスで、パルスの幅によって回転位置が決定する。
servo_miku_4
そのパルスの幅は周期の 1/10〜2/10 となっている。
この信号をマイコンで作り出せば良いのだけれども、そのためには割り込みかPWMかソフトウェアタイミングか、まあ如何様にもやり方がある。
今回はPSoCのPWMモジュールを使ってハードウェアにおまかせしてみた。CPUからは回転角を変えたくなったときにPWMカウンター設定を変更すれば良い。

PSoCのソースコードはこの後のPC経由Wiiリモコン制御の時に上書きして半分消してしまったので省略。すんません。

servo_miku_2
サーボモーターをパネルに取り付け。
servo_miku_3
キャラクター玩具として組み立てる。

マイコン制御なので動作パターンもプログラミング次第というのがうれしい。
これ自体は他愛もないおもちゃだけれども、こういうのが積み重なってメカトロニクス制御になっていくのではないかと思う次第。

これ自体は大したものではなく、面白いと感じるかどうかは「初音ミク」と「ネギ回し」で楽しめるかどうかといったところですが。