Arduino UNO R4で【豆電球】を点滅させる | 技プログ
Youtubeでも活動中

チャンネル登録してくれたら喜びます。

このボタンで簡単にチャンネル登録!
PR
ご注意

本ブログには、アフィリエイトを用いた広告が掲載された記事が含まれる場合があります。

ご注意

本ブログには、アフィリエイトを用いた広告が掲載された記事が含まれる場合があります。

Arduino UNO R4で【豆電球】を点滅させる

Blinking-a-miniature-light-bulb-using-arduino-uno-r4-and-MOSFET

 今回は、2023年に発売されたArduino UNO R4を使って、
豆電球を点滅する方法をご紹介します。

 Arduinoの解説書や、インターネットの情報では、
Arduinoを買ったらまず【Lチカ】してみる。
とありますが、これはLEDをチカチカさせることを指します。

 実はLEDはArduinoのようなマイコンボードととても相性がいいんです。
理由は電流値が小さくても光るから。

 一方、今回の本題である「豆電球」これは結構厄介で、
LEDをチカチカさせるのと同じようにはいきません。
Arduinoの制御するピンから出せる電流値では全く歯が立たないからです。

 今回はLEDの代わりに豆電球を点滅させますが、
使うものはMOSFETです。型番も後ほど紹介しますので、
やってみたいと思ったらメモしておくか、
リンクを用意したのでとりあえず買い物カゴに入れておくことをお勧めします。

 ※重要※
後述しますが、2SC1815や2N7000を使って豆電球をON/OFFするのはオススメできません。

もしそれでArduino UNO R4が壊れたり、何かしらの被害が出ても
本ブログでは責任を負いかねます。

この記事を読むことでわかること

Arduinoとトランジスタを使って豆電球を点滅させる配線・スケッチがわかる。

自己紹介

東証一部上場企業でサラリーマンしてます。

主に工場(生産現場)で使用する検査装置のアプリケーション開発してます。

ヒトの作業を自動化して簡略化するアプリケーションを日々開発中。

転職に成功して現在は超大手企業でシステム系の開発をしています。

Youtubeチャンネルにさまざまな動画を上げています

↓↓↓こちらからYoutubeチャンネルにアクセス!! ↓↓↓

注意

本ブログはアフィリエイトを用いた広告を掲載しています。

PR

今回使用した道具とパーツたちの紹介

 今回使用したのは、

Arduinoとトランジスタで豆電球を点滅させるのに必要な道具

 こんなもんです。
恐らくArduino UNO R4はお持ちかなと思うのですが、
もしArduino UNO R4が無い場合は通販で購入可能ですので安心して下さい。

 結論から言うと、「2SK4017以外は対応不可」です。
※Arduino UNO R3でやる場合や、暗い(消費電力の小さい)豆電球の場合は
いける場合もありますが、その場合はご自身で計算したうえでやってください。

 Arduino UNO R4で解説していますが、旧機種のArduino UNO R3との違いについて
こちらの記事でまとめています。参考にしてみてください。

実際に豆電球をArduinoとMOSFETで点滅させたときの動画

 まず初めに豆電球をどんな感じで点滅させたのか、動画があるので
こちらをご覧ください。

 あまり配線はごちゃつかずに豆電球がチカチカ点滅できていることがわかると思います。
ただし、冒頭でもご説明した通り、LEDのように、
Arduinoのピン⇒抵抗⇒LED⇒GNDという超簡単な接続では豆電球は光りません。

 豆電球がLEDのように光らない理由については次の章で解説します。

豆電球がLEDと同じ配線で光らない理由

 これは、ずばり「豆電球とLEDの消費電力の差」です。
Arduino UNO R4は各ピンからDC8mAまでしか電流を流せません。
LEDはそれくらいの電流値でも光りますが、豆電球はビクともしません。

 具体的に今回使用している豆電球の仕様としては、
「2.5V 0.5A」と記載があります。
つまり、500mAの電流値が必要ですよ。ということを言っています。
先ほどお伝えした通り、Arduino UNO R4の1つのピンから出せる電流値は、
わずか8mAですから、桁が2つも違う…ということになります。

 ですから、単純にArduinoのデータピンから豆電球につなげて、
反対側をGNDと接続するような配線方法では、豆電球は電流値不足で光りません。

豆電球をArduinoで光らせる方法は?

 豆電球がLEDと同じような配線では光らないことは理解できたと思います。
ただ、電流値が足りないからとあきらめるのはまだ早いです。

 世の中便利な電子パーツがありますので、それを使って豆電球を光らせましょう。
今回使用するのは、トランジスタとMOSFETです。

 冒頭でもお話した通り、使い方は説明しますが、
実際正しく使えるのは、MOSFET(2SK4017)だけです。
他の例として2SC1815と2N7000も登場しますが、
光らせたいだけなら、2SK4017の解説まで飛ばしてください。

トランジスタの役割とは?

 トランジスタとは、イメージしやすいようにお伝えすると、
スイッチングしてくれるパーツです。

 トランジスタは3本線が出ています。
そのうちの2本に電流が流れるか流れないかを、残りの1本で制御してあげるイメージです。

 具体的に今回使用した2SC1815を例として解説していきましょう。
ポイントとしては以下の3つです。

トランジスタ(2SC1815)の使い方のポイント3つ
  • E(エミッタ),C(コレクタ),B(ベース)の役割を理解する。
  • 実物と回路図の違いについて理解する。
  • トランジスタの配線方法について理解する。

E(エミッタ),C(コレクタ),B(ベース)の役割を理解する。

 まず初めに、トランジスタから出ている3本の線について理解する必要があります。

 こちらをご覧ください。

2sc1815
型番:2SC1815 トランジスタ

 型番がほとんど見えないですが、
C1815と書かれています。これは2SC1815という型式のトランジスタです。

 3本足が出ていますが、それぞれ左から順に、
E(エミッタ),C(コレクタ),B(ベース)という名前が付いています。
向きも含めてデータシートに記載されているので参考にしてください。↓↓↓

2SC1815データシート(東芝)

 平らな面を上にしたときに、左から順に
1.エミッタ
2.コレクタ
3.ベースと書いてあります。

 ここで、エミッタ、コレクタ、ベースの役割についてお話しておくと、
ベースに電流を流すと、
その電流に応じた分だけコレクタからエミッタに電流を流すことができる。

 ↑こういうことになります。
ベースに電流を流して、その電流に応じてと書きましたが、
定格内でベースに流す電流を大きくすれば、
コレクタから、エミッタに流せる電流も増えていきます。

 ただし、注意点ですが、
コレクタからエミッタに流せる。
この流せるというのが大事で、かってにどこからか電流が流れてくるわけではありません。
あくまでもコレクタ⇒エミッタに流れる電流を確保したうえで、
ベースに電流を流すと、コレクタ⇒エミッタに電流が流せるようになって、電流が流れる。
という仕組みです。

実物と回路図の違いについて理解する。

 今回使用する2sc1815は、NPN型のトランジスタです。
世の中のバイポーラトランジスタは、NPN型とPNP型に分かれますが、
NPN型とPNP型で扱いが変わります。

 例えば、PNP型の場合は負荷をエミッタ側につけて、コレクタ側をGNDに落とします。
それに対してNPN型の場合は負荷をコレクタ側につけて、エミッタ側をGNDに落とします。

 回路図もNPN型かPNP型で変わるわけですが、
ここに記載されているB,C,Eがそれぞれベース、コレクタ、エミッタなので、
2sc1815の1番ピンが下、2番ピンが上、3番ピンが左に来ている図ということですね。

NPN型のトランジスタの使い方。
2SC1815データシート(東芝)


 物理的に並んでいますが、回路図上では便宜的にバラバラになっているので、
確認するときは常に何番ピンなのか確認しながら配線しましょう。

 回路図はこうですが、NPNとPNPの違い、そもそもNchやPchがよくわからないという場合は、
こちらのROHMの解説を一度ご覧いただくと理解できると思います。

トランジスタの配線方法について理解する。

 ここまでで、NPNのトランジスタを使うので、
豆電球はコレクタ側につけるんだな。とわかったと思います。

 ただ、豆電球をコレクタ側につけるのがわかったとして、
それ以外の配線方法がよくわかりませんよね…
というわけで、配線の基本ですが、以下の通り配線する必要があります。

  • ベースに流す電流をどれくらいにするか決める。
  • コレクタ側の電源を確保する。
  • コレクタからベースへの逆流をGNDに逃がす。

 上記のように配線を決めていきます。

ベースに流す電流をどれくらいにするか決める。

 ベースに流す電流によって、コレクタ⇒エミッタに流せる電流の量が変わると説明しました。
ですから、この電流値をいくつにするかは結構重要になります。

 このベースに流す電流は、抵抗値によって制御することになります。
ただし、冒頭でお伝えした通り、どんなに頑張っても
Arduino UNO R4では8mAまでしか流せません。
ですから、MAX 8mAというのを忘れないようにしましょうね。

 今回光らせる豆電球ですが、2.5V 0.5Aという仕様ですが、
ただの豆電球なので、5Vかけてももちろん光ります。※寿命は短くなるはず。

 問題は0.5A。500mAも電流を流さないといけないところです。
トランジスタは、コレクタ⇒エミッタに流せる電流値を、
ベース側の端子に電流を流して制御するとお伝えしました。

 具体的に、どれくらいベース側に電流を流せば、
コレクタ⇒エミッタで500mA流せるようになるのでしょうか??

 それは、データシートを見るしかありません。
2sc1815のデータシートには、電流増幅率というものが記載されています。
hFEという記号ですね。標準では100倍程度です。

 100倍なので、500mA流したければ、ベースに5mA流せばいいことになります。
でここで問題発生です。そもそも、
2SC1815の定格コレクタ電流は150mAがMAXです。
つまり、150mAを超えるような電流を豆電球に流すことはできません。

2sc1815のデータシートより抜粋。注目はコレクタ電流の値。

 ↑というわけで2SC1815は使えない。ということがわかります。

続いて、よく使われるMOSFETの2N7000を検討してみる。

 続いては、スイッチングとしてよく使われるMOSFETの2N7000について
データシートを確認してみましょう。

 データシートを見ると、Maximum Drain Currentの数値があります。
これはトランジスタでいうところのコレクタ電流の定格値と意味合いは一緒です。
その値は….

 はい、200mAというわけで、こちらもダメですね…
2SC1815よりも早く気づけて良かった…
ただ、次に紹介する2SK4017は同じMOSFETで配線や使い方まで紹介するので、
MOSFETを使いたい!という場合は最後までご覧くださいね。

パワー系のMOSFET 2SK4017で考える。

 最後にうまくいく2SK4017を使う方法を紹介します。
2SK4017は、モータードライブ用と解説されるほどで電流をたくさん流せるNch MOSFETです。

TOSHIBA 2SK4017のデータシートより

 ゲート・ソース間電圧は驚異の定格20V。
ドレイン電流もDC5Aを流せます。5Aと言ったら、5,000mAですからね。

Arduinoと豆電球に2SK4017をどう配線するか?

 そんな2SK4017ですが、実物はこんな感じです。

2SK4017
2SK4017

 回路図と足の番号と役割ですが、このようになっています。

2SK4017データシートより

 NchMOSなので、ゲート(1番ピン)にかかる電圧が一定以上になると、
ドレイン(2番ピン)からソース(3番ピン)へ電流が流れます。

 ですから、1番ピンのゲートにはArduinoのデジタルピン。
2番ピンには5Vをつないだ豆電球。
3番ピンにはGNDをつなげればいいということがわかります。

トランジスタをどうやって豆電球とArduinoに接続するか?

 さて、ここまで長々と配線方法について紹介してきましたが、
実際にどう配線すればいいのかお伝えしていきます。

 回路図はこちらです。

ゲートとArduinoの7番ピンの間は360Ω、
豆電球とドレインの間は7.5Ω、
ゲートとGNDをつないでいるのは10kΩです。

 この配線で得られる豆電球の電流はおよそ300mAです。

300mA
豆電球には300mAの電流が流れる。

 7番ピンに接続していますが、当然他のデジタルピンでも構いません。
6番でも、4番でも好きなところに配線してください。

光らせるスケッチはLチカと一緒でOK。ただしトランジスタをON/OFF

 配線まで完了したら、あとはスケッチ(プログラム)をArduino UNO R4に書き込みましょう。
具体的には、D7ピンに2SK4017のゲートを接続していますから、
D7をON/OFFするだけで電球がチカチカします。

 具体的にはこんな感じになります。

void setup() {
  pinMode(7,OUTPUT);
}

void loop() {
  digitalWrite(7,HIGH);
  delay(1000);
  digitalWrite(7,LOW);
  delay(1000);
}

 pinModeで7番ピンを出力に指定。
その後、LOOP関数の中でHIGH-LOWを繰り返しています。
これだけでゲートに電圧がかかり、
そのタイミングに合わせてドレイン⇒ソースにに電流が流れ、電球が点灯します。

今回のまとめ:ArduinoでLEDではなく豆電球を点灯させられた。

 もともとはトランジスタで豆電球をON/OFFしようとしたのですが、
いかんせん豆電球の点灯に必要な電流値を甘く見ていました….

 豆電球の種類によっても電流値がここまで必要ないものもあるかもしれませんが、
300mA程度必要な豆電球が来た場合は、素直にパワー系のMOSFETを使ったほうが良いです。

 最後に今回使用したもののAmazonのリンクを貼って終わりにします。

コメント

タイトルとURLをコピーしました