ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

IoTするための、Raspberry PiでのGPIOの操作についてのメモ

2016-08-17 15:20:56 | Weblog
続いてRaspberry Piネタ
IoTでRaspberryPiにセンサーつなご~というとき、
Raspberry `PiとセンサーをGPIOでつなごう!ということになる。
その場合、
/sys/class/gpioの下にあるファイルを操作することになるけど

そのときのメモ

■どこにつなぐ?


GPIO: MODELS A+, B+, RASPBERRY PI 2 B AND RASPBERRY PI 3 B
https://www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi2/README.md

に写真が載ってるけど、はっきりしないので、つけたし。
その一番上の写真、右側が切れている。つまり

 左側がはじ(だから、角がまるい)。
 右側にUSBがつく(けど写真では切れている)

これが、その下にある番号なんだけど、バージョンによって、番号が違う。

Raspberry piのコンソールで実行したコマンド

 gpio readall

で表示されるBCMの番号が、gpio○番で指定する番号。
つまり、そこの図で、上側6番目に「12」とあるけど、それはgpio readall
のphisicalの番号。/sys/class/gpio/gpio○の○は、BCMの番号(つまり、12
のところをたどっていくと、BCMは18なので、gpio18となる)

■下準備

/sys/class/gpioの下には、そのままには、ファイルがない

そこで、ファイルを作る。

・まず、exportする。GPIO18番を使う場合

echo 18 > /sys/class/gpio/export

・次に、入力か出力か指定する。入力はin,出力はout

echo in > /sys/class/gpio/gpio18/direction

・valueの値が書き換わる/書き換える

■配線

・inの場合は、一方の線が3.3V 他方の線がGPIO(入力)にいくようにつなぐ
・outの場合は、一方がGND、他方がGPIO(出力)にいくようにつなぐ

■アクセス

・ /sys/class/gpio/gpio18/valueの値を
   入力の場合は参照
   出力の場合は、書き出し
 を行う。0がLOW、1がHIGH

この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Raspberry Pi2のコンポジット... | トップ | 仮想テーブルによる、SQLite... »
最新の画像もっと見る

Weblog」カテゴリの最新記事