大好きArduino

Arduino総合情報サイト

Arduinoプログラミング基礎

6.Lチカで電気を知る(抵抗を使って本格的に)

2016/08/23

ピンにLEDは直接接続してはいけません

LEDをArduinoのピンに接続するときは直接接続はしません。
LEDの仕様書に合わせて計算をで求められた抵抗をLEDとピンの間に接続します。

なぜかというと、LEDを直接ポートに接続すると、Arduinoのポートから出力される5Vに対する電流が目いっぱいながれてしまいます。
目いっぱい電流が流れるとLEDの寿命が縮まります。
LEDを点灯させるため、また、こういったポートに接続するパーツには適応した正しい電流をあたえなくてはいけません。
そのために抵抗を使い、流れる電流を制御します。

また、それ以外に、Arduinoやマイコンのポートには全部のポートの合計で流せる電流が限られています。
なにも制限しないで、接続して目いっぱい流れるようにしてしまうと、マイコンの許容電流値をこえてマイコンを壊してしまいます。

そのための電流制限の抵抗を使います。

arduinoLEDbredr
電子回路図では下記のようにあらわします。

arduinoLEDkairo

抵抗で電流制限ができる理由

これは中学校の技術過程で習った オームの法則です。
公式は I(電流A)=E(電圧V)÷R(抵抗Ω)です。
この公式を用いてほしい電流を求めます。

マイコン回路の場合Eは5Vもしくは3.3Vと決まっていますし、ほしい電流もパーツの仕様からわかりますので公式としては、

抵抗値=電圧÷電流となりますね!
これを利用し、パーツの特性を考慮して計算する方法を下記に示します。

抵抗の計算の仕方

WS000001

これは秋月電子で販売されている赤色LEDの一つです。
こしこのLEDをArduinoの回路に使用したいと思った場合には次の点に注意をして計算をした抵抗を使います。

①電源電圧は?(もともとの供給電圧は?)
Arduinoには5Vと3.3Vの電圧をピンからとれるようになっています。
あなたが使用したい電圧をまずは選びそれを電源電圧とします。
②LEDの仕様から順方向電圧(VF)を見つける。
この仕様書では2.0Vとなっています。
③LEDの仕様から順方向電流(IF)を見つける。
この仕様書では20mAとなっています。

下記の計算式で抵抗値を求めます。
公式 抵抗値=電圧÷電流 の電圧部分が下記のように変わります。

  求める抵抗値(Ω)=(電源電圧(V) - 順方向電圧(V)) ÷ 順方向電流(A)  

よってこの式に当てはめると
(5V-2V)÷0.02=150となり、150Ωの抵抗を使えばいいことが分かります。

求める抵抗値の抵抗が売っていないとき

たまに計算すると、あまりみたことのない抵抗値が計算されます。
そんなときは、あまり厳密に考えずに近い抵抗値を選ぶことにします。

ただし、センサーなど正確な数字を求めるためにどうしても精密な数字を作り上げる場合も出てきます。
その場合には、抵抗を直列もしくは並列につないで目的の抵抗値を作ります。

直列つないだ場合の抵抗値は、単純に足し合わせるだけです。
つまり21Ωの抵抗がほしい場合は、20Ωと1Ωの抵抗を直列につなぎ合わせればいいのです。

並列につなぎ合わせた抵抗は 1/R=1/R1+1/R2+1/R3....となります。
つまり、100Ωの抵抗を並列につなぐと、 1/100+1/100=2/100となり もとめたい1/Rは 1/50→つまり50Ωとなります。

カラー抵抗の読み方

覚え方 :くちあだきみあむはし....呪文のように覚えます!
その心 :(黒=0)、(茶=1)、(赤=2)、(橙=3)、(黄=4)、(緑=5)、(青=6)、(紫=7)、(灰=8)、(白=9)

teikou

まずは、金色の帯を右側に置き、左側の3本の色帯で数値を判断します。
そして....1本目と2本目で値を示します。3本目は0の数を表します。
つまり、上の写真のをそ方法で判断すると....

1本目....だ(3)だ(3)ち(0) → 330Ω
2本目....ち(1)く(0)だ(000)→ 10000Ω は10KΩ

それでは、先ほどの150Ωはどうなるでしょうか?

150 → ち(1)み(5)ち(0) となりますから....茶緑茶 という抵抗になりますね!

-Arduinoプログラミング基礎