前回、LEDとスイッチの回路を検討しましたので、今回は実際の回路の設計とブレッドボードの組み立てを行います。
今回の説明内容
前回はRaspberry PiのGPIOピンに接続するLEDとスイッチの回路を検討しましたので、今回は電子回路図を作成してブレッドボードの組み立てを行います。
今回の説明内容は以下になります。
- 天気表示用の電子回路図を作成する
- 鉄道運行状況表示用の電子回路図を作成する
- スイッチの電子回路図を作成する
- 完成した電子回路図
- 回路を組み立てる
- Raspberry Piに接続してみる
天気表示用の電子回路図を作成する
天気表示用のLEDは「晴れ」「曇り」「雨」「雪」の4種類にしています。4個のLEDは色は違いますが、抵抗値を含めて回路は同じにしますので、今まで検討したLEDを光らせる回路を4個作成するだけになります。あとはどのGPIOピンを使用するかですが、特に意味はありませんが、以下の4本を使用することにします。
左から「晴れ」「曇り」「雨」「雪」としますので、GPIOピンの割り当ては以下のようになります。
ボードピン番号 | GPIOピン番号 | 天気 |
---|---|---|
40 | GPIO21 | 晴れ |
38 | GPIO20 | 曇り |
36 | GPIO16 | 雨 |
32 | GPIO12 | 雪 |
LEDに接続する抵抗は330Ωで統一しましたので、電子回路図としては以下のようになります。
鉄道運行状況表示用の電子回路図を作成する
鉄道運行状況表示用のLEDはフルカラーLEDを使用します。フルカラーLEDは単純に赤、緑、青の3種類のLEDがひとつのLEDに収められています。
3個のLEDということは、1個のLEDはアノードとかソードの2本のリード線がありますので、本来でしたら3個のLEDで6本のリード線が必要になりますが、カソードがまとめられていて、リード線は4本になっています。内部回路図は以下のようになっています。
まだ回路図に慣れていないと難しそうな気もしますが、左側がフルカラーLEDの形状を示したもので、各リード線に番号が振ってあります。右側は内部の回路図ですが、その番号が振られていて対応関係がわかります。
また、どの色なのかは番号に説明が書かれています。例えば、1はPure Green Anodeと書かれていますので、緑色のアノード、という意味になります。
フルカラーLEDを制御するには、GPIOピンは3本必要になりますので、これも特に意味はありませんが、GPIOピンは以下の3本を使用することにします。
フルカラーLEDはピンの並びが決まっています。上の内部回路図では、左から緑、青、赤になっていますので、これにならって、GPIOピンの割り当ては左から緑、青、赤になるように以下のようにします。
ボードピン番号 | GPIOピン番号 | 天気 |
---|---|---|
22 | GPIO25 | 緑 |
18 | GPIO24 | 青 |
16 | GPIO23 | 赤 |
LEDに接続する抵抗は330Ωで統一しましたので、電子回路図としては以下のようになります。
スイッチの電子回路図を作成する
スイッチ回路は前回検討しましたように、Raspberry PiのGPIOピンを間違って設定した場合でも、過電流(定格よりも大きな電流が流れる)を防止するための保護抵抗をつけた回路にします。スイッチの状態を読み取るGPIOピンは、ボードピン番号12番、GPIO18を使用します。
スィッチの電子回路図は以下のようになります。
回路を組み立てる
回路の組み立ては、最初に天気表示用のLED、次に鉄道運行状況表示用のLED、最後にスイッチを取り付けていきます。
第17回の説明で、Raspberry Piの3.3V電源で晴れ用のLED動作確認しましたので、すでに晴れ用のLEDは以下のように取り付け済みです。
この後、「曇り」「雨」「雪」用のLEDは晴れ用のLEDに並べてセットしていくことにします。抵抗とLEDの配置は晴れ用と同じようにしますので、以下のようにセットすることにします。
これらのLEDのアノード側は、Raspberry Piの対応するGPIOピンから以下のように接続することになります。
次にマイナス側、グラウンドへの接続です。Raspberry Piにはグラウンド端子が8本ありますので、まずは天気用LEDの4本は以下のように接続すればOKですよね。
でもこのようにすると配線が多くなってしまいますよね。そこで、ブレッドボードのグラウンド線を使用します。
使い方ですが、まず以下のようにRaspberry Piのグラウンドピンとブレッドボードのグラウンド線を接続します。このように接続すれば、ブレッドボードのグラウンド線はどこに接続してもグラウンド接続できることになります。
このようにすれば、ブレッドボード上でグラウンドに接続したい場合、ブレッドボードのグラウンド線に接続すれば、いちいちRaspberry Piのグラウンドピンに接続する手間がなくなります。それでは、LEDのカソード側をブレッドボードのグラウンドに接続しましょう。この接続は、抵抗のリード線を切断した時に取っておいたリード線がありますよね。これを以下のように加工して、
以下のように接続します。
ところで、Raspberry Piにはグラウンドピンが8本もありますよね。でも上のような使い方をすれば、グラウンド端子は一つあれば十分ですよね。ではなぜ複数あるのか、ちょっと考えてみます。
今回は数mAの電流でLEDを制御しますが、例えばもっと明るくしたくて10mA程度の電流をLEDに流す場合を考えてみます。それぞれのLEDを見た場合は特に問題ありません。一方でグラウンドを流れる電流は各LEDに流れる電流の合計になります(キルヒホッフの第一法則)。各LEDに10mAの電流を流す場合、グラウンドに流れる電流は40mAにもなります。
当然ですが、この40mAの電流はRaspberry Piのグラウンド端子にも流れ込みます。この場合、ワイヤ線が細かったりワイヤ線とRaspberry Piのグラウンド端子の接続が不良だったりすると(それほどではありませんが)、発熱することがあります。
このような状況を避けるために、グラウンド線を複数接続することがあります。
Raspberry Piのグラウンド端子は8個用意されていますので、今後ご自分で何か電子回路を設計する場合に検討するようにしてみてください。
なお今回はグラウンド端子は1本で設計します。各LEDに流れる電流は数mAで、通常は天気用のLEDは同時点灯しませんし、フルカラーLEDも多いときで2色同時点灯程度です。ということで、通常は5mA〜7mA程度だと思いますので、特に問題はありません。
またデータ取得時に全点灯する予定ですが、その場合でも10mA〜15mA程度の数秒間の点灯ですので、特に問題ないでしょう。
それでは続いて鉄道運行状況表示用のLEDも接続します。フルカラーLEDはリード線が4本あり、長さの違いで区別されています。一番長いリード線が共通カソード、つまりグラウンド側接続となります。
このままですと、ブレッドボードのセットした時、かなりリード線が長くなりますのでカットします。ただ長さを同じにカットするとどのリード線がどの役割なのかわからなくなりますので、自分の場合はペンで共通カソードに印をつけました。
フルカラーLEDは4本のリード線がありますので、以下のようにセットしてアノード側に330オームの抵抗をつけました。カソードをブレッドボードのグラウンドに接続するのも忘れないようにしましょう。
最後にスイッチをセットします。今回はタクトスイッチを使用しますが、内部の接続状況を確認しておきます。スイッチの構造をよく見ると、リード線が出ている辺があります。この辺を上下にすると、スイッチオフの場合は以下のような内部接続になっています。
スイッチボタンを押すと以下のように接続されます。
このスイッチの接続状態と上で設計した回路図を元にブレッドボードに回路を組み立てます。今回は練習としてご自分で接続方法を考えてみてください。部品点数が3つありますので、答えは何通りもあります。あくまで回路図通りに電気的に接続されていればOKですので(相当変なことをしない限り)、回路を組み立てる練習してみてください。自分は以下のようにセットしました。
これで完成しました。お疲れさまでした!
以下は実際のブレッドボードの画像です。
次回からRaspberry PiからLEDの点滅制御をしてみます。
更新履歴
日付 | 内容 |
---|---|
2015.11.29 | 新規投稿 |
2019.5.6 | 誤記訂正 |
はじめまして。コメントどうもありがとうございました!
フルカラーLEDですが、確かにカソードコモンとアノードコモンがあるので間違えやすいですよね。すぐに時間が取れないのですが、週末あたりに記事を更新しておこうと思います。
なお、買い直すのももったいないですので、アノードコモンでトライされてみてはいかがでしょうか。アノードコモンは回路としてはシンクでの接続、Raspberry Piの制御は0にすればON、1にすればONになります。もし分からないようでしたら、コメント欄かお問い合わせフォームでお問い合わせいただければ回路図、プログラムをどうすればよいかご連絡できると思います。
また、他の記事内容でも不明点ありましたらお問い合わせいただければと思います。
返信ありがとうございます^^
今日は休みだったのでカソードコモンのフルカラーLEDを買ってきて動作を確認しました。せっかくなのでアノードコモンのLEDも回路とプログラムを見直して、動作テストしたいと思います。どうもありがとうございました、これからもどうぞよろしくお願いいたします^^
カソードコモンのLEDも購入されたんですね。
ということであれば、最初は記事に説明した通りに動作させてみて、ギリギリスペースがありますので、アノードコモンのLEDもつけて、気温予測か何か情報を表示してみる、というのも練習になると思いますよ。
この後の記事ですが、プログラミング自体の説明はしていませんので、プログラム経験があまりない場合、ちょっと難しい内容になるかもしれません。分からないことありましたらお気軽にコメントかお問い合わせフォームでご連絡いただければと思います。
こんばんは。Rsapberry Piとブレッドボードをつなぐジャンパーワイヤーが足りなくて暫く休んでいました^^;
アノードコモンのフルカラーLEDをシンクで接続して、テストプログラムも修正してどちらでも動作する事を確認できました。アドバイスありがとうございました。
今後の記事も楽しみにしております^^
こんにちは。
書き込みどうもありがとうございます!
アノードコモンで接続、テストプログラムも修正されて動作確認できた、ということでよかったです! 電子回路の考え方など、このような作業を通じて慣れていただければと思います。
ところで、最終的なプログラムはカソードコモンで書いています。アノードコモンに修正する際、わからないことありましたらまたコメントいただければと思います。
あとは最後に補足の記事を書くので、そこでアノードコモンの場合のプログラムの変更方法など書いてみようと思います。
はじめまして。昨年末にRaspberry Piを購入して、こちらを参考に勉強しています。他のサイトなどと比べてとてもわかりやすい内容なので、助かっています。フルカラーLEDですが、こちらではカソード共通(カソードコモン)を使われていますが、アノード共通(アノードコモン)のフルカラーLEDもあるので、その注記もされてはいかがでしょうか。実は私自身が間違って買ってしまったので^^;
今後も楽しみにしていますので、どうぞよろしくお願いいたします。