aたとえば半値角15度、距離20cmなら次のようになる。計算』)に付けました。LED回路についてLEDを使うためには定電流回路が必要です。利用されている方法には次の三つがあります。簡単ですが電圧が一定でないと安定した動作は望めません。最悪の場合LEDを壊してしまいます。必要な抵抗値は次のようにして求められます。定電流ダイオードは電圧が変わっても一定の電流を流す性質があります。コストは増えますがこの方法も簡単です。設定できる電流値の自由度がやや低くなるほか、定電流ダイオード自身のために4V程度以上の電圧が必要になります。電源電圧は定電流ダイオードに必要な電圧(上記4V程度)とLEDの順電圧の合計より大きい必要があります。(シリーズレギュレータ式)電流値を可変に出来ます。この方法も三端子レギュレータの駆動に3V程度は必要になります。抵抗Rによって電流が決まります。Rを可変抵抗にすれば電流量を変えられるようになります。LEDを多数使う場合すべてを直列でつなぐには高い電圧が必要になります。実際にはそういうわけにもいきませんから数個のLEDを直列でつなぎ、それを一つの単位として必要な数だけ並列につなぐことがよく行われます。この時電流制御をそれぞれの単位を独立して行う方法と下記のカレントミラー回路を使ってまとめて行う方法とがあります。安全性を重視する場合は個別に電流制御を行った方がよいようです。下図は定電流ダイオードを使ったカレントミラー回路の例です。レギュレータを使っても同じです。図の左が定電流ダイオードを使った基本カレントミラー回路の例です。[LED〜Q2]には[定電流ダイオード〜Q1]を通る電流と同じだけの電流が流れます。[LED〜Q2]の部分は[LED〜Qx]のように並列に数を増やすことが出来、増やした並列部分にもやはり[定電流ダイオード〜Q1]を通る電流と同じだけの電流が流れます。中央は基本カレントミラー回路にエミッタ抵抗(赤色部分)を追加した図です。LED用にはこの型がよく使われているようで、検索すると実例が見つかります。図の右はさらにベース電流の補償のためにQ3(赤色部分)を追加した回路です。これによりベース電流が別経路で供給されることになり誤差を小さく出来ます。多数並列でつなぐ場合にはこの方法でベース電流を供給する方がよいらしいのですがLED用では実例があまり見つかりません。3〜4列ぐらいからこの方法にした方がよいという話もありますが実際の所はわかりません。精度をよくするための工夫は他にもありますが、どの程度の精度が必要なのかに応じて使い分けられているようです。合成抵抗と電流制限抵抗の計算をするプログラムを書いてみました。計算2.LEDの電流制限抵抗の計算3.LEDの半値角で囲まれた円の直径の計算4.半値角による明るさの変化の換算(この機能については実効性はない可能性が高いです)5.抵抗器のカラーコード変換(カラーコード<->抵抗値)電子工作が趣味の方々は抵抗もたくさんお持ちだろうと思いますが、そうでない人は必要になったことのある種類しか持っていなかったりします。買いに行けるような環境ではないなら手持ちの抵抗で間に合わせたいところです。合成抵抗の計算機能は手持ちの抵抗をリストに入力(一種類以上)すると、そこから総当りで合成抵抗を計算し結果を一覧に出力します。一覧を見れば必要な抵抗値が合成できるかどうかがわかります。電子工作でよく使うという100、470、1k、4.7k、10kΩの五種類があったとすると、任意の二本で出来る合成抵抗は50〜20kΩまでの30種類、三本で出来る合成抵抗は33.3〜30kΩまでの220種類になります。これは計算上の値であって誤差については考慮されていません。抵抗値の差が大きい組み合わせのときは実用性についてよく検討してください。結果一覧では組み合わせる抵抗の誤差の最大値より小さい抵抗を含む場合は赤で表示するようにしています。電源電圧、LEDの順電圧などのデータから流す電流に見合う抵抗値を計算します。逆に抵抗値から電流量の計算も出来ます。カラーコード変換は色をクリックしていくだけの直感的でわかりやすい方法にしました。ほかにLEDの半値角で囲まれた円の直径を計算する機能もおまけで付けてみました。動作環境Windows。実行ファイル一個のみで動作します。ランタイムなどは必要ありません。データファイルなどは使いませんのでインストール、アンインストール作業は必要ありません。算術計算だけしかしていませんのでWindowsであれば大抵の環境で動作すると思います。合成抵抗値の計算は、抵抗の数が増えると計算に多くの時間がかかります。