ノキアの携帯電話端末用カラーLCDを搭載したShield。右上のジョイスティックやボタンにより、メニュー表示→メニュー選択のような機能を実現しているスイッチサイエンスのバニラシールド。プロトタイピング用のShieldだが、最も汎用性が高い。Protoは、プロトタイピング用のShieldとなる。基板上にユーザーが自由に回路を作るためのShieldですな。いろいろな利用法があるが、例えばブレッドボードとArduinoを使ってナニカを試作して「これでヨシ!!」となったらShield上に回路をハンダ付けして作り、一応の完成形とする、てな感じで使ったり。Arduino+Shield+電源ごと何かに組み込んでしまうという使い方も多い。Arduinoの入出力ピンは、誤挿入防止のため、一般のユニバーサル基板と一部のピッチが異なる。逆に言えば、一般のユニバーサル基板をArduino用Shieldとして使うのが困難なので、こういったプロトタイピング用のShield(いわばArduino用ユニバーサル基板)が存在するとも言える。v1.0は、各種部品たっぷり搭載型Shield。スライドボリューム、LED、ボタン、光センサ、温度センサ、ブザー、7セグメントLEDなどの部品を試せるように作ってある。その動作例&オモシロみはココの動画で一目瞭然。キット品なので要ハンダ付け。こちらも要ハンダ付けのキット品だが、SDカードに書き込んだPCMサウンドファイル(.wav)をArduino制御で再生できるというのが特徴であり魅力だ。DAコンバータやアンプも基板上に搭載している。ShieldとArduinoを合体させたところ。非圧縮PCMファイルの再生をArduinoから制御できるようになる。再生できるPCMファイルは「.wav」ファイルで、最高で22KHz/16bitまで。22KHz/16bitだと時々再生されないことも。手前上がイヤホンジャック、その下がACアダプタ用ジャック。左上がスイッチ付きのボリュームだSDカード上のサウンド、つまりデジタルデータを、WaveShieldがアナログ信号に変換・増幅し、スピーカーやイヤホンから再生する、というモノですな。Shield用のライブラリが必要なので、適宜インストールを。Shieldはヒジョーに愉快。公開されているスケッチ(プログラム)を試すと、Arduinoの出力ピンとGND(-端子)を接触させるだけで、当該するサウンドファイルが再生されたりする。ちなみに、サンプルのスケッチやサウンドへはココから辿れる。夢が膨らむ感じのShieldだが、この記事では基本に忠実に。Shieldの組み上げ(ハンダ付け)と上記ライブラリのインストールができるなら、恐らく誰にでも作れちゃう“Arduino楽器”を紹介してみたい。Shieldを使ったArduino楽器は、Arduino達人の船田戦闘機氏っていうかフニャ田さんによるものだ。保存用リッツ缶を筐体にした、シンプルだけれど遊べるデジタル楽器である。缶の底面にはブレッドボードやスイッチがある。缶のフタ部分にはスピーカーが取り付けられている。中身を取り出した状態。工作らしい工作は、フタへのスピーカーネジ止めと、缶底面へのブレッドボードネジ止め、および配線用の穴空けくらい。Shield)とブレッドボードの配線はこんな感じ。アナログ出力ピンとGND(電源の-極)の間にスイッチを入れているだけだちなみに、この楽器の名前はQDW。「クドウ」と発音する。DirtyなWaveプレーヤということから。Dirtyは「サクッと作れるけど見栄えはキレイじゃない」「見てくれにこだわらず思い立ったら即、アイデアをカタチにしちゃう」というようなニュアンス。見栄えの悪いプロトタイプとも取れるが、良い意味で「プロジェクトを最短で実現するやり方」として言われることが多い。おき、回路図やスケッチ(ソースプログラム)およびそれらについての解説は後述するが、どんな音がするのかを以下、動画で。【動画】(クリックで再生、MPEG形式16.5MB)ボタンを押すと、そのボタンに割り振られたサウンドが再生される。サウンド再生中に別のボタンを押すと、再生中のサウンドが止まり、新たなサウンドが鳴る。ボタンを押し続けると、サウンドの頭の部分を連続的に再生。サンプラーで音声を再生したような感じのモノフォニック&モノラル楽器なのだ【動画】(クリックで再生、MPEG形式26.1MB)こんなふうに、好みの音を入れておいてリズムマシン風に遊べる。pm”に投稿されたスケッチを使えば可能だ。それだと楽器的に演奏しにくいので、フニャ田さん作のスケッチでは少々改良を加えてある。具体的には、ボタンを押すと直ちに対応するファイルが再生され、ボタン押下時に他の音が再生中の場合はそれを中止して再生し、ボタンを押し続けると「パパパ......」とサンプラー的にファイル冒頭の音が短く繰り返され、再生が終わると無音になるようになっている。以下、回路図およびスケッチに関して、この作例を作ったフニャ田さんのコメントなどを。Shieldを使った楽器、QDWの配線図。6個のタクトスイッチをブレッドボード上にならべて、Arduinoボードと7本の線でつなぐだけ。そのうちの1本はグランド(GND)の配線です。机の上にArduinoボードとブレッドボードを並べて、上の図のように接続してみましょう。ケースに入れる際は電池を使いますが、この段階ではUSBケーブルからの電気が使えるので、電源を気にする必要はありません。図ではArduinoボードのピンから線が出るように描かれています。Shieldの端子から線を引き出すことになります。端子の位置や並び順は同じです。Shield上にハンダ付けして取り付ける必要があります(基板に直接ワイアをハンダ付けしてもいいのですが、配線の変更がしにくくなりますね)。USBにつないだ状態で動作チェックをしたら、持ち運べるように電池駆動に対応しましょう。Duemilanoveならば、DCジャックに9Vの電池をつなぐだけで、他はどこも変更する必要がありません。電池スナップに2.1mmのDCプラグをつなぐと扱いやすくなります。ひとつ用意しておくと何かと便利です。Diecimilaのように電源の切り替えをジャンパピンで行うボードでは、電池をつなぐ前に、EXTの側にプラグを挿しかえてください。DCジャックがないArduinoボードの場合は、電池の電圧を変換する回路を用意する必要があるかもしれません。この配線図はFritzingというオープンソース・ソフトウエアを使って作成しました。FritzingはArduinoとブレッドボードを使ったプロトタイピングをわかりやすく資料化したい人ために、ポツダム応用科学大学インタラクションデザインラボの手で開発されました。Fritzingはまだアルファバージョンで不安定な部分もありますが、配線図を描くだけでなく、より高度な使い方もできるように改良が続けられています。この画面はオリジナルのシールドを設計するモード。ブレッドボード上の配線図を、一般的な回路図やシールド基板の設計図としても編集が可能です。Arduinoの世界では、一連のプログラム(Arduino言語によるソースコード)をスケッチと呼びます。以下に、このQDWプロジェクトに使ったスケッチを掲載しておきます。IDEで新しいファイルを開いて、そこにコピー&ペーストするだけでいいのですが、その前にひとつだけ準備が必要です。Shiledのライブラリをダウンロードしてインストールしてください。IDEのディレクトリのhardware/librariesフォルダ内にコピーするだけです。Shieldを使うための基本的な機能がユーザーのスケッチから使えるようになります。IDEをまだインストールしていない場合、武蔵野電波のブレッドボーダーズの記事を参照してインストールしてください。しだけ、スケッチの内容を説明します。スイッチはアナログ入力ピンにつないでいますが、アナログデータではなく、0と1のデジタル信号を得る目的で使っています。内部プルアップ抵抗という機能を有効にして、外付けの部品を減らしています。スイッチが押されているときに0が得られる点に注意してください。指が離れている間が1です。再生するサウンドファイル(.wav)は16kHz/16bitでサンプリングしたものがいいでしょう。サウンドファイルは、FAT16でフォーマットしたメモリカードのルートディレクトリに保存します。ファイル名は自由ですが、スケッチ側でスイッチとサウンドファイル名を合わせる必要があります。今回作成したスケッチは、極力短くなるように心がけました。機能を限定すればこのくらいの行数で電子楽器として遊べるマシンが作れてしまうのはちょっと感動的です。コトでArduino。それだけで使っても容易にPCからのマイコンボードプログラミングができ、Shieldを使えば容易に高度な作品作りも楽しめるわけですな。Arduinoに触れてみておくんニャさい。Watchにて新連載を始める。2008年に「武蔵野電波のブレッドボーダーズ」という電子工作系連載をヤリましたけど、その続編となる「武蔵野電波のプロトタイパーズ」を来週から開始する予定だ。その連載では、ブレッドボード利用はもちろん、ハンダ付け、キット制作、さらにはArduinoを使った愉快なプロジェクトも紹介する予定なので、ヒトツよろしくお願いします~。