2015年11月1日日曜日

RaspberryPi で Lチカをやってみた

概要

今更ながらやってみました
簡単に紹介します

環境

  • Raspberry Pi Type B Single Board Computer 512MB
  • 各種DIYキット
    • ブレッドボード
    • ジャンパ (オス - メス) 2 本
    • LED (緑色)

配線

完成図は以下の通りです
enter image description here

enter image description here

まず配線方法についてそれぞれ説明します
以下の作業は電源 ON でも OFF でもどちらでも OK です

RaspberryPi 側の配線

こちらは超簡単です
GPIO の論理 PIN 番号の 6 番(GND), 18番 (GPIO) にジャンパンのメスを接続します
※物理 PIN 番号だと 6 番, 12 番になります
あとはオス側はブレッドボードの同列に適当に差し込んでおけばとりあえず OK です
wiring_rpi.png

ブレッドボード側の配線

こっちが少しだけ大変です
wiring_bread_board.png

まず RaspberryPi (RPi) の GND の同列上に LED のマイナス側を刺します
LED には +/- がありプラスのほうが足が少し長いです
なので短い方を GND の列と合わせてブレッドボードに刺します

次に LED のプラス側の下に抵抗を刺します
今回用意した抵抗は 220 オームの抵抗 (色 : 赤赤茶金) を用意しました
200 から 300 オームくらいの抵抗であれば OK です
1Kオームくらいの抵抗をつなぐと抵抗が強すぎるせいで LED が点灯しないので注意してください

そして抵抗のもう片方の列上に RPi に接続されている GPIO から出いているジャンパを接続します

これで L チカのための配線自体は完了です

信号の送信

たぶんこの状態だと RPi の電源が入っていてもまだ LED は光っていないと思います
理由は GPIO 18 番にまだ電気が流れていないためでその制御を RPi 上でコマンドで制御します

まず GPIO 18 番を使えるようにします

  • sudo echo 18 > /sys/class/gpio/export

次に GPIO 18 番を信号の「出力」として使うことを設定します

  • sudo echo out > /sys/class/gpio/gpio18/direction

あとは、実際に信号を送信します

  • sudo echo 1 > /sys/class/gpio/gpio18/value

すると LED がピカっと光るとおもいます
最後の echo で 0 を送信すると LED が消灯します

最後に

基本はググれば L チカ関係のネタはたくさんでてくると思います

今回自分がはまったポイントは 2 つです

  • 抵抗の値が大きすぎて通電はしていたが LED が光らなかった
  • RPi 上でコマンドで制御する GPIO の番号は物理番号ではなく論理番号を使う

でした
どちらもかなり基本的なところでつまづきました
これを経験して感じたのは

  • 抵抗のオーム数は色からわかるようにしておくとよい
  • GPIO はある程度配置と役割を覚えておいたほうがよい

ということでした
次はセンサーやモーターを GPIO で制御してみたいです

おまけ: Pythonスクリプトで制御

https://github.com/kakakikikeke/python-pybluez-sample/commit/0e69f3a2f606630126b37f722fa185dc244c956e

0 件のコメント:

コメントを投稿