Arduino勉強中にディストーションエフェクタ試作

Arduinoで遊んでます。
これは面白い、夢がひろがりんぐ!


例えば、LEDが点滅を繰り返すものを作ろうとするときっと相当難しいと思うんですが、Arduinoだとこうです。

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}

C言語で指定の端子に指定の電圧を出力できる。もちろん、入力も同じくできる。
電子工作ができなくて作れなかったあれやこれや、プログラムで書けます!

僕が電子工作、というとギターのエフェクタですが、Arduinoでチャレンジしてみようと思います。
一番簡単で汎用性も高い歪系エフェクタです。

ただ、Arduinoの出力はPWMを使った擬似的なもので、反応も悪そうだし、使用に耐えうるものはできないだろうな、とは思いますが、やることに意義がある!

やることはこんな感じを考えています。電子工作は素人なので詳しい人突っ込んでください。

  1. ギターから出力される電圧は0.4mV程度の交流で、Arduinoの入力電圧(0〜5V)からみると小さすぎるし、マイナス部分が扱えない。
  2. 2.5Vを中心にした交流にして、電圧も大きくしないといけない。オペアンプを使って、2.5Vのバイアスをかけて、6倍程度してやれば良さそう。
  3. Arduinoで好きなように波形をいじる。クリッピングなんかプログラムなら余裕です!と思うけど、どうなるかやってみないとわからない。
  4. Arduinoかの出力を0Vを中心に振られるように元に戻す。アナログならコンデンサを通して、バイアスで足した直流成分を取っ払えばいいんだけど、同じにできないですよね…? 減算回路を組む必要があるかも。+方向だけに振れてても別にいい気もしてきたぞ。

まずは、1〜2に取っ掛かり始めたのですが、ここまで出来てしまえば、アナログでクリッピングするのなんか簡単。ダイオード2本挿すだけです。
テストがてら、遊び始めてしまい、クリッピング回路を色々試してみました。

まずはわかりやすい回路を目指したため、ノイズ対策を殆どしていません。
ラジオの音も拾って増幅してた様子。
左から、ゲルマニウムダイオード、LED、整流用ダイオード、市販品(ARION SDI-1)です。
爆音注意かもしれない。

ノイズが酷いのはさておき、これはこれで味がある気がしないでもないですが、市販品は流石ですな。
ノイズが少ないし、倍音も心地よい。これで2500円程度なのだから、大したもんですよ。

ちなみにLEDは演奏に合わせて光りました。楽しいw
あ、爆音注意ね。

そして、何やってんだオレ…ってなって、今に至る。

Arduinoエフェクタがうまくできたら、年末の会社の納会で披露したいと思ってます(^^)
ロックバンド一人、ライブハウスB会議室へようこそ!ここは東京だぜ?