ICS変換基板の使用方法(4) ID読み書き編(R4改訂版)

Posted on 2025.01.18 in

 

【関連記事】

   ICS変換基板の使用方法(1) 準備編 

   ICS変換基板の使用方法(1) 準備編(R4改訂版)

   ICS変換基板の使用方法(2) サーボ制御編

   ICS変換基板の使用方法(2) サーボ制御編(R4改訂版)

   ICS変換基板の使用方法(3) 無線コントロール編

   ICS変換基板の使用方法(4) ID読み書き編

   ICS変換基板の使用方法(4-2) M5StackでID読み書き

   ICS変換基板の使用方法(5) Arduino Nano EveryでKRSサーボを制御

   ICS変換基板の使用方法(6-1) Arduino MEGAから18個のサーボを制御する

   ICS変換基板の使用方法(6-2) 直線補間でサーボを滑らかに動かす

   ICS変換基板の使用方法(6-3) Arduino MEGAからKXR-L6の歩行制御

 

ICS Library for Arduino ver.3には、サーボのIDを読み書きする関数があります。この関数を使用することで、別途Dual USBアダプターHSを使用することなく、IDの書き換えが可能です。この記事では、実際にIDを変更するための手順と注意点をご紹介します。

 

ライブラリはこちらからダウンロードしてください。

『ICS Library for Arduino ver.3』

 

※弊社では他社マインボード、及びプログラムに関するお問い合わせついて対応致しかねます。以下の内容は、仕様事例として参考にご一読ください。

 

■接続方法

Arduinoとサーボは、必ず1対1で接続してください。デイジーチェーン接続で多数のサーボとつながったまま書き換えをすると、全てのサーボのIDが書き換わってしまったり、正常に書き換えられず誤動作する場合があります。

 

ICS変換基板とArduinoの配線方法、必要な製品は準備編を参照してください。

 

■プログラム解説

KRSサーボのIDを変更するには、スケッチ例「KrsServoSetID」を使用します。

最初に記述されている内容は、サーボを動作させる場合と同じです。シリアル通信の設定とsetup()のkrs.begin()で通信がスタートします。

 

●初期設定

初期設定は他のサンプルプログラムから変更ありません。詳しくはサーボ制御編をご参照ください。

 

●ID書き換え箇所

krs.setID()でサーボのIDを変更します。引数として変更したいID番号を渡せばそのIDに書き換えることが可能です。

また、サーボからIDを読み出したい場合は、krs.getID()を使用します。戻り値としてID番号を取得することができます。

上記の例では、正しくIDを変更できたかをSerial.println()でシリアルモニタに表示するようにしています。

 

このように、getID()、setID()関数を利用することで簡単にID番号を読み書きすることができます。これまでは、サーボの設定を変更するためにDual USBアダプターHSが必要でしたが、IDの書き換えだけでしたらこれらの関数のみで実行できるため、初期コストを抑えることができます。ただし、動作確認やその他パラメータの設定変更をしたい場合は、マネージャソフトが大変便利ですので、Dual USBアダプターHSを一つお手元にご用意しておくことをお勧めします。

 

【ご注意ください】

※Arduinoとサーボは1対1で接続してください。

※IDの書き込み関数を使用する場合は、loop()により繰り返し書き換えないようにご注意ください。長期間書き込みを繰り返しますと、サーボ内のROM書き換え制限を超えてしまう場合があり、サーボが正常に動作しなくなる可能性があります。スケッチ例では「for(;;);」により処理を停止しています。