概要
ROS2とpigpioでRaspberry piの制御を行うための準備や情報をまとめたもの.
対象言語はC/C++となる.
DebianにてROS2を使用する場合,sourceからbuild, installが必要なためUbuntuを対象とする.
準備
-
Raspberry Pi 3/4にUbuntuをインストール
- Ubuntu Server 20.04
pigpioインストール
pigpio公式からDL, 公式どおりにインストール.
pigpioを用いたプログラム作成
pigpio公式のpigpio C I/Fを見ながら作ればOK.
基本的には,
- 下記をインクルード
- #include <pigpio.h>
- pigpio C I/Fの関数に関する説明を見ながら作成
- ビルドについて
- オプション
- -Wall -pthread
- リンク
- -lpigpio
- 以下はいらない
- -lrt
- libgccに含まれただかなんだか
- -lrt
- オプション
ROS2でのpigpio利用
プログラム作成に関しては他と同じ.
pigpioで注意すべき点は,ビルドに関する部分.つまりCMakeLists.txtに関係する部分.
以下は関係する部分を抜粋.
CMakeLists.txt
target_compile_options([ターゲット名]
PUBLIC -Wall -pthread
)
target_link_libraries([ターゲット名]
pigpio
)
その他情報
GPIOピンについて
Raspberry Piの場合,チップによるピンの数え方と基板上からみたピンの数え方が違う.pigpioではチップによるピンの数え方をしているので注意.
またチップ上のピンに対する設定などは以下のp.102あたりが役に立つ.
-
BCM2835
- BCM2835であるがraspberry pi 3B/3B+にも使える
GPIOピンの配置図
下記のページにて紹介している.
プルアップ/プルダウンについて
ちゃんと見とこうね.
PC使ったRaspberry Pi開発手順
- PC使ったRaspberry Pi開発手順
-
Raspberry PiでのプログラミングはAtomエディタが便利
- Atomを使用する場合,こっちの方が圧倒的に楽ちん
参考
- pigpio公式
-
githubのpigpio.h
- 細かいところを調べるのに重宝.
-
からあげ Raspberry PiのGPIO制御の決定版 pigpio を試す
- ここでpigpioを知った.
- 腰も砕けよ 膝も折れよ
- Raspberry Pi3でpigpioライブラリを使ってLチカする
- ツール・ラボ 第22回Raspberry PiのGPIO概要