Raspberry Pi3 GPIO 制御をやってみる

 以前買った「PICと楽しむRaspberryPi活用ガイドブック」では、序盤でGPIOを制御する方法の解説とサンプルプログラムが掲載されており、テストに使うボードの作り方やの説明もあります。日本橋共立電子では テストボードのパーツをセットにしたキットや、なんと組み立て完成品も売ってます。

ハンダが出来ない人でもとりあえず完成品を買えば、GPIO制御プログラムで電子機器の制御結果を確認して遊べます。(*^-^*)

f:id:osadamao:20180114140927j:plain

ただ、この書籍はハードに詳しい人が書いたものらしく、ソフト屋の僕には説明足らずの部分が多く、つくり始めるきっかけにはいいですが、これだけでは中途半端な感じがします。

 

なかなか理解できない事が多いのですが、今後の為に整理しておくことにしました。

このボードでスイッチ状態入力に使えるのは

GPIO17(SW3) , GPIO18(SW4) , GPIO27(SW1) ※SW1はPIC経由

LED出力に使えるのは

GPIO2(青) , GPIO3(緑) , GPIO4(赤)

です

 

 

 

#GPIOライブラリの読み込み

import RPi.GPIO as GPIO

from time import sleep

同じようにモジュールを読み込んでいるのになぜか書式が全然違うのはなぜ?

 

 

#GPIO初期化

GPIO.setmode(GPIO.BCM)   #GPIO番号指定の場合

#GPIO.setmode(GPIO.BOARD)   #ピン番号指定の場合

 

#GPIOの不要なワーニングを出さないようにする

GPIO.setwarnings(False)

 

#GPIO2 ポートを出力モードとして設定する

GPIO.setup (2,GPIO.OUT,initial =GPIO.LOW)      #初期状態LOW

#GPIO.setup (2,GPIO.OUT,initial =GPIO.HIGH)     #初期状態HIGH

 

#GPIO17 ポートを入力モードとして設定する

GPIO.setup (17,GPIO.IN,pull_up_down=GPIO.PUD_UP)     #プルアップ抵抗ON

#GPIO.setup (17,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)     #プルダウン抵抗ON

 

 

#GPIOリセット終了

GPIO.cleanup()

 

次はちゃんとLEDを付けたり、スイッチ状態を読み取ったりしてみます。