桜のはなびらどっとねっとロゴ

桜のはなびらどっとねっと

Raspberry Pi 2 でGPIO

この記事は1年以上前に投稿された記事です。 この警告表示について

IMG_4452_20150506
先日購入しましたRaspberry Pi 2ですが。今回はとりあえず何か制御してみようという事で、一番簡単な方法でGPIOにてLEDのオンオフをしてみたいと思います。

 

準備するモノ

・RaspberryPi2
・最低限キーボード
・何らかのLED(私は自作パーツとして売られている電源ランプ用のLEDを使用)

説明

RaspberryPiからは制御に使えるGPIOピンが出ています。
そもそもGPIOとはなんぞや?と。簡単に説明すると「汎用入出力端子」であって、ソフトウェアによって入力にも出力にも切り替える事が出来て、オンとオフの切り替えが出来る端子です。

例えばスイッチを押したら何か処理をしたり、LEDやモーターなどを光らせたり出来ます。
ラズパイのGPIOピンは3.3Vの電源ですので青色LEDならそのままでもOKですね(本当は抵抗入れた方が良いけど)ただし、あまり大きな電流を流せるものでもないので、大電流回路を制御しようとすると間に制御回路が必要になってきます。

そこで今回はとりあえず使い方を見てみようという事で一番簡単にできるLEDのオンオフをしてみます。

ちなみにラズパイのピン配列はこんな感じらしいです。
gpoio

2015年6月7日:GPIOポートの画像を更新

赤色で示したピンが電源出力で青色がGPIOピン、クロがGNDです。この青色のピント黒色のピンの間にLEDやスイッチを繋ぐ事でI/O制御が可能です。今回はGNDの隣にあるGPIO 18番ポート(12番ピン)を使って制御しました。
ちなみに白色のピンは何やらデバッグ用のピンらしいので何も接続しないでください。

 

【前準備】

LEDのプラス側を基板上の12番ピンに、マイナス側を14番ピンにそれぞれ接続する。
RaspberryPiの電源を入れログインする。

1.[echo 18 > /sys/class/gpio/export]と入力してエンター
1

2.[ls /sys/class/gpio/]と入力して「gpio18という項目が出来ている事を確認」
2

3.[cd /sys/class/gpio/gpio18/]と入力してディレクトリを移動する。
(直接 /sys/class/gpio/gpio18/○○ で操作しても良いがコマンドが長くなるので)
4

4.[echo out > direction]と入力してポートを出力モードに切り替える。
(3を実行しなかった場合は echo out > /sys/class/gpio/gpio18/direction )
5

これでポートの設定が終わった。
今この状態では信号は出力されていないのでLEDは光っていない。

IMG_4456_20150506

[echo 1 > value]とコマンドを実行するとLEDが点灯する。
6
(上の3をしていない場合は echo 1 > /sys/class/gpio/gpio18/value )

IMG_4460_20150506

echo の次の1を0にすると消灯する。
7

IMG_4456_20150506

 

以上。最も簡単なGPIOの制御方法でした。
この方法では本当に簡単なGPIOしか出来ないし、コマンドも長いので実用には向きませんが。OSに標準で組み込まれているので何も準備せずに手軽に楽しむ事が出来ます。

もっと本格的な制御は追加ソフトウェアをインストールしてC言語や他のスクリプト言語を使用して行いますが。とりあえずのオンオフはこの方法で出来ます。

ちなみに今回使用したポート18番はPWM制御が利用出来ますので。サーボモーター制御やLEDの調光も可能です。

“Raspberry Pi 2 でGPIO” への2件のフィードバック

  1. […] まず制御用のRSとリセットは今までどおりwiringPiを用いて制御します。 そしてSPIも一応wiringPiに制御用ライブラリがありますが、何故かそのライブラリが使えなかったのと、Piを起動するたびに下準備が必要なので今回は低水準入出力命令系を用いて直接叩いてやります。なんか難しそうに聞こえますが、やっていることはGPIO制御初回でGPIOのファイルを書き換えてGPIOを制御した方法とそんなに変わりません。 […]

  2. […] 前回Raspberry PiのGPIO制御を行いましたが、今回はRaspberry Piに標準で用意されているPWM制御機能を使用してみたいと思います。 […]

コメントを残す

メールアドレスが公開されることはありません。