ラズパイにリレーHATを搭載して動かしてみる。
Keyestudio KS0212
使用するRelay HATはKeyestudio製KS0212。
資料的なものはDropboxに置いてある。
https://fs.keyestudio.com/KS0212
BCMポート番号は4, 22, 6, 26がリレー番号1, 2, 3, 4に対応するが、
このBCMポート番号と言うのが厄介。
Raspberry Pi 3 Model Bのピンアサインはpinoutコマンドで調べられる。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
pi@raspberrypi:~ $ pinout Description : Raspberry Pi 3B rev 1.2 Revision : a22082 SoC : BCM2837 RAM : 1GB Storage : MicroSD USB ports : 4 (of which 0 USB3) Ethernet ports : 1 (100Mbps max. speed) Wi-fi : True Bluetooth : True Camera ports (CSI) : 1 Display ports (DSI): 1 ,--------------------------------. | oooooooooooooooooooo J8 +==== | 1ooooooooooooooooooo | USB | +==== | o1 RUN Pi Model 3B V1.2 | | |D +---+ +==== | |S |SoC| | USB | |I +---+ +==== | |0 C| | | S| +====== | I| |A| | Net | pwr |HDMI| 0| |u| +====== `-| |------| |-----|x|--------' J8: 3V3 (1) (2) 5V GPIO2 (3) (4) 5V GPIO3 (5) (6) GND GPIO4 (7) (8) GPIO14 GND (9) (10) GPIO15 GPIO17 (11) (12) GPIO18 GPIO27 (13) (14) GND GPIO22 (15) (16) GPIO23 3V3 (17) (18) GPIO24 GPIO10 (19) (20) GND GPIO9 (21) (22) GPIO25 GPIO11 (23) (24) GPIO8 GND (25) (26) GPIO7 GPIO0 (27) (28) GPIO1 GPIO5 (29) (30) GND GPIO6 (31) (32) GPIO12 GPIO13 (33) (34) GND GPIO19 (35) (36) GPIO16 GPIO26 (37) (38) GPIO20 GND (39) (40) GPIO21 RUN: RUN (1) GND (2) For further information, please refer to https://pinout.xyz/ |
BCMポート番号と言ってるのは、GPIO**のこと。
Pythonプログラム
PythonでGPIOを動かすにはRPi.GPIOが必要なのでインストール。
ラズパイなので特にユーザ毎に仮想環境作らずに標準インストールするので–break-system-packagesを指定。
|
1 |
> pip3 install RPi.GPIO --break-system-packages |
使用方法は簡単。
GPIOの設定モードを決めて、出力ポートに設定し、True/Falseを切り替えるだけ。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import RPi.GPIO as GPIO # Rasbpberry Pi 3B GPIO設定 GPIO.setmode(GPIO.BOARD) relay_port = [7, 15, 31, 37] for port in relay_port: GPIO.setup(port, GPIO.OUT) # 全Relay ON/OFF for port in relay_port: GPIO.output(port, True) time.sleep(1) GPIO.output(port, False) |
setmodeでGPIO.BOARDではなく、GPIO.BCMとするとKeyestudioのマニュアルから読み替えは不要だけど、ラズパイは結構ピンアサインで見ること多いのでGPIO.BOARDを指定している。