ITmedia NEWS >
ニュース
2016年05月13日 19時32分 UPDATE

太田智美がなんかやる:組み立てたアンプキットを「スピーカー」と「ステレオジャック」につなぐ

「しゃべるお花畑」をつくるため、秋月電子通商で購入した部品を組み立てる日々……。今回はハードウェア環境の構築とプログラミング(Processing)に取り組む。

[太田智美,ITmedia]

ハード組み立て

 ふしぎの国のアリスに出てくる“しゃべるお花”の世界をつくりたい――そんな思いから始まった「しゃべるお花」プロジェクト。当初は10万円かかると言われてどうなることかと思ったが、筆者がプライベートで購入したマイクロマウスPi:Co Classic2を使用することで、なんとか予算内(3000円)で収まることに。前回は、花から音を鳴らす装置を作るため、秋月電子通商で購入したアンプキットを組み立てた。今回はそれをスピーカーとステレオジャックにつなぐところから始める。ハードが完成したらいよいよプログラミングだ。



ハード組み立て 筆者の頭の中を外部出力した図

 先生は秋葉原のアールティに生息するいつもの青木さんと山本さん。

 作ったアンプをステレオジャックにつなげるには、まずステレオジャックの先っぽを回して外す。外したら、ステレオジャックの黒い方に赤と黒のスピーカーコードを通し、赤と黒のスピーカーコードを2センチほど裂く。裂く時、赤と黒のコードの間をちょこっとニッパーで切るのがポイント。スピーカーコードはしっかりとくっついていて裂きにくいが、この切り込みを入れるだけで格段に裂きやすくなる。


ハード組み立て ステレオジャックの先っぽをくるくる回す

ハード組み立て くるくる回すとコロンと中が外れる

ハード組み立て 外れたら、黒い方をスピーカーコードにつなげる

ハード組み立て 2センチほど裂く

 赤と黒のコードを裂いたら周りのカバーを0.5ミリほどむく。むく時はワイヤーストリッパーで挟み、1ミリほどずらして手でねじねじしながら外すと中の線がキレイによじれる。また手の脂を付けずに外せるため、サビ防止にもなるという。


ハード組み立て ワイヤーストリッパーで挟み、1ミリほどずらしたあと手でねじねじしながら外す

 あとはこのねじねじされた中身の金属部分を、先ほど外したステレオジャックの先っぽ(銀色のほう)の穴にはんだで付ければOK。手で持つと危ないので、クリップスタンドで挟みながらはんだ付けをする。はんだ付けが終わったら、ステレオジャックの黒いカバーをすっぽりと被せて完了!


ハード組み立て 銀色のステレオジャックの先っぽを見てみると穴が空いている

ハード組み立て その穴にスピーカーコードの先端をはんだ付けする

ハード組み立て ステレオジャックの黒いカバーをかぶせたらできあがり!

 続いて、スピーカーコードのもう片方も同じように裂いて剥いたら基板に接着。ちなみにスピーカーコードは赤がプラスで黒がマイナス、DCジャック付ケーブルは白がプラスで黒がマイナス。「電子部品の世界では、派手な方がプラスなんだよ」(山本さん)。


ハード組み立て

ハード組み立て

ハード組み立て 上から下に付ける

ハード組み立て 力説する山本さん「電子部品の世界では、派手な方がプラスなんだよ」――ナルホド

 最後にスピーカーの処理。派手な方(黄色)がプラス、地味な方(白)がマイナス。コネクタを切って基板に取り付けたら、お花畑が歌うハード環境が整った!


ハード組み立て

ハード組み立て

ハード組み立て

 環境が整ったので、あとはひたすらマイクロマウスと連携するプログラムを組む。センサーとなるPi:Co Classic2がお花の揺れを感知したら、USBで信号を送り、スピーカーで音を鳴らす――というプログラムを書く。Processingをインストールし、先生たちに手取り足とり教えてもらう。


ハード組み立て ああ……もう青木先生かっこいい

ハード組み立て 「しゃべるお花畑」全体構成図

ハード組み立て Pi:Co Classic2とつないでひたすらコードを勉強……

import ddf.minim.*;  //音関係のライブラリを読み込む
import processing.serial.*;  //シリアルポートのライブラリを読み込む
Minim minim;  //たぶん呪文
AudioPlayer player;  //たぶん呪文
Serial port;  //たぶん呪文
void setup(){
  println(Serial.list());
  String PICOPort = Serial.list()[0];  // printlnで表示された番号を代わりに入れる
  port = new Serial(this, PICOPort, 38400);  // Pi:Coとの通信速度の設定
}
void draw(){
   size(400,400);  //画面サイズ
  delay(1000);  //1s
  if(port.available() > 0 ) {  //何か文字を受信したら動く、受信しなかったら実行しない
    background(0,0,0);  //黒
    String data = port.readString();  //文字列を受信
    fill(255,0,0);  //文字色
    textSize(10);  //文字サイズ
    int idata = int(data);  //Pi:Coから受信したのは文字列。文字列でif文を書くと大変なので数字にしたい。なので、intを使って数字にする。
    text(data,5,5);  //文字を5,5の位置に表示 
    println(idata);  //黒いところにインフォメーションを出す
    if ( idata > 150) {  //150以上だったら音鳴る
        player.play();  //再生
    } else {
        player.close();  //再生止める
    }
  }
}

 先生たちの力を盛大に借りながらなんとかコードが完成。実行してPi:Co Classic2のセンサー部分に手をかざすと、反応してちゃんと音が鳴るようになった……! ところが、センサーから手を離しても音が止まらない。なぜだ……なぜなんだ……誰か止めてお願い!!!

【次回予告(変わるかも)】「しゃべるお花」完成予定!


筆者プロフィール

プロフール画像

 小学3年生より国立音楽大学附属小学校に編入。小・中・高とピアノを専攻し、大学では音楽学と音楽教育(教員免許取得)を専攻し卒業。その後、慶應義塾大学大学院メディアデザイン研究科に入学。人と人とのコミュニケーションで発生するイベントに対して偶然性の音楽を生成するアルゴリズム「おところりん」を生み出し修了した。

 大学院を修了後、2011年にアイティメディアに入社。営業配属を経て、2012年より@IT統括部に所属し、技術者コミュニティ支援やイベント運営・記事執筆などに携わり、2014年4月から2016年3月までねとらぼ編集部に所属。2016年4月よりITmedia ニュースに配属。プライベートでは約1年半、ロボット「Pepper」と生活を共にし、ロボットパートナーとして活動している。2016年4月21日にヒトとロボットの音楽ユニット「mirai capsule」を結成。

太田智美

Copyright© 2017 ITmedia, Inc. All Rights Reserved.