トランジスタ(NPN)の使い方 [Arduino]
今回はArduinoのデジタル出力でトランジスタのベースに微弱な電流を流して、コレクタ電流をその100倍ぐらいに増幅します。
それに加えてスイッチング作用で並列に並べた5個のLEDを点灯します。

デジタル出力のdigitalWrite(Pin, HIGH)で出力する電流は約20mAぐらいですが、トランジスタを使用するとそれ以上の電流を制御する事が可能です。
使用部品・材料
総額で約680円です。(Arduino本体の値段を除く)
部品/材料 | 値段 | 備考 |
---|---|---|
サンハヤト SAD-101 ニューブレッドボード | ¥500 | Amazon.com |
トランジスター2SC1815Y(60V150mA)(10個入テーピング品) | ¥80 | 秋月電子の通販コード(I-04268) |
5mm赤色LED OSDR5113A (5個) | ¥100 | 秋月電子の通販コード(I-11655) |
カーボン抵抗器 | 数円 | 10kΩ(2個)、75Ω(1個)を使用。 |
トランジスタは「2SC1815シリーズ」なら末番が「O」「Y」「GR」「BL」のどれでも可能です。(hFEという増幅率が異なるだけです。)
目次
1. トランジスタの種類
2. バイポーラトランジスタ
3. NPNとPNPの判別方法
4. 回路図
5. 配線図
6. スケッチ(プログラム)
7. トランジスタで使用する主な用語
8. コレクタ電流とベース電流及び抵抗器
9. 実際のhFEを確認する
10. エミッタ抵抗
1. トランジスタの種類
一般的に「トランジスタ」と呼ばれるのはバイポーラトランジスタの事です。
名称 | 英語 | 内容 |
---|---|---|
バイポーラトランジスタ | BJT(Bipolar junction transistor) | NPN/PNP型の2種類 |
電界効果トランジスタ (ユニポーラトランジスタ) | FET(Field effect transistor) | JFETやMOSFETなど |
※表内のリンク先はWikipedea。
※バイポーラは双極性、ユニポーラは単極性。
2. バイポーラトランジスタ
今回はバイポーラトランジスタのNPN型を使用します。

バイポーラトランジスタのNPN型は一般的に左側の回路図で表現されますが、PNP型は困った事に両方とも使用されています。(回路図の意味は同じ)
B | ベース |
C | コレクタ |
E | エミッタ |
3. NPNとPNPの判別方法
[定義1]
N = -(マイナス)
[定義2]
[定義3]
[判別]
NPNの場合はPのベースからNのエミッタへ流れます。よって、回路図ではその方向に「矢印」があります。PNPの場合はPのエミッタからNのベースへ流れます。よって、回路図ではその方向に「矢印」があります。
4. 回路図

5. 配線図

次は公式データシートより引用(2sc1815-y.pdf)

このピン配置図は部品の裏側です。
6. スケッチ(プログラム)
8ピンがHIGHの時にLEDが点灯、LOW時にLEDが消灯します。
HIGHの時にトランジスタのベースに微弱な電流(0.4mA)が流れます。その際にコレクタとエミッタが導通します。次に増幅作用でコレクタ電流がベース電流の約100倍(41.6mA※)になります。その結果、LEDが点灯します。
LOWの時にはベースに電流が流れません。ですので、コレクタエミッタ間が導通しないのでLEDが消灯します。
void setup() { Serial.begin(9600); pinMode(8,OUTPUT); } void loop() { Serial.println("HIGH"); digitalWrite(8,HIGH); delay(2500); Serial.println("LOW"); digitalWrite(8,LOW); delay(2500); }
※コレクタ電流の41.6mAは実測値です。環境によって異なります。
7. トランジスタで使用する主な用語
トランジスタのデータシートで使用される用語集です。
絶対最大定格
名称 | 記号 | 内容 |
---|---|---|
コレクタ・エミッタ間電圧 | VCE(O) | コレクタに印加できる最大電圧。1/2以下で使用する。 |
コレクタ電流 | IC | コレクタに流せる最大電流。但し、コレクタ損失も加味する必要がある。 |
ベース電流 | IB | ベースに流せる最大電流。 |
コレクタ損失 | PC | 「コレクタ・エミッタ間電圧 × コレクタ電流」。温度上昇に弱いので基本的に1/2以下で使用する。 |
電気的特性
名称 | 記号 | 内容 |
---|---|---|
直流電流増幅率 | hFE | 「コレクタ電流 ÷ ベース電流」。コレクタ電流がベース電流の何倍に増幅するかの増幅率。同じ部品でも個体毎に異なる。 |
コレクタ・エミッタ間飽和電圧 | VCE(sat) | トランジスタでスイッチ動作をさせる為に最低限、必要な電圧。今回は0.1~0.25V。 |
ベース・エミッタ間飽和電圧 | VBE(sat) | トランジスタで増幅を開始する為に最低限、必要な電圧。今回は1.0V。 |
温度
名称 | 意味 |
---|---|
Ta | トランジスタの周囲温度 (air) |
Tc | トランジスタのケース温度 (case) |
Tj | トランジスタのジャンクション(接合部)温度 (janction) |
8. コレクタ電流とベース電流及び抵抗器
コレクタ電流(IC)
最初に「負荷」(電力を消費する電子部品)に流すコレクタ電流を決めます。
コレクタ電流(IC)は最大150mAですが、コレクタ損失は400mWですので「400mW ÷ 5V」で最大80mAしか流せません。
但し、コレクタ損失のグラフを見ると周辺温度が50度になると300mWになります。本稼動する場合は75度の200mW辺りで最大電流を計算すると良いです。

今回は室温25度として負荷に流す電流を「50mA」とします。
ベース電流(IB)
次にArduinoのデジタルピンから出力するベース電流です。
2SC1815のhFEの目安は「O: 70-140」「Y: 120-240」「GR: 200-400」「BL: 350-700」です。今回のは「Y」ですので120から240です。
ですので、hFEをとりあえず120として算出します。
これでベース電流が決まりました。
抵抗器1(R1)
R1は次の計算式で求めます。
なので
半端な抵抗値なのでベース電流を変更して10kΩにします。
抵抗器2(R2)
トランジスタの「安定化」とベース電流をHIGHからLOWに切り替えた際に発生する「コレクタしゃ断電流」(ICBO)をGNDに逃がす為に設置します。
基本的に10kΩで良い。もしくは R1≦R2とする。
※回路によってはR2を使用しない場合があります。
抵抗器3(RC)
コレクタの負荷抵抗です。VCC(コレクタ側の電源)からの大電流をこの抵抗によって制限します。VCCとコレクタの間に「負荷抵抗」がなく、直結した場合はトランジスタが壊れる場合があります。
※トランジスタの性能などによってはRCを使用しない場合があります。
9. 実際のhFEを確認する
hFEの計算式
デジタルテスターで計測したコレクタ電流は41.6mAです。ベース電流は0.4mAなので
となります。型番が「Y」の標準的なhFEは120-240ですが、今回はそれより小さい値になりました。
安定化、逆流防止用の「R2の抵抗」をブレッドボードから外して、R1の抵抗を14.7kΩにするとhFE=143(IC=39.1mA, IB=0.272mA)、20kΩにするとhFE=155(IC=31mA, IB=0.2mA)になります。
本来は標準的なhFEの範囲に収まる実験の方が良いですが、10kΩは誰もが持っている抵抗なので10kΩを使用しました。
※R2に流れる微弱な電流が存在しますが、倍率にそこまでは影響しません。
10. エミッタ抵抗
「エミッタ抵抗」(RE)を設置すると、トランジスタの温度変化などによるコレクタ電流の変化を安定化する事が出来ます。

エミッタ抵抗の抵抗値が大きいほど安定しますが、それに比例して「コレクタ電圧が下がり、コレクタ電流が小さく」なります。
次表は実測値(例)となります。
コレクタ電圧(VC) | コレクタ電流(IC) | |
---|---|---|
0Ω | 4.89V | 41.6mA |
10Ω | 4.89V | 36.8mA |
47Ω | 4.88V | 21.4mA |
100Ω | 4.89V | 13.4mA |
220Ω | 4.85V | 7.2mA |
560Ω | 4.74V | 3.3mA |
1kΩ | 4.62V | 2.0mA |
10kΩ | 3.68V | 0.21mA |
100kΩ | 3.09V | 0.022mA |
最後に
今回ご紹介した回路は「エミッタ接地回路」と呼ばれています。
参考サイト
エミッタ接地回路 (Wikipedia)
私のアンプ設計&製作マニュアル
トランジスタをマイコン出力のスイッチとして使う方法
トランジスタのクイックリンク
掲示板
ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。