1. aryoa

    Posted

    aryoa
Changes in title
+Raspberry PiでLEDの点灯
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,107 @@
+Raspberry PiでLEDを点灯させるまでの手順メモ
+
+# 用意するもの
+1. Raspberry Pi 2 Model B(セットアップ済みのもの)
+2. 330Ωの抵抗 1本
+3. 赤色LED 1個
+4. ブレッドボード
+5. ブレッドボード用ジャンパーワイヤ(オス-メス) 2本
+
+Raspberry Pi 2以外は、[秋月電子通商](http://akizukidenshi.com/catalog/default.aspx)で購入した。
+(2〜5は、送料別で計800円だった)
+
+![image.jpg](https://qiita-image-store.s3.amazonaws.com/0/97314/4a75af4e-c857-21c9-497a-ad55715d8b42.jpeg)
+
+# GPIOの配置の確認
+
+回路を作成する前に、GPIOの配置について確認しておく。
+
+GPIOピンの構成は[公式サイト](https://www.raspberrypi.org/documentation/hardware/raspberrypi/schematics/Raspberry-Pi-B-Plus-V1.2-Schematics.pdf)に記載されていた。
+![スクリーンショット 2015-10-21 19.02.54.png](https://qiita-image-store.s3.amazonaws.com/0/97314/b0c10033-456b-c470-21ef-986b07126062.png)
+
+また、[公式サイト](https://www.raspberrypi.org/documentation/usage/gpio/README.md)にピンの配置が色付けされているものがあった。
+**GPIO番号とピン番号は異なるので注意**
+(下図はピン番号で表記したもの。GPIO番号での表記したものもリンク先にある)
+![スクリーンショット 2015-10-21 19.12.33.png](https://qiita-image-store.s3.amazonaws.com/0/97314/a489b52d-cad2-77ec-fcbe-8f777aa5343e.png)
+
+
+# 回路を作成
+
+以下の通りに回路を作成し、Raspberry Piと接続する。
+
+【ブレッドボード】
+抵抗: b4-b8
+LED: c8-c9
+c8にプラス(端子の長い方)接続
+
+【ブレッドボードとRaspberry Pi】
+ジャンパーワイヤ:a4 - ピン番号22(GPIO 25)
+ジャンパーワイヤ:a9 - ピン番号6
+
+
+端子をカットしていないので不格好。。
+![image-4.jpg](https://qiita-image-store.s3.amazonaws.com/0/97314/d98af979-3a39-67a1-64d8-5c9906f402e3.jpeg)
+
+
+# Raspberry PiでLEDをチカチカさせる
+
+LEDを点灯させるためのコードをPythonで書いてみる。
+
+```py:/home/pi/develop/raspberry_pi/led_high.py
+import RPi.GPIO as GPIO
+
+GPIO.setmode(GPIO.BCM) # ピン番号で指定
+GPIO.setup(25, GPIO.OUT) # GPIOを出力として使用する
+
+GPIO.output(25, GPIO.HIGH) # GPIO 25の出力をHIGHに設定する(LEDがHIGHにすることで点灯)
+```
+
+```py:/home/pi/develop/raspberry_pi/led_low.py
+import RPi.GPIO as GPIO
+
+GPIO.setmode(GPIO.BCM) # ピン番号で指定
+GPIO.setup(25, GPIO.OUT) # GPIOを出力として使用する
+
+GPIO.output(25, GPIO.LOW) # GPIO 25の出力をLOWに設定する(LEDがHIGHにすることで点灯)
+```
+
+GPIOを指定するときに、GPIO番号とピン番号で指定することができる。
+
+* GPIO番号で指定する場合
+```
+GPIO.setmode(GPIO.BCM)
+```
+* ピン番号で指定する場合
+```
+GPIO.setmode(GPIO.BOARD)
+```
+
+# 実行
+
+LEDを点灯させる。
+
+```sh:ターミナル
+$ sudo python led_high.py
+````
+
+LEDを消灯させる。
+
+```sh:ターミナル
+$ sudo python led_low.py
+led_low.py:4: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
+ GPIO.setup(25, GPIO.OUT)
+````
+LEDは消えたが、警告がでる。
+
+この警告は、"GPIO 25を出力に設定しようとしているが、すでに使用済み"と言っている。
+プログラム終了時に、以下のように設定の解除を行う必要がある。
+
+```
+GPIO.cleanup()
+```
+
+
+
+
+
+