Release 2017.5.15 / Update 2017.6.18

(日本語) リボンコントローラーと可変抵抗器の仕組み

Sorry, this entry is only available in 日本語. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

自分がシンセサイザーに興味を持ったのは高校生のとき。ちょうどデジタルシンセ全盛で、新製品は全てPCMサンプリングのタイプでした。その後、“NordLead”というシンセを皮切りに、「バーチャルアナログ」という、デジタル技術でアナログシンセをシュミレートしたシンセが出始めます。

そして、そういった流れに合わせ「リボンコントローラー」という部品が付くようになりました。初めて見たときは「おー、新しい」なんて思ってましたが、実はこれデジタル以前の電子楽器黎明期から存在したもので、言ってみればリバイバルだったわけです。

ここではリボンコントローラーを作ってみて気付いた、素通りしていたいくつかの謎についてちょろっと書きたいと思います。知っていた方は「そんなこと」と思われるかもしれませんが。

リボンコントローラー

リボンコントローラーは「タッチパネル」です。ただし画面はなくゴムパッドで、指で押したりスライドすることで、音に揺らぎや変化をつけるコントローラーになっています。

ところが、意外にその仕組みは凄い単純で、誰でも簡単に自作することが出来ます(あくまで原理が分かる程度でのクオリティですが)。

電音の工場ブログ – リボンコントローラ作りました

ogapon – リボンコントローラーの自作

ウソのような話、100円ショップで手に入る文房具だけで作ることが出来ます。

試しに作ってみます。ただ、ここでは仕組みだけが分かればいいので、もう少し簡略化します。

構造を作る

  • Arduino
  • 鉛筆
  • カッター
  • ジャンパーワイヤー
  • ワニクリップ

紙を鉛筆で塗りつぶします。1cm*10cm程の面積を埋めつつ、かつ隙間が出来ないよう、しっかり黒くします。

充分に塗りつぶせたら、カッターで長方形に切り抜き、両端をワニクリップでつなぎます。

配線図

スケッチ

#define VOL A0
int val = 0;

void setup() {
  pinMode(VOL, INPUT);
  Serial.begin(38400);
}

void loop() {
  val = val * 0.9 + analogRead(VOL) * 0.1;
  Serial.println(val);
}

val*0.9+analogRead(A0)*0.1;に関してはこちらをお読みください。

ジャンパーワイヤで端から端までなぞれば、値の変化がシリアルモニタに帰ってきます。バラつきがあるのは、鉛筆で塗りつぶした部分にムラがあるからで、逆に言えば、ちゃんと塗った鉛筆の上を電気が通っているから、と言えます。1cm*10cmは適当な値で特に意味はありませんが、電気の通りやすさは鉛筆の濃さと、面積に関わってきます。

扱いやすいよう裏を両面テープ等で止めるといいかも

分解能を下げれば、もう少し安定した値で扱えます。これぐらいなら何かしら活用できるかもしれません。

Serial.println(val/4);

にしても、なんでこんなことが出来るのか。理系の方や、一から学習している方なら基本過ぎて説明するまでもない、と(思われます)。なので、Web上では作り方は書かれていても、原理まで易しく説明してくれているのは見つけられず、自分にはしばらく謎でした。

仕組み

知ってしまえばなんて事はない話で、これは分圧回路そのものです。

分圧

wikipediaで調べると、(自分にとっては)面倒そうな計算が載っていますが、要は、+から-の間に“抵抗”を挟むと、その中間から枝分かれした線は、二つの抵抗比率によって電圧が変わるというものです。

例えば、BとCに10kΩを二つ置き、Aから10Vの電圧をかけた場合、枝分かれした先、Dの電圧は5Vになります。

 

式で表すとこんな感じになるそうで。

なので、Bを40kΩ、Cを10kΩにすると、Dの電圧は2Vになります。

この分圧をリボンコントローラーに当てはめると瞬時に理解できます。

リボンコントローラーの分圧

紙に書いた墨は連続する抵抗であり、GNDへ向かうにつれ電圧が下がっていきます。

ピンを当てた場所で面積の度合いが変わるので、そのままB・Cの抵抗値の度合いとなります。つまり電気を拾った場所で分圧割合が変化するわけです。

 

上記で紹介しているリボンコントローラーも、‘D’が普段、非接触になっていて、押して接触させることで分圧効果が発生する構造なだけです。

というか、可変抵抗器の中もこういった“連続する抵抗”と分圧の仕組みで動いています。

可変抵抗器の裏側

回転機構に連続する抵抗体があり、その上を読み取りピンが動くことで、‘D’へ分圧された電気が行く仕組みになってます。

分かってしまうと、なんてことない話ですが、自分のように「そういうもの」としてスルーしてた方も居るんじゃないでしょうか。まあ、結局、こんなことさえ知らなくても扱えるArduinoが凄いって結論になりますが。

この仕組みを使うと、何か面白いことが浮かびそうです。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA


This site uses Akismet to reduce spam. Learn how your comment data is processed.