オンガクシールド

2010年5月27日更新

サポートフォーラムへ→

オンガクシールドとは?

オンガクシールドは、簡単におもちゃ楽器をプロトタイピングするための Arduino/Japanino シールドです。

特徴は

  • 押しボタンやタッチスクリーン読み取り端子など、演奏に使えるデバイスが組み込まれています。
  • 簡単なプログラミングで楽器を組みかえられます。
  • シールドから直接音を鳴らすだけでなく、外部機器のコントロールにも使えます。

コントロール用のデバイスには、以下のものがついています。

  • 押しボタン x2
  • ボリューム x2
  • LED x2
  • 出力ジャック 音出力用x1 直流用x1
  • 出力アッテネータ
  • 入力ジャック x1
  • ピエゾセンサー
  • タッチスクリーン用端子

オンガクシールドのドライバプログラムはこれらのデバイスを常時チェックしていて、loop() メソッドの中からパラメータをいつでも読み出し・変更することができます。

どんなことができる?

例えば、次のようなことができます。

  • ノイズを使ったパーカッション
  • トーン出力を使ったシンセドラム
  • SX-150 をタッチスクリーンを使って演奏
  • KORG monotron を Arduino から自動演奏

他にも、工夫次第で使い方が広がります。

使い方

ノイズを使ったパーカッションの作り方を例にします。

A. 用意するもの

  • Arduino/Japanino
  • オンガクシールド
  • ミニジャックが使えるスピーカ
  • PC

B. 接続

  1. Arduino/Japanino にオンガクシールドをさします
  2. 出力ジャックをスピーカーにつなぎます
  3. Arduino/Japanino をPCにつなぎます

C. プログラミング

  1. http://gaje.jp/resources/ongakushield/から最新の zip ファイルをダウンロードして、Arduino フォルダで展開します
  2. file->sketches メニューから OngakuShieldTemplate を選んでテンプレートを開きます。
  3. loop() 関数を下のリストのように書き換えます
  4. スケッチをArduino/Japaninoにアップロードして、準備OK

        loop()
        {
          Ongaku::update();

          if (Button::isOn( button_red )) {
            Noise::setInterval( noise, 2 );
            Noise::on( noise );
          }
          else if (Button::isOn( button_blue )) {
            Noise::setInterval( noise, 16 );
            Noise::on( noise );
          }
          else {
            Noise::off( noise );
          }
        }

これで、押しボタンを使ったパーカッションが楽しめます。青いボタンを押すと低いノイズ、赤いボタンを押すと高いノイズが出ます。

●回路図

回路図はこちら

●基板写真

配線の参考に

●パーツリスト

http://gaje.jp/resources/ongakushield/mshield_parts_20100524.txt

●ソフトウェア

http://gaje.jp/resources/ongakushield/ にライブラリやサンプルファイルの最新版が置いてあります。ドキュメントも準備中です。

●サンプルスケッチ

* サンプルスケッチ1:  ボタンパーカッション
押しボタンを押すと audio 出力(J2) からノイズが出ます。パーカッションとして使えます。

* サンプルスケッチ2:  タッチスクリーンパーカッション
同じパーカッションをタッチスクリーンで弾けるようにしたものです。横に動かすと高さがかわります

* サンプルスケッチ3: タッチスクリーンパーカッション(強弱つき)
タッチスクリーンパーカッションで強弱がつけられるようにしたものです。横に動かすと高さ、縦に動かすと強さがかわります。

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>