プログラミング素人のはてなブログ

プログラミングも電気回路も専門外の技術屋の末端が勉強したことや作品をアウトプットするブログ。コードに間違いなど見つけられたら、気軽にコメントください。 C#、Python3、ラズパイなど。

電子ホタル

電子ホタルを作ってみました。

LEDがまるでホタルをのように見える、LEDが点滅する回路のことです。

これまで、LEDを点滅させるにはArduinoなどでタイマーをセットする方法ができましたが、
今回はアナログにトランジスタコンデンサによる振動回路によって実現しました。

f:id:s51517765:20161127172510j:plainf:id:s51517765:20161127172502j:plain

空き瓶に入れたらクリスマスの電飾っぽくならないかな?
f:id:s51517765:20161127172650j:plain

回路図は↓
f:id:s51517765:20161127172545p:plain

左半分だけでも点滅回路が成立します。
f:id:s51517765:20161127172903p:plain

簡単に、仕組みを説明しますと、R1、R2、R3はLEDのための制限抵抗。
ここでは、一応100Ωとしていますが、使っているLEDにあわせて選定します。
僕はいつも使っているLEDですが、明るさを出したいと考えこの抵抗は省いています。
このときはこの抵抗を R1=R2=R3=0Ωとみなしてください。

可変抵抗VRはそれぞれLEDの点滅の周期に影響します。
だいたい47kΩ前後で周期を変化させる実験をしたいと思ったので、 VR1=VR=2=56kΩ、VR3=200kΩの最大値となる可変抵抗を使いました。
結果をさきにいうと、200kΩは大きすぎて感度がないので、すべて47kΩぐらいがよいかもしれません。
抵抗は実測値です。購入したときの仕様がよく区別つかないので。

コンデンサ電荷をためるというのは中学か高校の理科でも習うと思いますが、
両端に印可した電圧を最大値として、充電がすすむと最終的に電流が流れなくなります。
電流が流れ始めたときは抵抗は0とみなすことができ、最後には抵抗無限大となります。
可変抵抗VRはこのコンデンサに流れる電流を制御します。
可変抵抗が大きければ、コンデンサの充電はゆっくりになります。

コンデンサに電流が流れている間は、反対側のトランジスタのベースがHIGHになっていて、流れなくなるとLOWになります。
ベースがHIGHであれば、エミッタコレクタ間が導通しLEDが点灯し、ベースがLOWになるとLEDが消灯します。
このとき、コレクタに接続しているコンデンサ電荷がにげて、電位が下がっていきます。
このとき、コンデンサは片側だけ充電がのこるということはありません。
すると、このコンデンサに接続しているトランジスタのベース電位が下がって、offになります。

この仕組みについては、私も完全には理解していませんが、↓が詳しいです。
無安定マルチバイブレータ(トランジスタ・タイプ) 回路説明

LEDはピンヘッダのメスを使うことで、色を任意に変更できるようにしました。

そして、出来上がったのが↓