こんにちは、「メカのりまき」です。
この記事では、電気についての基礎知識を説明した後、ブレッドボードで回路を作成して、LEDを点灯させる方法について説明したいと思います。
この記事では「Arduino」というマイコンボードを使用いたします、「Arduino」を知らないという方や購入をしていないという方は、以下のリンク先の記事で、「Arduino」の説明をしていますので、是非、ご覧になってください。
目次
本記事で使用するもの
本記事で私が使用した物は以下の通りです。
- PC
- USBケーブル
- Arduino Uno R3(ELEGOO UNO R3でも可)
- ブレッドボード
- LED
- 抵抗器
- ジャンパーワイヤー
「Arduino Uno R3」の互換ボードであれば、「ELEGOO UNO R3」以外のボードでも、本記事と同様な手順で動作可能だと思われますが、動作検証はしていないので、その点はご了承ください。
以下のリンクのスターターキットを購入した場合、上記で述べた使用するものは、PC以外すべて入手することができます。
Arduinoをまだ購入していないという方やArduinoで動かすことができるたくさんのパーツが欲しいという方は、購入を検討してみてください。
電気の基礎
電池を豆電球やモータなどの部品に繋げると、光ったり、回転したりするなど部品に応じた働きを見ることができます。
これらの働きが起きる理由は、電池が持っている「電圧」によって、豆電球やモータなどの部品に「電流」が流れるからです。
「電圧」と「電流」という単語は、聞いたことがあるけれど、どういったものか良く分からないという方もいらっしゃると思うので、まずは「電圧」と「電流」についての説明と、それらを制御するために必要な「電気抵抗」と「オームの法則」についての説明をしたいと思います。
電圧
電圧は別名「電位差」と呼ばれていて、ある2つの点の「電位」を比較したときの差を表しています。
「電位」は電気を動かすエネルギーのようなものです。
電位の高さは1.5[V]のように単位を「ボルト[V]」で表し、この電位が高いほうから低いほうに向かって、電流が流れます。

このとき、2点の電位の値の差(電位差)が大きい程、その2点間の電気を流す力が大きくなります。
そして、2点の電位の値の差(電位差)を電圧と呼びます。

電圧の高さも、1.5[V]のように単位を「ボルト[V]」で表し、この数値が高いほど電気を流すための力が大きいことを示します。
また、数値の部分が不明な場合は、V[V]のように数値の部分を記号「V」などで表されることがあります。
電池などの電源は、プラスの部分に繋げた部分の電位をマイナスの部分に繋げた電位よりも高くするという役割を持っていて、そのプラスとマイナスの電位の値の差(電位差)が電源の電圧と呼ばれています。

電流
電流はその名の通り「電気の流れ」でどれだけの電気が流れているかを示します。
電流の大きさは、2[A]のように単位を「アンペア[A]」で表し、この数値が大きいほど、多くの電気が流れていることを示します。
また、数値の部分が不明な場合は、I[A]のように数値の部分を記号「I」で表されることがあります。
電気抵抗
電気抵抗は「電気の流れにくさ」を表しています。
電気抵抗の大きさは、その物体の材質や大きさなどによって変化します。
例えば、銅やアルミは電気抵抗が低いため、電気をとても良く通します。
反対に、ゴムやガラスは電気抵抗が高いため、電気をほとんど通しません。
電気抵抗の大きさは、200[Ω]のように単位を「オーム[Ω]」で表し、この数値が大きいほど、電気が流れにくいことを示します。
また、数値の部分が不明な場合は、R[Ω]のように数値の部分を記号「R」で表されることがあります。
オームの法則
オームの法則は上記で説明した「電圧」、「電流」、「抵抗」の関係性を表した法則で、以下のような式で表されます。

この式は例えば以下のようなときに使用されます。

上の図のように電気抵抗R=100[Ω]のものに、電流I=0.05[A]を流したいとき
V = I × R = 0.05[A] × 100[Ω] = 5[V]
となるので、V=5[V]の電圧を用意すれば良い。
というように、「電流」と「電気抵抗」が決まっているときに必要な「電圧」を求めることができます。
また、オームの法則は、以下のような式でも表すことができ、「電圧」、「電流」、「電気抵抗」の内、どれか2つの値が決まっている場合に、決まっていないもう1つの値を求めることが出来ます。

ミリ[m]とキロ[k]
基本的には上記のように、「電圧」、「電流」、「電気抵抗」は、それぞれ「ボルト[V]」、「アンペア[A]」、「オーム[Ω]」という単位を使います。
しかし、0.02[A]や10000[Ω]など、値が小さい場合や大きい場合、以下で説明する「ミリ[m]」や「キロ[k]」を単位の頭に付けて表されることがあります。
ミリ[m]
小さいものを表すときに、単位の頭に「ミリ[m]」を付けて表すことがあります。
この「ミリ[m]」は、1/1000倍の量であることを示していて、ミリボルト[mV]、ミリアンペア[mA]、ミリオーム[mΩ]のような使われ方をします。
身近なところでいうと、ミリメートル[mm]、ミリグラム[mg]なども、短い距離や軽い物の重さを表すときに使用されています。
このミリ[m]を何もついていない状態の単位に変換する場合は、その数値を1000で割ります。
例えば、10[mA]の単位を[A]に直したい場合は、
10[mA] ÷ 1000 = 0.01[A]
となります。
逆に何もついていない状態の単位にミリ[m]を付けたい場合は、その数値を1000倍します。
例えば、0.02[A]の単位を[mA]に直したい場合は、
0.02[A] × 1000 = 20[mA]
となります。
キロ[k]
大きいものを表すときに、単位の頭に「キロ[k]」を付けて表すことがあります。
この「キロ[k]」は、1000倍の量であることを示していて、キロボルト[kV]、キロアンペア[kA]、キロオーム[kΩ]のような使われ方をします。
身近なところでいうと、キロメートル[km]、キログラム[kg]なども、長い距離や重い物の重さを表すときに使用されています。
この「キロ[k]」を何もついていない状態の単位に変換する場合は、その数値を1000倍します。
例えば、2[kΩ]の単位を[Ω]に直したい場合は、
2[kΩ] × 1000 = 2000[Ω]
となります。
逆に何もついていない状態の単位に「キロ[k]」を付けたい場合は、その数値を1000で割ります。
例えば、10000[Ω]の単位を[kΩ]に直したい場合は、
10000[Ω] ÷ 1000 = 10[kΩ]
となります。
注意点
オームの法則を利用する際は、「電圧」、「電流」、「抵抗」の単位を、それぞれ「ボルト[V]」、「アンペア[A]」、「オーム[Ω]」という単位に直す必要があります。
例えば、電流I=20[mA]、抵抗R=100[Ω]のとき、電圧V[V]を求める場合、
V = I × R = 20[mA] × 100[Ω] = 2000[V]
と求めるのは間違いです。
この場合は、電流の単位を
I = 20[mA] ÷ 1000 = 0.02[A]
と直した後に、オームの法則に当てはめて
V = I × R = 0.02[A] × 100[Ω] = 2[V]
と計算を行うようにしてください。
Arduinoと電圧
Arduinoは上記で説明した電圧を制御することにより、様々な部品に電流を流すことができます。
以下では、Arduinoで電圧を扱う際に使用するピンについて説明したいと思います。
GND(グランド)ピン
「Arduino Uno R3」を見るとGND(グランド)というピンがいくつかあることが確認できると思います。

このGNDピンは電池でいうところのマイナス部分の役割を持っています。
このピンで繋いだ部分が電圧の基準である0[V]になり、以下で説明する、ピンと組み合わせることで、電池のときのように、電圧を生じさせることができます。
3.3Vピンと5Vピン
「Arduino Uno R3」を見ると3.3Vと5Vというピンが確認できると思います。

このピンは電池でいうところのプラス部分の役割を持っています。
文字の通り、3.3Vピンに繋いだものは、GNDより3.3[V]高い電位となり、5Vピンに繋いだものは、GNDより5[V]高い電位となります。
よって、以下のように、GNDピンと組みあわせることによって、電圧を生じさせ電流を流すことができます。

入出力ピン
「Arduino Uno R3」を見ると、0~13の数字やA0~A5と書かれたピンが確認できると思います。

以前の記事で、0~13の数字が書かれたものを「デジタル入出力ピン」、A0~A5と書かれたものを「アナログ入力ピン」と呼び、これらのピンの入出力を制御することで、外部の部品を動かしたり、データを読み取ったりすることができるという説明をしました。
「デジタル入出力ピン」はスケッチ内で、この番号のピンは出力ピンであるという指定をすることで、電位の切り替えを行うことができるようになります。
例えば、デジタル入出力ピンの3番を出力ピンに指定したい場合は、スケッチ内で以下のような文を書きます。
1 |
pinMode(3,OUTPUT); |
すると、上記の文により、3番ピンは、電位の切り替えを行うことができるピンになります。
この時、電位はGNDと同じ電位(0[V])となっているため、電池でいうところのマイナス部分の役割を持っていますが、以下のような文を書くと、GNDより5[V]高い電位となり、電池でいうところのプラス部分の役割を持たせることができます。
1 |
digitalWrite(3,HIGH); |
また、上記の文を書いた後に、以下のような文を書くと、電位をGNDと同じ電位(0[V])に戻すことができます。
1 |
digitalWrite(3,LOW); |
つまり、上記の性質を利用すれば、スケッチで部品にかかる電圧の有無を制御することができるということになります。


上記では、デジタル入出力ピンを出力ピンとして使用する方法を述べましたが、アナログ入力ピンも同じように出力ピンとして使うことができます。
以下は、A0ピンを出力ピンとして使用する場合の文です。
1 |
pinMode(A0,OUTPUT); |
LEDの特徴
LEDは以下の写真のような見た目をしていて、電流を流すことにより、点灯させることができます。
このとき、流れている電流が大きい程、明るく点灯します。

LEDを記号で表すと以下のようになります。

LEDは適当に電流を流せば点灯する単純な部品だと、思われがちですが、下記のような特徴を持っているので、扱う際には注意が必要です。
電流を流せる向き
LEDに流せる電流の向きは決まっていて、逆向きに流そうとしても、電流は流れず点灯しません。
電流を流すためには、電圧のプラス部分とマイナス部分を、LEDに合わせて繋げる必要があります。

加えても良い電圧
LEDは低い電圧を加えても、電流が流れず点灯させることができません。
また、高い電圧を加えると、LEDに大きな電流が流れて破壊されることがあります。
LEDに加えても良い基準の電圧はLEDの種類によって、異なっていて、基準となるその電圧のことを「順電圧(順方向電圧)」と呼び、記号「 VF 」などで表されます。
上記の写真と同じような砲弾型のLEDであれば、順電圧は2~3.5[V]程度の場合が多いみたいです。
順電圧の値はメーカーが記載している場合が多いので、可能な場合は確認してみてください。
また、順電圧VFを加えたときに、LEDに流れる電流を「順電流(順方向電流)」と呼び、記号「 IF 」などで表されます。
順電流の値もメーカーが記載している場合が多いので、可能な場合は確認してみてください。
ArduinoとLED
LEDの順電圧の説明をしたときに、気づいた方もいらっしゃると思いますが、Arduinoのピンに直接LEDを接続して点灯させようとすると、LEDに大きな電流が流れて破壊する恐れがあります。
理由は、Arduinoの出力である5[V]が、LEDの順電圧を大きく上回る場合があるからです。
では、どのようにすれば、Arduinoで安全にLEDを点灯させることができるのでしょうか。
この問題は、LEDに対して、抵抗器を直列に繋げることで、解決をすることができます。
抵抗器
抵抗器とは、以下の写真のような見た目をした部品で、決められた電気抵抗を持っています。

抵抗器を記号で表すと以下のようなものになります。

ほとんどの場合、抵抗器は下の写真のように、電気抵抗が分かるようにまとまった状態で売られています。
![1[kΩ]の抵抗器](https://mecha-norimaki.com/wp-content/uploads/2023/01/R_3-1024x768.jpg)
もし、まとめてある状態からバラバラにして、抵抗器の電気抵抗が分からなくなったとしても、以下のようにカラーコード(表面に印刷された縞々模様)から抵抗器の電気抵抗を読み取ることができます。

抵抗器の一番右に印刷された色が許容差、右から2番目に印刷された色が乗数(何倍するかを表す数値)、それより左の色が抵抗の値を示す数字を表しています。
カラーコードを読むときの方向については、メーカーによって異なるかもしれませんが、線がどちらかに寄っている場合は、線が寄っている方を左としたり、端の線の太さが1本だけ太い場合は、その太い線を右にしたりするなどがあります。

どうしても、電気抵抗が分からないという場合は、テスターという道具を使って測定することができます。
テスターは回路のチェックをする際に、とても便利な道具なので、電子工作を続けるのであれば、購入を検討してみるのも良いと思います。
直列回路
直列回路とは、下記の画像のように、電池や抵抗器などを一列につないだ回路のことです。

この直列回路は、どこを測っても電流の大きさが同じであり、抵抗器などにかかる電圧の和と電源の電圧が等しくなるという特徴を持っています。

また、回路全体の電気抵抗は、それぞれの電気抵抗の和と等しくなるという特徴も持っています。

つまり、抵抗器をいくつか直列に繋げていけば、その分、回路全体の電気抵抗が高くなるため、電流は流れにくくなり、抵抗器に加わる電圧も分散されるので、低くなるということになります。
この性質を利用すれば、出力の電圧が5[V]のArduinoでも、LEDに加わる電圧を低くすることが出来るので、順電圧が5[V]より低いLEDを点灯させることができます。
抵抗器の計算
突然ですが、ここで問題です。

上記のような、電圧5[V]の電源に抵抗器が2つ繋がった回路において、抵抗器2に2[V]の電圧を加えるためには、抵抗器1の電気抵抗をいくつにすれば良いでしょうか。
ここで、抵抗器2に2[V]を加えた際に流れる電流は20[mA]だということが分かっているものとします。
解き方を以下で説明するので、一緒に問題を解いてみてください。
まず、直列回路の性質より、電圧の関係は以下のようになります。
V = V1 + V2
ここで、電源の電圧Vは5[V]、抵抗器2に加わる電圧V2は2[V]となるため、抵抗器1に加わる電圧は
V1 = V – V2 = 5[V] – 2[V] = 3[V]
と求められることができます。
また、直列回路の性質より、流れる電流はどの場所でも同じなので、抵抗器1に流れる電流は
I = 20[mA] ÷ 1000 = 0.02[A]
と求めることができます。
ここで、抵抗器1に加わる電圧と流れている電流の値が分かっているため、オームの法則より、抵抗器1の電気抵抗は
R1 = V1 ÷ I = 3[V] ÷ 0.02[A] = 150[Ω]
と求めることができます。
よって、抵抗器2に2[V]の電圧を加えるためには、抵抗器1の電気抵抗を150[Ω]にすれば良いというのが問題の答えになります。
では、ここで上記の問題の抵抗器2をLEDに置き換えてみてください。

実は電源の電圧が5[V]のとき、順電圧が2[V]、順電流が20[mA]のLEDに対して、電気抵抗がいくつの抵抗器を繋げれば良いかという問題は、今解いてきた問題と全く同じ解き方で解くことができます。
つまり、順電圧と順電流が分かっているLEDの場合、上記と同じような計算を行えば、直列に繋げるべき抵抗器の電気抵抗が分かるということですが、正直面倒くさいと思った方もいらっしゃるのではないでしょうか。
ということで、電源の電圧が5[V]のとき、順電圧と順電流が分かっているLEDに対して、電気抵抗がいくつの抵抗器を繋げれば良いかという計算を行ってくれるツールを作っておきましたのでご活用ください。
抵抗器計算ツール
上記のツールは順電圧と順電流の部分に値を入力すると、LEDに順電流を流すような電気抵抗を計算します。
ここで、後に作成するLEDを点灯させる回路では、上記のツールで求めた電気抵抗よりも少し高い電気抵抗の抵抗器を使用します。
また、順電圧、順電流が不明で計算が行えない場合は、電気抵抗が高いものを接続し、そこから調節をしていくことになります。
ここで、順電流については、Arduinoボード側にも、電流の制限があるので注意が必要です。
Arduino Uno R3では、各デジタル入出力ピンの電流について、推奨は20[mA]、最大は40[mA]までとArduinoの公式サイトに記載されているので、20[mA]よりも大きな電流を安定して流したい場合は、LEDドライバーなど別のICを通して制御するのが良いと思います。
なお、新しいArduinoボードである「Arduino Uno R4 Minima」、「Arduino Uno R4 WiFi」では、各デジタル入出力ピンの電流について、推奨は8[mA]とArduinoの公式サイトに記載されているので、その点も注意が必要です。
LEDを点灯させる回路の作成
Arduinoを使った回路
前置きが長くなりましたが、これまでの説明をまとめると、以下のような回路を作成すればArduinoでLEDを点灯させることができるということになります。

なお、LEDの点灯を制御する場合、プラス側をデジタルデジタル入出力ピンに繋げたりするのですが、今回はお試しとして、5Vピンに繋げて、ずっと点灯するような回路を作成します。
抵抗器は上記の計算で出した電気抵抗Rよりも少し高い電気抵抗のものを使用すると、電流の流れすぎによるLEDの破壊を防げるので安全です。
電気抵抗の計算が行えない場合は、電気抵抗が高いものから順番に接続していき、ちょうど良い明るさになるものを探していきます。
同じような砲弾型のLEDであれば、1[kΩ]あたりから調整すれば、大丈夫だと思われますが、心配であれば、さらに大きな電気抵抗から調節を行ってみてください。
調節の際、電気抵抗を低いものにすれば、その分点灯が明るくなるのですが、電気抵抗が低くしすぎると、LEDの寿命を縮めてしまったり、破壊してしまったりすることがあるので注意してください。
今回、私はLEDの入っていたスターターキットのマニュアルを参考に、220[Ω]の抵抗器を使用しています。
ここまで来れば、後は回路を実際に作るだけです。
ブレッドボードを使った回路
ブレッドボードは下の写真のような見た目をしていて、穴に線を差し込むだけで、簡単に回路を作成することが出来ます。

ブレッドボードの中では、以下の画像のように線が繋がっています。

ブレッドボード内で繋がってないライン同士を繋げたい場合は、ジャンパーワイヤーや部品(LED、抵抗器など)の線を差し込んで繋げます。
ジャンパーワイヤーは下の写真のようなものです。

つまり、以下の画像のように、部品を差し込んでいけば、LEDを点灯させることが出来ます。

ブレッドボードでの回路作成の際は、Arduinoの電源が入っていない状態(USBケーブルを抜いた状態)で作業をすることをお勧めします。
そうすることで、作業をしている途中に誤って線を接触させてしまったり、間違えた場所に線を差し込んでしまったりした際に、部品に電流が流れて、破壊されることを防ぐことができます。

上記の画像のように、ブレッドボードに部品を差し込み終わったら、差し込んだ位置が一列ずれていないかなどを良く確認した後に、USBケーブルを、電源の入ったパソコンなどに接続してみてください。
なお、間近で直接LEDを見ると眩しすぎる可能性があるため注意してください。
正しい回路ができていれば、下の写真のようにLEDが点灯するはずです。

点灯しない場合は、線がしっかりと奥まで差し込まれているか、差し込んでいる位置が間違っていないか、LEDの向きはあっているかなどを確認してみてください。
眩しすぎる場合
今回紹介した計算で求めるのは、順電流が流れるような、いわばギリギリLEDを壊さないための電気抵抗であるため、計算で求めた電気抵抗より、ほんの少し高い電気抵抗の抵抗器では眩しすぎると感じる場合があります。
眩しすぎると感じた場合は、電気抵抗がより大きな抵抗器に差し替えます。
すると、回路の電気抵抗が上がり、電流が流れにくくなるので、LEDの点灯が暗くなるのが確認できます。
下の写真は抵抗器を220[Ω]のものから、10[kΩ]に変えたときのものです。

上記のように、繋げる抵抗器によって、明るさの調節ができるため、目的に合わせて電気抵抗の調節を行ってみてください。
終わりに
皆さんLEDをしっかりと点灯させることができたでしょうか。
Arduinoとブレッドボードを使った、LEDを点灯させる回路の作成についての説明は以上となります。
これで、ArduinoでLEDの点灯を制御するための準備は整いました。
次回の記事では、今回、5Vピンに差していた部分を、入出力ピンに差し変えて、LEDの点灯を制御する方法について、説明したいと思います。
本記事はここまでです。ご清覧ありがとうございました。
参考
電気の説明を作成する際、以下の書籍を参考にさせていただきました。
- 西巻正郎 , 森武昭 , 荒井俊彦 : 電気回路の基礎 第2版 [森北出版株式会社] (2004)
- 原康夫 : 物理学基礎 第4版 [学術図書出版社] (2010)
Arduino、LED、抵抗器などの説明と回路を作成する際は、以下の書籍、サイトを参考にさせていただきました。
- 高橋隆雄 : たのしい電子工作 Arduinoで電子工作をはじめよう! 第2版 [秀和システム] (2013)
- Arduino Uno Rev3 [Arduino] (最終閲覧2025/08/27)
- LEDの順方向電圧VFとは [マイクラフト] (最終閲覧2025/08/27)
- JIS C 60062 抵抗器及びコンデンサの表示記号 [CEGA] (最終閲覧2025/08/27)
- 電気部品図記号が改正されました [ナガタ産業株式会社] (最終閲覧2025/08/27)
新しいArduinoボードである「Arduino Uno R4 Minima」、「Arduino Uno R4 WiFi」の各デジタル入出力ピンは、流しても良い電流が「Arduino Uno R3」よりも小さくなっているため注意してください。
- Arduino UNO R4 Minima [Arduino] (最終閲覧2025/08/27)
- Arduino UNO R4 WiFi [Arduino] (最終閲覧2025/08/27)
- 【初心者向け】Arduino UNO R4でLEDを光らせよう!#1 [note みんなの電気・電子回路] (最終閲覧2025/08/27)
広告
楽天モーションウィジェットとGoogleアドセンス広告です。
気になる商品がございましたら、チェックをしてみてください。
