#最初に投稿するときに検証まで済ませておけ
まっことその通りであります。前の記事
##1.shellでGPIOに指示を出す
###検証用ボード
まずはGPIOに指令が出せるのか。やってみましょう。
今回はラズパイマガジン2019年6月号のてんこ盛りボードを使うので、あしからず。一応写真載せときます。
###操作
shell、つまりターミナル上で操作します。今回はちょうどいいところにRGB-LEDが乗っかってるので、いじってみましょうか。なんでもいいんですが、赤く光らせてみます。17番ピンがRにつながってるぽいのでそこに出力してみます。
gpio -g mode 17 out
gpio -g write 17 1
これでLEDが輝いているはずです。
gpio -g write 17 0
gpio -g mode 17 down
使った後はしっかり片付けておきましょう。
これでデジタル出力が使えることは確認できました。
##2.Lチカする
要するにプログラムを書く。調べていくうちにpythonモジュールのwiringPiがかなりArduinoライクに書けるっぽくてそっちのほうがとっつきやすいかとも思ったけどRPi.GPIOでやっていきます。やるったらやるんです。
#led_blink.py
import sys
import RPi.GPIO as GPIO
import time
def main():
# pin setup
GPIO.setmode(GPIO.BCM)
GPIO.setup(17,GPIO.OUT)
# main loop
while(1):
GPIO.output(17,1) # turn pin 17 on
time.sleep(1) # wait 1 sec
GPIO.output(17,0) # turn pin 17 off
time.sleep(1) # wait 1 sec
if __name__ == "__main__":
try:
main()
except KeyboardInterrupt:
print("program closing...")
GPIO.cleanup() # close all port
sys.exit()
これで1秒おきにLEDが点滅するプログラムができました。Ctrl-c
でプログラムが止まるようにもなっています。
一応解説すると
GPIO.setup(17,GPIO.OUT)
で17番ピンを出力に設定。
その後while
ループの中で
GPIO.output(17,1)
GPIO.output(17,0)
を繰り返すことでLEDの点滅を行っています。
注意しなければならないのが、RPiのiは小文字です。
これで一回躓きました(核爆)
以上で、Ubuntu18.04でもRaspberryPiのGPIOが使えるようになったかと思います。
以降は自分で調べていっていただけると幸いです。
また何か書きたくなったら追記しますね。
参考にしたサイト
WiringPi gpio コマンドの使い方
wiringPiの使い方
Raspberry PiでPythonのRPi.GPIOを使ってLチカする