私はFluorという作品の電子回路の設計を行いました。そこで、少し困ってしまったことと解決方法をメモしておきます。

 まず、最初、どういうことをしたかったかというと、Fluorの映像を見てもらえば分かるのですが、ボタンを触ると通電して、LEDが光ります。つまりスイッチです。つまり、スイッチがONのとき、LEDに電圧がかかり、スイッチがOFFのときにLEDに電圧がかからない状態にすることが第一目標です。

 そこの部分の回路はこちら。

スクリーンショット 2016-06-05 23.12.49

 スイッチがOnのとき、A点の電圧はVccになり、スイッチがOffのときには、GNDと同電位になり、0Vに下がります。そのA点の電圧をLEDにつなぐことで、LEDが点いたり消えたりします。R1がないと、スイッチがOffのときA点はどこにも接続されていない宙ぶらりん状態になり、電圧が不安定になります。この抵抗R1はプルダウン抵抗とよばれ、スイッチがOffのときに確実に電圧を0Vに下げるものです。

 しかし、これではスイッチがOnのとき、即座に点灯し、スイッチがOffのとき、即座に消えるという、音にするとパチッ!パチッ!というイメージで点灯します。しかし、それをやってみると、あまりに味気なかったので、ふんわり点いて、ふんわり消えるように改良しよう!という話になりました。緩やかに電圧を変化させるには、積分回路を用います。

スクリーンショット 2016-06-05 23.10.14

 ここで、Vcc-SW-A-R3-B-C-GNDという経路の回路方程式を立てます。
V_{cc} = Ri+\frac{1}{C}\int_0^t i dt
 両辺をtで微分して、
0 = R\cdot\frac{di}{dt}+\frac{1}{C}i
 ここで、この微分方程式を解く定石、i=i_0e^{\lambda t}と置いて代入すると、
0 = R\lambda i_0 e^{\lambda t}+\frac{1}{C}i_0e^{\lambda t}
0 = R\lambda + \frac{1}{C}
\lambda = -\frac{1}{CR}
 よって、i=i_0e^{-\frac{t}{CR}}となり、電流がゆっくりと指数減衰するということがわかります。電流が\frac{1}{e}(約35%)になるまでの時間は$CR$秒であることがわかります。この時間を0.5秒にするためにはCR=0.5となるように、抵抗R3と静電容量Cを決定すればいいわけです。通常、コンデンサの静電容量はμF(=10^{-6})のオーダーです。ここでは、例えば、47μFのコンデンサを用いるとすると、R3=1kΩとすれば、0.5秒で35%に電流が減少する計算です。

 しかしながら、困ったことに、R3の抵抗を大きくしてしまうと、ダイオードに流れる電流が不足してしまいます。これでは、LEDが光らず、せっかく電流をゆっくり変化するようにした意味がありません。

 そこで、小さな電流を大きくするために、増幅回路を用います。

スクリーンショット 2016-06-05 23.10.18

 これで、スイッチONでふんわり点いて、スイッチOffでふんわり消えるLEDの回路ができました。最初の単純なスイッチ回路に比べると、かなり複雑になりましたが、よくよく見ると、それぞれの部分で機能を持っていることがわかり、それの組み合わせで全体が成り立っていることがわかります。

 機能毎に分かれていて、それを組み合わせて全体の機能を作るのはプログラムと同じですね^^