Arduinoで遊ぼう - Arduinoで作るシンセサイザー
Posted by arms22 on 2009年05月30日

最近、ちょいちょい製作例を見かけるArduinoで作るシンセサイザー、Auduino('r'をもじって'u'にしている)。Make: Tokyo Meeting 03でも距離センサーを使ったものが展示されていた。距離センサーを2つにすればテルミンっぽい何かができるかもしれない、、と思って作ってみた。音量を調節するボリュームがあるとおもっていたけど、そうでもないみたい。。なので距離センサーは一個。
距離センサーはシャープの測距センサーGP2Y0A21(秋月電子)を使った。このモジュールは10cm~80cmの距離を0.5V~2.5Vの範囲で出力する。測距センサーを使うために次のようにスケッチを変更した。
int measureDistance(int oldvalue,int pin)
{
return (oldvalue - (oldvalue >> 4)) + (analogRead(pin)>>4);
}
int normalizeDistance(int distance)
{
#define RANGE 512
#define MINV (122)
#define MAXV (MINV+RANGE-1)
if(distance < MINV) distance = MINV;
else if(distance > MAXV) distance = MAXV;
distance -= MINV;
return distance << 1;
}
void loop() {
..
sync_ain = measureDistance(sync_ain,SYNC_CONTROL);
syncPhaseInc = mapPentatonic(1024 - (normalizeDistance(sync_ain)));
..
}
Auduinoはグラニュラーシンセシス(GranularSynthesis)という技術を使っている。これは小さな音の粒を時間的・空間的にランダムに配置して、音を生成するという技術、らしい(笑
スケッチを読んでなんとなーく分かったのは2つの音の粒(Grain)を合成して、出力する値を作っているってことぐらい。。
Auduino - tinkerit
http://code.google.com/p/tinkerit/wiki/Auduino
Auduino - Arduino で作るお手軽シンセ - Radium Software
http://d.hatena.ne.jp/KZR/20090510/p2
Auduino: DIY Synthesizer - Radium Software
http://d.hatena.ne.jp/KZR/20090517/p1
グラニュラーシンセシスとゆーものについて勉強してみる
http://www.geocities.jp/brotherasazuke/sakekanworks/granulizer/01.htm
Arduinoで作る電光掲示板 - スタンドアローン版
Posted by arms22 on 2009年05月28日

Arduinoで作る電光掲示板。Make: Tokyo Meeting 03で展示していた電車の発車時刻と行き先を表示する電光掲示板の情報を公開します。今回、展示していた電光掲示板はスタンドアローン版で電車の発車時刻と行き先のフォント情報を予めスケッチに書込んでいる。もしこの情報をもとに電光掲示板を作ろうと思っている人は、発車時刻とフォントの書き換えが必要だよ。
ダウンロードhttp://xfind.hp.infoseek.co.jp/electric/arduino/signboard001.ziphttp://xfind.hp.infoseek.co.jp/electric/arduino/signboard002.zip
http://arms22.blog91.fc2.com/blog-entry-255.html
※2010/11/17追記
時刻表データを組み込んだスケッチを自動生成するツールを公開しました。こちらをご利用ください。
※2009/6/15追記
アーカイブにライブラリが含まれていなかったので、再度アップロードし直しました。
回路図
部品リスト
Arduino Duemilanove | スイッチサイエンス | 1 |
Arduino用「バニラ」シールド・キット | スイッチサイエンス | 1 |
32×16ドットLEDマトリクス表示基板 | 秋月電子 | 3 |
リアルタイムクロックモジュール | 秋月電子 | 1 |
電気二重層コンデンサ 1F 5.5V | 秋月電子 | 1 |
スイッチングACアダプタ 5V 2.3A | 秋月電子 | 1 |
パネル型DCジャックMJ-10 | 共立電子 | 1 |
ショットキバリアダイオード | 共立電子 | 2 |
丸ピンICソケット8pin | 共立電子 | 1 |
1KΩ抵抗 | 共立電子 | 7 |
10KΩ抵抗 | 共立電子 | 2 |
タクトスイッチ | 共立電子 | 5 |
ユニバーサル基板 | 共立電子 | 1 |
雑誌Make: Technology on Your Time Volume 07に電光掲示板の記事が掲載されました。詳しい作り方についてこちらも参考にしてみてください。
オライリージャパン
売り上げランキング: 183289
Make: Tokyo Meeting 03 Day 2
Posted by arms22 on 2009年05月25日

Make: Tokyo Meeting 03 2日目。
(左)朝からあいにくの雨だったけど、昨日と変わらずたくさんの方が訪れた。
(右)外は雨なので体育館の中を散歩。
(左)戦車も体育館の中を疾走していた。
(右)3D立体映像を簡単お手軽に作成し携帯で見れるシステム。
(左)ひっくり返ったり縦になったりしても動き続けることができるメカ。動きが気もかわいい。
(右)Arduinoで作るシンセサイザー。Auduino。普通のシンセとは少し違うみたい。でも部品も少ないし簡単そう。
(左)Theo Jansenメカのペーパークラフト。ネットでPDFが公開されてます。これも作るよ。
(右)Open Real Ensemble。今日も随時パフォーマンスが行われてました。最後の最後に見ることができた。カッコ良かったなぁ。。
2日間、展示と説明でくたくたになったけど、たくさんの方と話すことができてほんとによかった。ブースにきてくれた人達にありたがとう!また秋(参加するのか!?)にお会いできることを楽しみにしています!
ps:電光掲示板やスタバアンプの情報は後日公開します。さすがに今日はもうクタクタです。。
Make: Tokyo Meeting 03 Day 1
Posted by arms22 on 2009年05月23日

Make: Tokyo Meeting 03 1日目。
(左)英語版Make:がいぱーい。読めないけど、いくつか買っちゃおうかな。。
(右)私のブース。やっぱりスタバアンプは女の子に人気。
(左)今日一番気になった作品。ニットで編まれた地球儀型ロボットManGrove。
(右)人が近づくと目を開ける。この作品はちょっと不気味だけど作者さんは全身コアラでかわいかった。。。
(左)Open Reel Ensemble。明日もライブがあると思ってたんだけど、今日だけだった。。
(右)新世界「透明標本」。全部、本物らしい。あした詳しく聞いてみる。
(左)二足歩行ロボット「フッタウェイ」。シルエットがカッコいい!
(右)ジェットエンジン。会場で爆音が聞こえて来たらグランドにGO!
初日は展示に手一杯ですべての作品を見れなかった。明日は時間を作って、すべての作品を見て回るつもり。
今日来れなかった人!明日もやってるからぜひ見に来てね!
Make: Tokyo Meeting 03に出展します!
Posted by arms22 on 2009年05月09日

スターバックスの空きカップを利用したパワーアンプスピーカとArduinoで作る電車の発車時刻と行き先を表示する電光掲示板の展示を行います。合わせてスタバカップアンプの製作実演をブースで行います。製作実演といっても一人ブースでもくもくと作業するだけですが。。
興味がある方は是非ブースに来てください!
MAKE: Japan : Make: Tokyo Meeting 03
http://jp.makezine.com/blog/2009/05/mtm03.html
Arduinoで作る電光掲示板
Posted by arms22 on 2009年05月07日

Arduinoで作る電光掲示板。詳細は後日、乞うご期待。
Flickrプールの写真が本家Make:とスペイン語版のMake:で紹介されたよ。
Train Schedule Message Board with Arduino
http://blog.makezine.com/archive/2009/05/train_schedule_message_board_with_a.html
Display de salidas de trenes con Arduino
http://es.makezine.com/archive/2009/05/display_de_salidas_de_trenes_con_arduino.html
Arduinoで遊ぼう - リアルタイムクロック
Posted by arms22 on 2009年05月04日

秋月電子のリアルタイムクロックモジュールをArduinoで使ってみました。このモジュールはセイコーのリアルタイムクロックIC「RTC-8564NB」を搭載している。IC内に高精度クリスタルが内蔵されているので正確な時間を得ることができる。ICの詳細はメーカのリファレンスシートを参照してほしい。
Arduinoと接続する

リアルタイムクロックモジュールとArduinoの接続にはI2Cバスを使う。ArduinoのI2Cバスはアナログ入力の4番と5番にある。R1、R2はI2Cバスのプルアップ抵抗だ。
回路図には5V1Fの電気二重層コンデンサを使ったバックアップ回路をのせている。R3はコンデンサの充電電流を制限するための抵抗、D1はコンデンサの電気がArduino側に逆流するのを防ぐ為のダイオード、D2はR3をパイパスする。
RTC8564ライブラリをダウンロードする
例によってまたライブラリを作ったので公開する。
http://code.google.com/p/arms22/downloads/detail?name=RTC8564-001.zip
RTC8564ライブラリの使い方
1.RTC8564ライブラリをarduino-00xx/hardware/libraries/以下にコピーする。
2.新しいスケッチを作成する。
3.メニューからSketch > Import Library > Wireを選択する。
4.メニューからSketch > Import Library > RTC8564を選択する。
※Wireライブラリのインポートも必要
サンプルスケッチ
#include <Wire.h>
#include <RTC8564.h>
void setup()
{
Serial.begin(9600);
Rtc.begin();
}
void loop()
{
delay(1000);
Rtc.available();
Serial.print(0x2000+Rtc.years(),HEX);
Serial.print("/");
Serial.print(Rtc.months(),HEX);
Serial.print("/");
Serial.print(Rtc.days(),HEX);
Serial.print(" ");
Serial.print(Rtc.hours(),HEX);
Serial.print(":");
Serial.print(Rtc.minutes(),HEX);
Serial.print(":");
Serial.println(Rtc.seconds(),HEX);
}
available関数でリアルタイムクロックICから時間情報を読み込む。読み込んだ時間情報はyears()、months()、days()、hours()、minutes()、seconds()を使って取得する。これらの関数は時間をBCDフォーマットで返す。Decimalフォーマットで返す必要がある場合、次のようにRTC8564::Decimalを引数に渡す。
Rtc.seconds(RTC8564::Decimal)
オライリージャパン
売り上げランキング: 3668
価格: ¥ 2,100