工作の2S(Seiri/Seiton)

工作やプログラムでやったことをまとめていきます

夏休みの工作 リレーを鳴らす

f:id:kt-marshal:20180817004004j:plain

概要

リレーを発振させるのはだいたい配線ミスなど.よくはない.しかし,あえてリレーを発振させることでメロディーを奏でられるのではないかと思い,厳選したリレーを鳴らしてみた.接点応答に対して高速なので,接点がぶつかる音というより,微振動する音なのではないかと思う.
f:id:kt-marshal:20180817003731j:plain
手間を減らすために,5Vリレーでやりたかったが,音が小さかったり,そもそもリニアに音を変化させられなかったりして厳しいところだった.やむを得ず12Vリレーにしてみたところ,音質は良くないが,まあまあ演奏はできそうなリレーを確認.
G6A-274P(omron)

まあ,とても楽器とは言えないものになってしまった.TK並みにサウンドを奏でたかったのに,ざんねん.
youtu.be

今回,鍵盤などではなく,ツマミ入力での音設定がどうかというのも気になっていたので合わせて実装した.というのも相対音感の人は「今より少し高い音」みたいな指定のほうが演奏しやすい気がした.世の中でいうとオタマトーンのような感じ.が,ツマミは回転方向の移動故に,感覚基準位置がずれるため相対的な操作が難しい.

Arduinoの工夫

ネットで調べると出てくるが,ArduinoのdigitalWrite/Readが遅いのは有名.素直にdigitalRead->digitalWriteとやると100Hzくらいしかでない.ここで,レジスタを直でたたく方法でパルサーを高速化した.タイマーもTimerOneを使用することで高速カウンタを実装した.