Raspberry Piにリモート接続できるようになってからは念願の電子工作的なものに手を出しはじめました。
電子工作なんて中学校でやったハンダ付け以来なので、Raspberry piクックブックを読んだりネットで調べながら試行錯誤しております。
ほぼゼロからのスタートなので色々まとめておきたいコトはあるんですが、ひとまず置いといて電子工作の第一歩、LEDチカチカ(通称Lチカ)をRaspberry Piでやってみます。
RPi.GPIOのインストール
Raspberry Piには外部の電子回路を制御するための汎用入出力コネクタ(GPIO)があります。
このGPIOをPythonで使うためにRPi.GPIOというライブラリをインストールします。
sudo apt-get install python-dev sudo apt-get install python-rpi.gpio
ちなみに、もちろんGPIO自体はLinuxコマンドやC言語、Rubyなんかでも操作出来ます。
が、わたしはPythonを勉強したいと思ってアレコレやってるうちにこーゆー方向に流れてきたのでPythonで弄りたいと思いますw
実体配線図
fritzingという回路図を作成するソフトを使わせて貰いました。
基本的なパーツ以外にもRaspberry PiやArduinoが最初から登録されてるのでカンタンに描けます。
慣れればもっと見やすく描けるはず!
Python スクリプト
管理者権限で対話型シェル(ipython)を起動して
sudo ipython
こんな感じでスクリプトを流してみます。
import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) # GPIOピンを設定 led_pin = 2 yellow_pin = 10 green_pin = 19 pin_list = [led_pin, yellow_pin, green_pin] # 出力に設定 GPIO.setup(pin_list, GPIO.OUT) # 全て点灯 GPIO.output(pin_list, GPIO.HIGH) # 全て消灯 GPIO.output(pin_list, GPIO.LOW) # 赤→黄→緑の順に点滅 from time import sleep for loop in range(10): for pin in pin_list: GPIO.output(pin, GPIO.HIGH) sleep(1) GPIO.output(pin, GPIO.LOW) sleep(1) # クリーンアップ GPIO.cleanup()
GPIOを出力として使う場合はこんな感じでサクッと出来ちゃいました。(外部からの入力をGPIOで受ける時はもう少し工夫が必要です。)
RPi.GPIOの使い方についてはもう少し勉強してからまとめてみようと思います。
コメント