ラズペリーパイでLEDを制御するための回路

ブレッドボードを使いLEDを点灯する準備が整いました。ブレッドボードの使い方はこちらを参照してください。前回はただ点灯しただけで制御はできていませんでした。今回は制御を行いますよ😊

まずはWiring Piを導入しましょう。

Wiring Piって何?

WiringPiはGordon Hendersonさんが開発したRaspberry PiのGPIOを簡単に制御できるライブラリです。C言語やPython/PHP等でも動かすことができます。皆さんはラズベリーパイのOSをラズビアンにしたと思いますが、その場合は”ターミナル”から簡単に制御することができます。

Wiring Piのインストール方法

Wiring Piをインストール方法をご紹介します。お手持ちのラズベリーパイがインターネットにつながっている必要があります。

インストール手順です。

まずはインストールお疲れ様です🙇

LED点灯を制御しよう。

Wiring Piのインストールが終わったのでWiring Piを使って制御を行います。こちらで紹介したGPIOポートを使います。GPIOを出力の設定にしてON/OFFを切り替えることでLEDの点灯を制御します。

ブレッドボードを使って回路を作りましょう。

LED回路では制限抵抗を使用します。制限抵抗ってなんでしょうか?

制限抵抗とは?

LEDは大きな電流が流れると壊れてしまいます。もしLEDを電源に直接つないでしまうとLEDが壊れてしまう可能性があります。最悪のケースでは接続しているラズベリーパイも壊れてしまいます。

制限抵抗はLEDを流れる電流を制限するものです。制限抵抗により流れる電流を決めることができます。制限抵抗を用いた回路はラズベリーパイのGPIOとGND(グランド)の間にLEDと制限抵抗をつなげたものになります。

ラズペリーパイでLEDを制御するための回路

例えばGPIO2は3.3Vの出力が出ます。この電圧がLEDと電流制限抵抗により電圧降下し、最終的に0VのGNDに接続されます。LEDの電圧降下はVfと言います。vfはスペックシートに記載されているので確認しましょう。

値が決まっていないのが制限抵抗の値です。制限抵抗にはGPIOの電圧3.3VからLEDの電圧降下Vfを引いた電圧が加わります。例えばVfが2.5Vだとすると、3.3 – 2.5 = 0.8Vの電圧がかかることになります。電流は制限抵抗の値に決まります。例えば100Ωの抵抗だと0.8 * 1000mV / 100ohm = 8mAの電流が流れるようになります。

このように抵抗の値によって回路全体を流れる電流が決まるので制限抵抗と呼んでいます。

ブレッドボードを使って配線してみよう。

それではブレッドボードで簡単な回路を作ってみましょう。抵抗は先ほどご紹介した要領で求めてください。
ラズベリーパイでLEDを制御する様子。ブレッドボードで実験。
GPIO2から抵抗に端子をジャンパーでつなぎ、抵抗からLED、LEDのマイナス極からラズペリーパイのGNDに戻しています。これだけで済むのでブレッドボードは本当に便利です💡

私は470ohmで動かしてみましたが(さすがに電流低すぎ?)、ちゃんと点灯してくれているようです😊

コマンドターミナルで制御してみる

それでは先ほどインストールしたWiring Piで稼働してみます。Wring Piのインストールの時に実はgpio ユーティリティーというものも一緒にインストールされています。それを使ってコントロールしてみましょう。コマンドターミナルを使います。sshでログインしましょう。
sshでのログインの仕方はこちらでご紹介しました。

output設定を行う。

GPIOはgeneral purposeなので、inputにもoutputにもなります。今回は電流を流すための設定をするのでoutputですね。outputで使うのでoutputの設定をしましょう。
ターミナルコマンドを開き、

-g を指定することでGPIOのポート番号で制御することを意味します。modeはoutput/inputの設定をする時の引数で、今回はGPIO2が対象なので、2をmodeの後に指定しているんですね。outはoutputで入力の時はinを指定します。

信号を出力しよう。

それでは準備が整ったので出力設定をします。コマンドラインから下記を入力してみてください。

write引数で実際に設定を変えます。2は制御しているGPIOの番号ですね。1が設定をonにしています。つまりGPIOのonである1は、3.3Vですので、このコマンドにより3.3VがGPIOから出力されていることになります。
ラズペリーパイでLEDを制御している様子。GPIOを使用。

次にwriteで0を設定してみましょう。LEDが消えるのを確認できたと思います。

まとめ

ラズペリーパイをつかってLEDのON/OFFを制御してみました。以外と簡単にできたのではと思います。次は簡単なプログラムをご紹介しますね。

記事を読んでいただいてありがとうございます。この記事がいいなと思ったら下記のSNSボタンのクリックをお願いします。励みになります😁