Raspberry pi 2でROS(indigo)を使う(おしまい)
今回はubuntu 14.04でRaspberry Pi 2のGPIOとI2Cを使えるようにします。ROSでLEDランプやモーターなどのアクセサリの制御や、i2c接続のセンサやADコンバータを使ったデータ収集などが出来るようなります。
まずGPIOです。pipでRPi.GPIOをインストールするだけです。
$ sudo pip install RPi.GPIO
写真のようにGPIO11にLEDを接続してLED点滅プログラムでテストします。
テストに使ったコードはこれです。
#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(11, GPIO.OUT)
while True:
GPIO.output(11, True)
time.sleep(0.1)
GPIO.output(11, False)
time.sleep(0.1)
GPIO.cleanup()
一般的なLチカコードですが、注意するのはGPIO.setmodeです。Raspianで良く見かけるコードはGPIO.setmode(GPIO.BOARD)となっていますが、ubuntuではGPIO.setmode(GPIO.BCM)にしないとダメです。もちろん実行時にはsudoが必要です。
次はI2Cです。
最初に/etc/modulesを開いて編集します。
$ sudo nano /etc/modules
コメントが入っているダケですので、下記2行を追加します。
i2c-bcm2708
i2c-dev
次にi2cの状態チェックなどができるi2c-toolsをインストールします。
$ sudo apt-get install i2c-tools
さらに自分(hanaokacyan)をi2cデバイスにアクセスできるグループに追加します。
$ sudo adduser hanaokacyan i2c
仕上げに、pythonでi2cを使うためのライブラリを下記でインストールします。
$ sudo apt-get install python-smbus
これで準備OK。rebootします。
再ログイン後、手持ちのi2cデバイスがあれば、接続テストをしてみます。特に今使う予定がなければやらなくてもよいです。
下記コマンドでデバイスが見つかるかどうか調べます。i2cグループに入っているのでsudoなしでいけるはずです。
$ i2cdetect -y 1
これは接続されているi2cデバイスのアドレスを表示するものです。このモジュールの場合は下記のように表示されます。
これはi2cアドレス3eにデバイスがあるということです。これでI/Oの設定もおしまい、めでたくRaspberry Pi 2でROSが使えるようになりました。ROSのテストは改めて投稿します。
« Raspberry pi 2でROS(indigo)を使う(その7) | トップページ | 新しいturtlebotコンパチ機 »
「ROSさんお手やわらかに」カテゴリの記事
- 3Dプリンターで作る簡単turtlebot(おしまい)(2017.01.07)
- 3Dプリンターで作る簡単turtlebot(raspberry pi3の取り付け)(2017.01.03)
- 3Dプリンターで作る簡単turtlebot(kinectの取り付け)(2017.01.02)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て2)(2016.12.29)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て1)(2016.12.25)
「ラズパイでROS」カテゴリの記事
- 3Dプリンターで作る簡単turtlebot(おしまい)(2017.01.07)
- 3Dプリンターで作る簡単turtlebot(raspberry pi3の取り付け)(2017.01.03)
- 3Dプリンターで作る簡単turtlebot(kinectの取り付け)(2017.01.02)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て2)(2016.12.29)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て1)(2016.12.25)
« Raspberry pi 2でROS(indigo)を使う(その7) | トップページ | 新しいturtlebotコンパチ機 »
コメント