誕生日にもらった意外なもの

LEDの光が流れるように見える回路を作りたいのですが、ただ時間差で順番に付くだけでは物足りないので、ゆっくり点灯・消灯をしながら時間差で順番に光るようにできないか教えてください・もしくは可能でしょうか?
3.2V/350mAと3.2V/700mAと3.2V/20mAのLEDで造りたいと思っています(1列に使うLEDは1種類です)
使用部品と回路を、教えていただけると幸いです。

下手な説明で申し訳ありませんが、宜しくお願いいたします。

A 回答 (5件)

マトリックス接続というのは、


たとえば6本の線を
+側のA・B・C
-側の1・2・3
として、
LED1: Aと1の間
LED2: Aと2の間
LED3: Aと3の間
LED4: Bと1の間
LED5: Bと2の間
LED6: Bと3の間
LED7: Cと1の間
LED8: Cと2の間
LED9: Cと3の間
といった接続をします。

ここで、普段は基本的に
A・B・C: 0V(以下 L)
1・2・3: 電源電圧(以下 H)
にしておきます。このとき、ダイオードにかかる電圧は逆ですから、どのLEDも光りません。
ここで、
 A・B・Cのうち A だけをHにする
 1・2・3のうち 1 だけをLにする
と、Aと1を繋いだLED1 だけが、正しく電圧がかかりますので点灯します。(それ以外のLEDは全部消灯)

そうやって「A・B・CのどれをHにするか」「1・2・3のどれをLにするか」を適切に選ぶことで、9個のLEDのうち、好きなLEDを点灯させることができます。

ただし、この方法だと全部を同時に点灯させることはできませんので、
高速に順番に光らせていくという「ダイナミック点灯」という処理を行う必要があります。
これはディスクリート回路で組むのは面倒なので、マイコンで制御するしかないでしょう。
7セグメントLEDを使った表示なんかではダイナミック点灯を使う場合が多いので、それを参考にするのがいいと思います。
http://www.oct.zaq.ne.jp/i-garage/tool/batvck.htm

なお、「ゆっくり点灯」なんかも、マイコン制御の場合はダイナミック点灯で処理するのが普通です。
(マイコン接続の場合、普通はLEDの明るさを変えることはできませんが、
高速に点滅を繰り返して、「点」と「滅」の割合を「ほとんど点灯しているた時々消灯している」とか「ほとんど消灯しているが時々点灯しているか」を制御することで、LEDの明るさを変えられます。)


あとは、マイコンの習得についてですが、
PICなんかはプログラムライターとかいろいろ準備すべきものがありますので、
マイコン初心者でしたら、USB付のマイコンボードを利用するのがいいかもしれません。
http://strawberry-linux.com/catalog/items?code=3 …
マイコン単体に比べればちょっと高いですが、「プログラムライター」を別途購入するのに比べれば格段に安上がりですし、
こういった製品を使えば、回路を組まなくてもいいし、パソコンから直接プログラムをマイコンに入れることができるの作業難易度がかなり下がります。

この回答への補足

解りやすい説明ありがとうございます。
気になったところがあるので、確認させてください。
全部を同時に点灯させれないとありましたが、
例えば、A-1・B-2を同時に光らせようとした時にA-2・B-1も点いてしまう。
このような認識でよろしいでしょうか。
素人的質問で申し訳ありません。

補足日時:2008/12/19 16:26
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
マイコンってすごいですね(まだあまりわかってないのですが^^;)
これから、いただいた参考を元に、習得していこうと思います。
(方向性が見えてきたような気がします)
また解らないことがあったときはOK Waveで質問しようと思っていますので。
また見かけたら、ご教授いただけると幸いです。

お礼日時:2008/12/19 10:01

> 例えば、A-1・B-2を同時に光らせようとした時にA-2・B-1も点いてしまう。


はい、そうです。すみません、「全部を同時に点灯させることができない」というのは表現が悪かったです。
「9個全部の点灯を同時に制御することができない」ということで、上記のようなことになります。
1列分だけを点灯させる状況では、1列のなかでどれを点けてどれを消すかは自由に制御できますから、実際の制御としては

1. AをH、B・CをLにして、A1・A2・A3 のうち、点灯させたいLEDの線をLに、消灯させたいLEDの線をHにする
2. BをH、A・CをLにして、B1・B2・B3 のうち、点灯させたいLEDの線をLに、消灯させたいLEDの線をHにする
2. CをH、A・BをLにして、C1・C2・C3 のうち、点灯させたいLEDの線をLに、消灯させたいLEDの線をHにする
4. 1に戻る

という3ステップの繰り返しになります。

ちなみに、もうちょっと制御が複雑になりますが、
制御側でH・Lの他に「電気的に電源に繋がっていない、ハイインピーダンス状態(以下Zとします)」を加えた3種類から選択できるような信号線にすれば、6本の配線でも30個のLEDまで点灯制御可能です。

6本から2本選ぶ組み合わせは6×5=30通りありますのでその全ての組み合わせにLEDを繋いでおきます。
たとえば、6本を A・B・C・D・E・F とすると、AをH、BをL、C~FをZにすれば、Aが+(アノード側)でBが-(カソード側)になっているLEDだけが点灯します。

制御としては、
1. AをHにし、B・C・D・E・Fの5本のうち、点灯させたいLEDが繋がっている線はLに、消したいLEDの線はZにする。
2. BをHにし、A・C・D・E・Fの5本のうち、点灯させたいLEDが繋がっている線はLに、消したいLEDの線はZにする。
3. CをHにし、A・B・D・E・Fの5本のうち、点灯させたいLEDが繋がっている線はLに、消したいLEDの線はZにする。
4. DをHにし、A・B・C・E・Fの5本のうち、点灯させたいLEDが繋がっている線はLに、消したいLEDの線はZにする。
5. EをHにし、A・B・C・D・Fの5本のうち、点灯させたいLEDが繋がっている線はLに、消したいLEDの線はZにする。
6. FをHにし、A・B・C・D・Eの5本のうち、点灯させたいLEDが繋がっている線はLに、消したいLEDの線はZにする。
7. 1に戻る
というループになります。

この回答への補足

6本から30通りですか、すごいですね。
「ハイインピーダンス」覚えておきます。
まだ自分には、難しそうなので、少しずつ調べていきます。
ただ、そのような方法があるということが知れてよかったです。
ありがとうございました。

補足日時:2008/12/21 23:26
    • good
    • 0
この回答へのお礼

長々とありがとうございました。
自分のような素人でも、解りやすい説明だったので、ものすごい助かりました。
また、OKWaveで、ハイインピーダンスの事とか質問すると思うので
もし見かけたら、よろしくお願いいたします。

お礼日時:2008/12/21 23:36

> コントロールBOXからLEDまでの線を電源も入れて6本でできないでしょうか



PIC版、ディスクリート版、どちらの回路図でもLED回りは
「全てのLEDの+側は繋がって」いて、「LEDの-側で点滅を制御する」ようになってます。
この方式だと、6本の配線では共通1本+制御5本で、LED5個の点滅まで制御できることになります。

これより多数のLEDを使いたいのでしたら、「マトリックス接続」という方式があります。
マトリックス接続では、6本を+側3本と-側3本に分けることで、
3×3=9個のLEDを制御できます。
そのかわり、点灯制御はかなり複雑になります。
ディスクリートで設計するのはかなり面倒。
マイコン方式なら、プログラム制御で比較的容易に実現できます。

と、ここまでは質問についての回答ですが、
そもそも質問の根本的理由部分、
なぜ制御回路とLED間の配線数にこだわるのか、
制御回路とLEDを離して配置しようとする理由がわかりません。

制御回路をLEDと一緒にして回路を組んでしまえば、
「制御回路+LED」への配線は電源の2本だけですみます。
点灯パターンを変えたい、とかいった要求があったとしても、
スイッチからの配線にあと4本も使えます。

この回答への補足

5個の点滅でもいいと思っていたのですが、マットリックス接続というものに興味が出ました、
もしよろしかったら教えていただけないでしょうか。

なぜLEDと制御を分けたいかと言うと、たとえば10φの乳白色のパイプの中にLEDを仕込んで、光が流れるように見せたい等の為、近くに制御回路を置くスペースがありません。

最近、照明に興味があり、わかってないくせに、自分の知識以上のものを、作りたがってしまうのです^^;

面倒くさい奴って思われるかもれませんが、よろしくお願いいたします。

補足日時:2008/12/18 00:02
    • good
    • 0

「ゆっくり点灯・消灯をしながら時間差で順番に光る」ような制御を全部してくれるような便利な部品はありません。


そのような制御を実現する方法としては、
・ディスクリート(複数の部品の組合せ)で作る
・マイコンで制御する
のどちらかになります。

前者、ディスクリート回路方式は、光らせ方によって回路が変わってきますので、より具体的な「どう光らせたいのか」が分からないと、どういう部品でどういう回路を組めば良いかは決められません。

ディスクリートで組む作例は
http://www.geocities.jp/orange_denshi/led-part2. …
こんな感じです。こちらの場合は、上記リンク先の回路では、その通りの光らせ方しかできません。(残像時間を変えるぐらいなら、コンデンサの容量を変えることでできますが、その場合部品交換になります。)


後者、マイコン制御方式は、マイコンに入れるプログラムによって点灯パターンを自由に決められます。
回路自体はかなり簡単ですし、一度作った回路をそのままに、プログラムを差し替えるだけで点灯パターンを変えることだってできますが、
その代わりプログラムを開発する技術が必要になります。

回答1のリンク先もPICマイコンを使ったマイコン制御方式ですが、
マイコン制御によるLED点灯については
http://www.piclist.com/images/www/hobby_elec/pic …
なんかが説明がわかりやすいかと思います。
ただし、上記ページはかなり古いです。リンク先の回路をそのまま作るのではなく、今作るならPIC16F88などの新しいマイコンを使うことでもっと部品数を減らしたり、より高度なプログラムを組むことで複雑な点灯をさせたりできます。

どちらにせよ、ここでそういう質問をしているレベルでは「部品と回路を教えて」もらっただけでは製作は無理というか、もうちょっと勉強が必要だと思います。
そういった自作は手が出せないとかでしたら、
点灯制御については有り物を利用する手もあります。
http://blog.livedoor.jp/siliconhouse/archives/50 …
など、LEDを点灯させるキットがありますので、それを利用して、
LED点灯部だけを自作します。
(上記キットは2Vで10mA程度の赤色LED用回路になってますので、
そのままでは3.2V350mAのLEDは点灯させられません)

この回答への補足

ご意見ありがとうございます。

光らせるイメージとしては、参考に頂いたシリコンハウスさんにある、ナイトライダーキットみたいな感じです。
あと、コントロールBOXからLEDまでの線を電源も入れて6本でできないでしょうか(流れるように見えれば、光と光の感覚は何個でもいいです)
とりあえず、参考に頂いたオレンジ電子工作さんを、参考に造ってみようと思います。
最悪、前の質問で遅延回路は出来上がっているので、
後は、シーケンサーやPIC(PICはこれから勉強ですが^^;)等で制御して作ってみます。

他にも、何か良い案があれば教えてください、
宜しくお願いいたします。

補足日時:2008/12/16 18:24
    • good
    • 0

私も興味を持ち探したことがあります。


http://bake-san.com/bdenshi/2008/03/blog-post_05 …
動画でいろんな点滅パターンを見ることが出来ます。
私は実践に至っていないので、こちらのサイトから
解決に繋がれば…と祈っています。
    • good
    • 0
この回答へのお礼

ありがとうございます
早速、参考にしてみようと思います。

お礼日時:2008/12/16 17:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!