こんにちは、電子工作勉強中のぽっちーです。
前回はラズパイPico / Pico Wの開発環境の構築と内蔵LEDを光らせる方法を解説しました。
今回は赤色LEDをPico / Pico Wにつないで光らせるLチカにチャレンジです。
まだ開発環境の構築がお済みでない方は、前回の記事から読むことをおすすめします。
今回のゴールは次の通りです。
- LEDの使い方を知る
- ラズパイPico / Pico WのGPIOを使って電流を流す方法を知る
それではチャレンジ開始!
この記事で使う部品
まずはこの記事で使う部品を紹介します。
部品 | 個数 |
---|---|
Raspberry Pi Pico または Raspberry Pi Pico W 本体 | 1個 |
赤色LED | 1個 |
220Ω 抵抗 | 1個 |
ブレッドボード | 1個 |
ジャンプワイヤ | 1本 |
ピンヘッダ | 40ピン分 |
これらの部品をすでにお持ちの方は「基本的な考え方」にお進みください。
全部入りパック
ラズパイPico / Pico W本体だけならともかく、他のこまごまとした部品たちは1つずつ買うと送料が高くなってしまいます。今後いろんな部品で遊ぶにはPico / Pico W本体を含めた基本的な部品がパックになっているものが安くて便利です。
Raspberry Pi Pico 同梱のスターターキット↓
Raspberry Pi Pico W 同梱のスターターキット↓
筆者もFreenoveさんのスターターキットを購入した関係で、当サイトで扱う部品たちも、ほとんどがFreenoveさんのパックに含まれているものになります。個々に買うよりもお得になるのでおススメです。
Raspberry Pi Pico または Raspberry Pi Pico W 本体
PicoでもPico WでもどちらでもOK。
2023年4月現在、Picoは価格が落ち着いてきました。
赤色LEDと抵抗
Amazonで格安のLEDを眺めていると、それらの仕様が分からないものも多くて回路を組むときに困ります。
LEDは最大定格や順方向電圧が分かるものを買うと失敗しないと思います。
比較的安くて仕様が掲載されているものは以下の商品でした。
抵抗は結構使うのでいろんな種類がそろっているセットで買うと失敗がないです。(一生使いきれない本数かもしれません)
LEDと抵抗がセットになったものもあります。
このLEDと抵抗のセットはAmazonの商品紹介のところにLEDの最大定格などが記載されていて使いやすいですね。
ブレッドボード
ブレッドボードは電子工作界で定番のサンハヤトさんのものが抜き差しがスムーズでオススメです。ひとつは持っておきたい逸品。
ジャンプワイヤ
ジャンプワイヤは最低限オス – オス(両サイドがピンになっているもの)があればOKですが、後々のことを考えるとオス – オス、オス – メス、メス – メスのセットにしておけば守備範囲が広いです。
ピンヘッダ
Pico / Pico Wにピンヘッダが付いていない場合は購入してはんだ付けしておきます。
その他
Pico / Pico Wにはピンヘッダが実装されていないものもあり、このままではブレッドボードに挿せないので、ピンヘッダをはんだ付けするためにも、はんだごてとはんだごて台、はんだを用意しておきましょう。
やはり個々の部品を1からそろえると高いですね……
基本的な考え方
LEDに電圧を印加(電圧を加えること)すれば発光するので、適当なGPIOを出力に設定してLEDにつなげてあげればLチカは完成です。
考え方はシンプルですが、LEDはただ単に電源に接続しただけでは破損してしまうこともあります。
LEDについて
今後LEDを使っていくために、LEDについて簡単に解説します。
極性
LEDには極性(プラス、マイナス)があり、正しい方向に電圧を加えないと発光しません。
一般的に、足の長い方を「アノード」、足の短い方を「カソード」といい、足の長いアノード側に電源のプラス、足の短いカソード側に電源のマイナスを接続します。
電源を逆につないだとしても電流は流れませんが、逆方向にある一定の電圧を超えるとLEDは破損してしまいます。
逆方向に電圧をかけることを逆方向電圧(逆電圧)といい、逆【Reverse】電圧【Voltage】から「\(V_R\)」と表されます。
一般的なLEDでは逆電圧の最大定格が5V程度ですので、LEDに印加する電圧はこれよりも低くしましょう。
順方向電圧\(V_F\)
極性のところで電源を逆につないでも電流が流れないと言いましたが、正しい方向に電圧をかけたとしても、電圧がある一定のラインを超えないとLEDは光りません。
この「ある一定のライン」の電圧のことを「順方向電圧(順電圧)\(V_F\)」と言います。
前向き【Forward】の電圧【Voltage】で\(V_F\)です。
LEDの順電圧は製品によって異なりますが、一般的には次のような値になります。
LEDの色 | 順電圧\(V_F\) |
---|---|
赤、オレンジ、黄色、緑 | 約1.8~2.1V |
白、青 | 約3.2V |
絶対最大定格と順電流\(I_F\)
LEDをはじめ、電子部品には超えてはいけないラインというものがあります。その超えてはいけないラインのことを「絶対最大定格」と言います。先ほど登場した逆電圧\(V_R\)も絶対最大定格です。
\(V_R\)の他に、順方向の電流にも最大定格が存在します。
順方向に流れる電流のことを「順方向電流(順電流)」といい、\(I_F\)を表します。
この\(I_F\)の最大定格を超えて電流を流すと、LEDは煙を上げて破損したりします。
\(I_F\)の最大定格を超えないように電源とLEDの間に抵抗をはさむのがLEDのセオリーです。
\(V_F\)と\(I_F\)と最大定格を知っておけば問題なくLEDを使うことができます!
抵抗値の計算
LEDには絶対最大定格というものがあり、この値を超えて電流を流すとLEDやPicoが破損する恐れがり、それを防ぐために抵抗をはさむのは先ほど説明した通りです。
ではこの抵抗値を計算してみます。
今回使う赤色LEDの絶対定格電流は30mAなので、それ以下になるように回路の途中に抵抗をはさみます。
Pico / Pico WのGPIOから取り出せる電圧は3.3V、赤色LEDの順電圧が約1.8V、印加電流は多くても20mAと仮定すると、オームの法則から、
\begin{eqnarray} R &=& \frac{V_{cc} – V_{F}}{I} \\ &=& \frac{3.3-1.8}{20 \times 10 ^{-3}} \\ &=& 75 \end{eqnarray}となり、75Ω以上の抵抗を使えばだいたいOKってことになります。
私の手元には75Ωの抵抗がありませんので、代わりに220Ωの抵抗を使います。
220Ωの抵抗を使うと、印加電流は
となり、約6.8mAの電流が流れます。
これなら絶対定格電流を超えないので大丈夫そうです。
配線例
数式が出てきてしまったのでムズカシイ感じでしたが、配線例はとてもシンプルです。
これだけだとGPIOの番号が分からないので、PicoとPico Wのピンアウトも記載します。
GPIO16から抵抗を通ってLEDへ行き、そのままGNDに落としているだけです。
実際の回路はこんな感じになります。
あとはプログラムからGPIO16をオン・オフしてやればLチカの完成です。
プログラム
配線例と同様にプログラムもシンプルです。
from machine import Pin
from time import sleep_ms
led = Pin(16, Pin.OUT)
# 1秒ごとにLEDのON/OFFを切り替える
while True:
led.on()
sleep_ms(500)
led.off()
sleep_ms(500)
実行結果
Thonnyの実行ボタンを押すとLチカが始まります。
まとめ
この記事ではLEDの使い方とLチカするプログラムについて解説しました。
LEDの使い方では、電流・電圧・抵抗に関するちょっとした計算が出てきたりして難しく感じる方もいらっしゃったかもしれませんが、大丈夫です、初心者の私でもなんとかできました。
自分で計算したり回路を組んでいくうちに慣れていけると思います。
ラズパイを使えばプログラムから簡単にLチカすることができるので、本当に便利で面白いです。
部品を調達するところが一番のハードルかもしれませんね。
興味がありましたら手順をまねしてLチカしてみてください!
それでは、よいラズパイライフを。