RPi.GPIOとpigpioとの書き方の違い

ラズパイのライブラリによる書き方の違いを比べてみた。比べるのはRPi,GPIOとpigpioである。

LEDの点滅を繰り返すプログラムの場合を書き方の順に並べてみた。

RPi.GPIOについては https://kurafuto.homeip.net/2021/01/27/raspi/

その他のライブラリについては、https://www.fabshop.jp/%E3%80%90-%E7%AC%AC38%E5%9B%9E-%E3%80%91gpio%E5%88%B6%E5%BE%A1%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%AE%E3%81%BE%E3%81%A8%E3%82%81/

pigpiod をインストールするには

$ sudo apt install pigpiod

モジュールもインストールする必要があります。

$ sudo apt install python3-pip

$ sudo pip3 install pigpio

RPi.GPIOpigpio
特色OS標準搭載。だから特別の準備がいならない。 ・pigpiodの常駐が必要  
(sudo systemctl start[enable] pigpiod)
ライブラリーのインポートimport RPi.GPIOimport pigpio
物理ピン番号を使うかGPIOピン番号を使うか物理ピン番号を使う場合  
RPi.GPIO.setmode(GPIO.BOARD)
GPIO番号を使う場合 RPi.GPIO.setmode(GPIO.BCM)
その上で LED_PIN=11(物理ピン番号で指定した場合)
GPIO番号にしか対応できない   LED_PIN = 17(GPIO番号で指定)
省略形の設定GPIO= RPi.GPIOpi=pigpio.pi()
出力か入力か?の指定GPIO.setup(LED_pin.GPIO.OUT)pi.set_mode(LED_pin.OUTPUT)
導通 (HIGHまたは 1)GPIO.output(LED_pin,GPIO.HIGH)pi.write(LED_pin.pigpio.HIGH)
消灯(LOWまたは0)GPIO.output(LED_pin,GPIO.LOW)pi.write(LED_pin,pigpio.LOW)
キーボードからの入力を無視するexcept keyboardInterrupt:                                pass同左
ポートの開放GPIO.cleanup()pi.stop()

コメント

タイトルとURLをコピーしました