#クラドニ図形とは?
ハイレゾウォークマンの広告でも使われていたような。
出典: クラドニ図形 - Wikipedia
クラドニ図形は、ドイツの物理学者エルンスト・クラドニの名にちなんだ図形。
金属・プラスチック・ガラスなどのピンと張った平面にスピーカーなどで振動を与え音程を変えると、共鳴周波数において平面の強く振動する部分と、振動の節となり振動しない部分が生じる。
ここへ塩や砂などの粒を撒くと、振動によって弾き飛ばされた粒体が節へ集まることで、幾何学的な模様が観察される。
波長が短くなる(音が高くなる)ほど、現れる幾何学模様の構造も細かいものになる。
#使用ハードウェア・電子部品
###Arduino UNO x 2
ほとんどの種類のArduinoでなら、互換品も含め、動作するはず。
2台とも同じスケッチ(プログラム)を書き込む
###ステンレス板
音の減衰率を調べると、鉄、ステンレス、アルミの順に低いことが判明したため、手元にあったステンレス板を使った。
###ダイソー300円ステレオスピーカ x 2
スピーカは、アンプがある方がいい。
外を覆う黒い箱を外し、ステンレス板がたるまないように裏側に貼り付けた。
スピーカの詳しい特性はこちらから
スピーカーへは、USBで電源を供給する必要があるため、モバイルバッテリー等あれば。
アンプ基板のはんだ付けが杜撰なので、付け直したあと、グルーガンでガッチガチに。
###3.5mmステレオミニジャックDIP化キット: 半導体 秋月電子通商-電子部品・ネット通販
###ジャンパワイヤ
###ローパスフィルター用に330[Ω]抵抗と10[μF]コンデンサ
Mozziの弱点である、高周波ノイズを消すためにLPFを用意する。
遮断周波数はここから計算した。CRローパス・フィルタ計算ツール
そのほかでは、ノッチフィルタを使う方法も公式GitHubにて公開されている。
#使用ライブラリ
###Mozzi
オープンソースで配布されているArduinoの音響合成ライブラリ。
Mozziを使えば、正弦波だけでなく、矩形波や、和音合成、 ディレイなど多彩な出力が可能。
アイデア次第で、Arduinoでテルミンやシンセサイザーなどの電子楽器を作ることも可能。
詳しくはこちらから。 Mozzi.ws | Yoshihito NAKANISHI
#ArduinoでMozziを使えるようにする
GitHub - sensorium/Mozzi: sound synthesis library for Arduino
Mozziライブラリ本体をダウンロード、解凍して、ArduinoにMozziライブラリを追加
Mozziは軽量化されたとはいえ、Arduino側で併用するセンサによっては、処理落ちするかも。
#回路図・組立図
Fritzingで思うようなイヤホンジャックがなかったため、画像を拝借。
下記のローパスフィルタを回路に挿入して高周波ノイズをカット(できてるはず…)
#プログラム
それぞれの関数の意味はこちらを参照するとわかりやすい ArduinoのオーディオライブラリMozziの基礎 - Qiita
#include <MozziGuts.h>
#include <Oscil.h> // oscillator template
#include <tables/sin2048_int8.h> // sine table for oscillator
// use | Oscil <table_size, update_rate> oscilName (wavetable), look in .h file of table #included above
Oscil <SIN2048_NUM_CELLS, AUDIO_RATE> aSin(SIN2048_DATA);
// use #define for CONTROL_RATE, not a constant
#define CONTROL_RATE 64 // powers of 2 please
void setup(){
startMozzi(CONTROL_RATE); // set a control rate of 64 (powers of 2 please)
aSin.setFreq(440); // ここの周波数を変化させることで、異なる図形をつくることができる
}
void updateControl(){
// put changing controls in here
}
int updateAudio(){
return aSin.next(); // return an int signal centred around 0
}
void loop(){
audioHook(); // required here
}
意外とクッキリ出るんだな。スピーカの位置を工夫してみると面白くなるかも
#今後の展望
テルミンの仕組みを応用して、cdsセルを応用した動的なクラドニ図形も作ってみたい。
#追記
2018/10/12 LPFの回路を修正。