ようちゃんのブログ

ようちゃんのブログはこちらです!

Arduino+Pythonハッキングに参加してきました。

Arduino+Pythonハッキングに参加してきました。

http://connpass.com/event/1649/


秋葉原のCEROというコワーキングスペースでおこなわれた、「Arduino+Pythonハッキング」というイベントに参加してきました。
今回が第3回です。実は第2回にも参加して、Arduinoの基本的な使い方なんかを覚えてきました。
今回は音で遊ぼうということで圧電スピーカを使ってArduinoから音を鳴らしました。
圧電スピーカはこちら
http://akizukidenshi.com/catalog/g/gP-04118/


イベントで使ったサンプルプログラムはこちらにあります。
http://kitagami.org/Study/Arduinopy20130217/20130217.html


Arduinoのプログラムは基本的にC(C++?)で書くことになります。
PythonからArduinoを制御しようということで、Serial経由でホストからArduinoのコマンドを送っていろいろな音を出します。
そして、ホストからのコマンド送出プログラムがPythonで書かれるわけです。


サンプルはプッっていう音が数回出るだけです。(Pythonファイル)
これは440Hzで音を鳴らしているのですが、この周波数と音の長さをコマンドで制御できます。
そこでやりたいのは音階を演奏することですよねw
音階から周波数を変換するテーブルを作成して、任意の音階の音を出すことができました。


そして、サーバと通信してどんな音を出すか決めたりしたいよね、ということで3つ目のサンプル(Pythonファイル POST版)です。


わたしはせっかく音階テーブルも作ったので、文字列で音階名と長さを与えて簡易版MMLのようなもので曲を演奏するようにしました。
この簡易版MMLの実装をしているときに、どこからかジムノペティが流れて来たので、ジムノペティの出だしを演奏してみることにします。

"F2A2G2F2C2b2C2D2a6f6f6f6f6r2F2A2G2F2C2b2C2D2a6C6f6"

小文字と大文字が混ざっているのはオクターブの高い低いがあるからそれを使い分けています。
またジムノペティはロ短調なので、FとCが半音上がっています。


プログラムはGistにあげておきます。


ハードをいじるプログラムは楽しいですね。こういうイベントすごく好きです。また参加したいですね。