今回はRaspberryPi3B+とサーボモータドライバ(PCA9685)でサーボを動かしてみたいと思います。サーボモータドライバを使用する理由としては、RaspberryPiのGPIOでは正確なPWM制御をすることができずにサーボモータが振動してしまうため、サーボモータドライバを使用して正確なPWMを行いたいからです。

では以下に手順を記載していきます。

PCA9685を動かすのに必要なものをインストール

以下のコマンドを実行してPCA9685を動かすのに必要なものをインストールしていきます。

まずはI2Cのツールをインストール。

次にAdfruitのライブラリをインストール

以上で必要なものは全てインストールすることができました。

I2Cの有効化

ラズパイの設定からI2Cを有効化しておきます。GUIからI2Cを有効にするには以下の手順で行います。
設定→Raspberry Piの設定→インターフェイス→I2Cを「有効」に設定→OK→ラズパイを再起動(念のため)

こちらのサイトが参考になります。
Raspberry PiのI2Cを使って電圧を測定する(2019年3月版)

RaspberryPiとPCA9685を配線する

RaspberryPiとPCA9685を配線していきます。

PCA9685 GND <-> Raspberry Pi GND

PCA9685 VCC <-> Raspberry Pi 3.3V

PCA9685 SDA <-> Raspberry Pi SDA

PCA9685 SCL <-> Raspberry Pi SCL

上記に加えて、サーボモータとACアダプタ(もしくは電池)をつなぐ線と、サーボモータの線を0番のところに差し込む必要があります。こちらのサイトの説明が写真があって分かりやすいです。

https://snapguide.com/guides/bezeri-pi-tosabodoraibanojie-sok/

I2Cの接続確認

この段階でI2Cの接続確認を行います。こちらの結果がうまく行かなければサーボモータは動かすことができません。

以下のコマンドを実行してみます。

結果が以下のように表示されればちゃんとI2Cが認識されています。

以下のように表示されたときは何かしらの手順が失敗しています。

失敗したときはこちらの記事を確認してみてください。

RaspberryPiとPCA9685でサーボモータが動かない原因を探る

サンプルプログラムを動かしてみる

上記までで全ての準備が整いましたのでサンプルプログラムを動かしてみましょう。

全てうまくいっていればサーボが動くと思います。

 

以上、今回はRaspberryPi3B+とサーボモータードライバ(PCA9685)でサーボを動かす方法についてご紹介させていただきました。