機材の準備
CHIRIMEN
microUSBケーブル
microHDMI-HDMIケーブル
ACアダプタ
HDMIディスプレイ
サーボモータ
サーボドライバ
ルーホール用ジャンパワイヤ適量
サーボモータとは?
サーボモータとは、回転位置を制御することができるモータで、ロボットの関節部分などに用いられることが多い。
回転位置の検出器付きのモーターで、フィードバック制御されるものが一般的。
サーボモータ - Wikipedia
サーボドライバ
サーボモータはPWM信号で制御されることが一般的。PWM制御とは電源オン/オフのパルス間隔を変化させることで制御を行う方式である。
CHIRIMENからPWM信号を出力するために、I2Cインターフェースを持つサーボドライバを使用する。
サーボドライバはI2Cの信号を受けて、PWM信号によってサーボモータを制御する。
MMMDB - PWM制御
サーボモータサンプルアプリの実行
サーボモータサンプルアプリの読み込み
サーボモータ回路の配線
アプリ実行
サーボモータサンプルアプリの読み込み
サーボモータサンプルアプリ
をダウンロードして、任意のディレクトリに展開する。
Web IDE左上から「パッケージ型アプリを開く」からダウンロードしたボタンサンプルアプリを読み込む。
サーボモータ回路の配線
配線図に従ってサーボモータ、サーボドライバを接続する。接続にはスルーホール用ジャンパ線を用いる。
CHIRIMENのI2C0_SDA(CN2-12)、I2C0_SCL(CN2-11)とサーボドライバのSDA、SCLを接続する。
CHIRIMENのGND(CN2-1)、VCC(CN2-18)とサーボドライバのGND、VCCを接続する。
サーボドライバのV+(モータ用の電源入力)とVCCを接続する。
サーボモータのPWM、V+、GNDとサーボドライバのPWM、V+、GNDを接続する。
アプリ実行
配線が正しいことを確認し、CHIRIMENとPCを接続する。
アプリをインストールする。
正しく動作すればサーボモータが回転し始めることが確認できる。
プログラムの解説
ライブラリの読み込み
I2Cの初期化とポートオープン
サーボドライバの初期化
サーボモータの制御
ライブラリの読み込み
I2Cのセンサと同様、サーボモータもライブラリを用いて制御を行う。
該当コード:
ライブラリの読み込み
I2Cの初期化とポートオープン
I2Cセンサと同様に、サーボドライバの制御するためにI2Cの初期化処理とポートオープンの処理を行う。
該当コード:
I2Cの初期化とポートオープン
サーボドライバの初期化
サーボドライバによりサーボモータを制御するために、サーボドライバの初期化処理を行う。
該当コード:
サーボドライバの初期化
PCA9685.init(<I2Cポートオブジェクト>,<デバイスアドレス>)でサーボドライバの初期化を行うことができる。
サーボドライバのデバイスアドレスは0x40(初期設定)を用いる。
サーボモータの制御
サーボモータの制御を行う。
該当コード:
サーボモータの制御
PCA9685.setServo(<I2Cポートオブジェクト>,<デバイスアドレス>,<サーボモータのID>,<サーボモータの角度>)でサーボモータを制御することができる。
<サーボモータのID>でサーボドライバに接続されたどのサーボモータを動かすかを指定する。0〜15の整数で指定する。
<サーボモータの角度>で指定した角度にサーボモータを動かすことができる。-90〜90の整数で指定する。