Arduino でトランジスタを使って豆電球をつけてみる [Arduino]
前回は、明るさに応じて、LED を点けてみたものの息子の反応がイマイチ。息子にとって、LEDは、Arduino で点灯するのが当たり前の存在のようです。
ということで、今回は、豆電球をつけてみることにしました。で、さっそく、LEDの変わりに豆電球をつけさせてみました。まず回路図です。
実際に組んだものがこちらになります。
プログラムは、前回と同じものを使います。すでに書き込まれているので、あらためて書き込みをする必要はありません。
さて、豆電球が点くか試してみましょう。
う~ん、点いたもののかなり弱々しい光ですね。それもそのはず、豆電球を点灯させるには、200mA程度の電流が必要です。『Arduino でモータを動かす』 の回でも説明をしましたが、Arduino のポートから供給できる電流はせいぜい 40mA 程度。なので弱々しい光になってしまっているのです。
今回も、200mA の電流を流すためにトランジスタの力を借りましょう。今回は、モータほどの大電流は必要ないので、電子工作でもっともよく使われる 2SC1815 を使います。
トランジスタには、エミッタ(E)、コレクタ(C)、ベース(B)と三つのピンがあります。並び順は、左から『えくぼ』と覚えます。トランジスタには重要な特性として、『hfe』 というものがあります。これは、ベース(B)に流れる電流を何倍にするかの係数です。
今回使う 2SC1815 の hfe は"100" 程度です。ベース(B)に 2mA 流せば、200mAを得られそうです。下記の図に、簡単な構成を示しました。ベース(B)に、2mA 流すと、コレクタ(C)からエミッタ(E)に 200mA の電流が得られます。この間に豆電球を置けば、力強く点灯しそうです。
ベース(B)に、2mA を 流すために、小学生でも知っている 『オームの法則 V = RI』 を使って抵抗値を計算できます。ただ、ベース・エミッタ間には、必ず 0.7 V の電位差がありますので、そこに注意して計算します。
また、トランジスタを使う時に注意しなければならないのは、Arduino のポートが、『High』から『Low』に変化するときの電流の流れです。この時、コレクタ(C)からベース(B)に逆流してくる電流が発生しますので、それを逃してやるために、10kΩの抵抗を追加します。
これをもとに回路を設計してみました。豆電球を点灯させるだけなのですが、思ったよりも大がかりになってしまいますね。^^;
この回路図をベースに、息子に回路を組ませてみました。こんな感じです。
分かりやすくするために、もう少し拡大しましょう。
さて、豆電球は光輝いてくれるでしょうか?
おっ、点いたようです。今回は、トランジスタの働きをよく理解してもらうため、豆電球を使ってみたけど、分かってくれたかな?
ということで、今回は、豆電球をつけてみることにしました。で、さっそく、LEDの変わりに豆電球をつけさせてみました。まず回路図です。
実際に組んだものがこちらになります。
プログラムは、前回と同じものを使います。すでに書き込まれているので、あらためて書き込みをする必要はありません。
さて、豆電球が点くか試してみましょう。
う~ん、点いたもののかなり弱々しい光ですね。それもそのはず、豆電球を点灯させるには、200mA程度の電流が必要です。『Arduino でモータを動かす』 の回でも説明をしましたが、Arduino のポートから供給できる電流はせいぜい 40mA 程度。なので弱々しい光になってしまっているのです。
今回も、200mA の電流を流すためにトランジスタの力を借りましょう。今回は、モータほどの大電流は必要ないので、電子工作でもっともよく使われる 2SC1815 を使います。
トランジスタには、エミッタ(E)、コレクタ(C)、ベース(B)と三つのピンがあります。並び順は、左から『えくぼ』と覚えます。トランジスタには重要な特性として、『hfe』 というものがあります。これは、ベース(B)に流れる電流を何倍にするかの係数です。
今回使う 2SC1815 の hfe は"100" 程度です。ベース(B)に 2mA 流せば、200mAを得られそうです。下記の図に、簡単な構成を示しました。ベース(B)に、2mA 流すと、コレクタ(C)からエミッタ(E)に 200mA の電流が得られます。この間に豆電球を置けば、力強く点灯しそうです。
ベース(B)に、2mA を 流すために、小学生でも知っている 『オームの法則 V = RI』 を使って抵抗値を計算できます。ただ、ベース・エミッタ間には、必ず 0.7 V の電位差がありますので、そこに注意して計算します。
また、トランジスタを使う時に注意しなければならないのは、Arduino のポートが、『High』から『Low』に変化するときの電流の流れです。この時、コレクタ(C)からベース(B)に逆流してくる電流が発生しますので、それを逃してやるために、10kΩの抵抗を追加します。
これをもとに回路を設計してみました。豆電球を点灯させるだけなのですが、思ったよりも大がかりになってしまいますね。^^;
この回路図をベースに、息子に回路を組ませてみました。こんな感じです。
分かりやすくするために、もう少し拡大しましょう。
さて、豆電球は光輝いてくれるでしょうか?
おっ、点いたようです。今回は、トランジスタの働きをよく理解してもらうため、豆電球を使ってみたけど、分かってくれたかな?
Arduinoをはじめよう 第2版 (Make:PROJECTS)
- 作者: Massimo Banzi
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/03/16
- メディア: 単行本(ソフトカバー)
定本 トランジスタ回路の設計―増幅回路技術を実験を通してやさしく解析
- 作者: 鈴木 雅臣
- 出版社/メーカー: CQ出版
- 発売日: 1991/12
- メディア: 単行本
こんにちは。2SC1815-GRの絶対最大定格は150mAらしいですから、
200mA流すと壊れてしまうのでは?
by NO NAME (2015-05-24 17:49)
こんにちは、
アルディーノ初心者でこのサイトで勉強させてもらっています。
質問なのですが、このページの豆電球を光らせる回路で、
じわーっと点灯させて、じわーっと消すというのを繰り返すためには、どのようなスケッチを書けばいいのでしょうか?
7pinなのでpwmも使えなくて…。
ご教授くださると幸いです。
by カーネルヨンダース (2015-09-03 16:24)
こんにちは。Arduino初心者で豆電球の点灯方法が分からなかったので当サイトに辿りつき、点灯方法が理解でき、正しく動作することを確認できました!
ただ、私の環境だと抵抗を使用すると、点灯がしなかったので、抵抗なしで実行した結果、豆電球が点灯しました。多分、電力が不足していたと思います。
>カーネルヨンダースさんへ
6pinに接続し、analogWrite関数と繰り返し処理を用いれば、豆電球を徐々に点灯させることが確認できました。
以上です。
by みかんとど (2017-03-15 23:00)
僕も初心者で意見が正しいかどうかわかりませんけど、気になったので質問させていただきます。
記事に「『High』から『Low』に変化するときの電流の流れです。この時、コレクタ(C)からベース(B)に逆流してくる電流が発生します」と書いていたのですが、そんなことってあるのでしょうか?
大電流と小電流が交わらないようにするのがトランジスタの役割ですよね?コレクタからベースに電流が流れたらトランジスタの意味って何って感じになってしまいます。よろしければ、検討の方をおよろしくお願いします。
(気になって回路を組んで試してみたのですが僕のトランジスタではコレクタからベースまたはエミッタからベースは電流が流れなかったです。)
by どはん (2017-10-22 01:01)
どはんさん、こんにちは。
コレクタからベースには僅かですが電流が流れます。漏れ電流とかコレクタ遮断電流(Icbo)とか言われるものです。ダイオードに逆電圧をかけるとわずかに電流が流れるのと同じです。この電流はμA程度の僅かなものですが、誤動作や故障の原因になります。
こちらのサイトがよくまとまっていますので一読してみたください。
http://doku.bimyo.jp/bipoler/
この漏れ電流は接地抵抗がないと、行き場がなくエミッタに流れます。その損失分は熱になりますので発熱していきます。やっかいなのは漏れ電流は温特があり、温度に対して指数関数的に増えていきますので、いわゆる熱暴走状態となり、最悪絶縁破壊をおこします。
もし、完全に絶縁をしたいのではれば、FETを使うのがよいでしょう。デジタル回路の場合はFETを使ってマイコンを守ることが多いです。
by ys_oota (2017-10-22 11:02)
返信ありがとうございます。よくわかりやすい解説ありがとうございます。というか、対応が早い!
by どはん (2017-10-22 15:32)
回路図と配線間違ってないですか?R2の抵抗が。
by hiro (2019-10-11 15:07)