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

Posted on 2020.03.25 in

 

【関連記事】

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

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

   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の歩行制御

 

Arduino Nano Everyは、従来のArduino Nanoの進化版です。今回の変更により、シリアル端子がUSBとは別に独立して用意されています。UNOではUSBとシリアル端子が共用でしたのでHardSerialではサーボの情報を取得することができませんでしたが、Everyでは、PCと通信しながらサーボを制御できますので、現在値やIDを取得してPCに表示することができます。この進化は、ロボットで使用する人にとって非常にうれしいポイントです。

今回は、Arduino Nano Everyを利用して、KRSサーボを制御する方法をご紹介します。

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

 

■必要な製品

ICS変換基板 ×1

KRSサーボ ×1

ZH接続ケーブルB ×1(サーボ付属)
 ※KRS-2500/3300の場合

電源
 ※下記のどちらかをご用意ください。
  サーボに対応する電圧に合わせた電源が必要です。
  詳しくは使用するサーボの商品ページをご参照ください。

  1)バッテリー+充電器

  2)ACアダプター

HV電源スイッチハーネス、またはLV電源スイッチハーネス
 ※9~12V電源の場合はHV、6~7.4Vの場合はLVを使用します。

Arduino Nano every ×1

ブレッドボード

ジャンパワイヤ(オス~オス)

※ICS変換基板のピンヘッダを実装するためにはんだ付けが必要です。

■接続方法

ブレッドボードにICS変換基板とArduino Nano Everyを挿し、下記のように端子同士を接続します。EveryのVINピンはHVの9~12Vでも直接接続できます。

 

ICS変換基板にサーボを接続します。ケーブルは、片側がサーボ端子のZH接続ケーブルBを使用します。コネクタの爪が電源端子の方に向くように接続してください。

 

最後にLV電源スイッチハーネスをICS変換基板の電源端子に接続し、スイッチがOFFであることを確認してから電源につないでください。

電源をONにする前に、再度配線を確認し挿し間違い、逆接が無いように十分ご注意ください。

 

■切り替えスイッチ

ICS変換基板に実装されている「書込」「実行」の切り替えスイッチは、常に「実行」のままにしてください。

 

■ライブラリ

現在公開しているライブラリをそのまま使用することができます。下記よりライブラリをダウンロードし、付属のマニュアルに従ってインクルードしてください。

サポート記事『ICS Library for Arduino ver.2」 

 

※Arduino Nano Every用に開発環境を整える必要があります。

 

■サンプルプログラムでサーボを制御

スケッチ例のIcsClass(HardSerial)の『KrsServo1』を開きます。このスケッチ例はArduino UNO用に書かれていますので一部変更が必要です。

 

UNOでは、シリアル端子がUSBと共用でしたので"Serial"と書いていましたが、Everyでは独立してシリアル端子がありますので"Serial1"と指定します。クラスを作成する箇所にシリアルポートを指定する箇所"&Serial"を"&Serial1"に変更してください。

IcsHardSerialClass krs(&Serial,EN_PIN,BAUDRATE,TIMEOUT); 

IcsHardSerialClass krs(&Serial1,EN_PIN,BAUDRATE,TIMEOUT); 

 

他は変更する必要ありません。非常に簡単です。

プログラムを書き込んで電源をONにし、動作確認をしてみてください。ID0のサーボが左右に動けば成功です。

 

【プログラム全体】

 

■Arduino Nano 33 BLE

Evreyに似た Arduino Nano 33 BLE

https://store.arduino.cc/usa/nano-33-ble

はArduinoのライブラリ本体のライブラリ側でUARTのパリティを設定しても無視される不具合があるので、現状は使用できません。

※2020/03現在

Arduino nRF528x Boards(Mbed OS) by Arduino ver 1.1.4

 

使用したい場合はユーザフォルダのAppDataのどこか(Windouws環境)にArduinoのフォルダがあり、のmbedに該当するフォルダを検索していただくとSerial.cppがあるので

UART::begin(unsigned long baudrate, uint16_t config)の内部を書き換えてみてください。

 

 

 

この修正は暫定的なものです。

作業手順が不明の場合は修正されるまでお待ちください。

 

Arduino Nano 33 IoT

https://store.arduino.cc/usa/nano-33-iot

に関しては未確認です。

 

こちらが利用できることで、サーボの利用範囲が広がりますので引き続き調査を継続します。

ご期待ください!

 

KRS-2552R3HV ICSの詳細をみる KRS-3204R2 ICSの詳細をみる KRS-2572R2HV ICSの詳細をみる KRS-2552R2HV ICSの詳細をみる KRS-2542R2HV ICS の詳細をみる KRS-9004HV ICSの詳細をみる KRS-5054HV ICS H.Cの詳細をみる KRS-5053HV ICS H.Cの詳細をみる KRS-5034HV ICSの詳細をみる KRS-5033HV ICSの詳細をみる KRS-5032HV ICSの詳細をみる KRS-6104FHV ICSの詳細をみる KRS-3304R2 ICSの詳細をみる KRS-3302 ICSの詳細をみる ICS変換基板の詳細をみる KSBシールド2の詳細をみる ICS変換基板シールドの詳細をみる KXR用オプションボード搭載セットAの詳細をみる KRS-6003R2HV ICSの詳細をみる KRS-6003RHV ICSの詳細をみる KRS-2572HV ICSの詳細をみる KRS-2552RHV ICSの詳細をみる KRS-2542HV ICSの詳細をみる KRS-4037HV ICSの詳細をみる KRS-4034HV ICSの詳細をみる KRS-4033HV ICSの詳細をみる KRS-4032HV ICSの詳細をみる KRS-4031HV ICSの詳細をみる KRS-3304 ICSの詳細をみる KRS-3301 ICSの詳細をみる KRS-3204 ICSの詳細をみる KXR アドバンスセットA Ver.2の詳細をみる KXR-A5 アーム型 Ver.2の詳細をみる KXR-L4T-R カメ型・ローバー型 Ver.2(アカデミックパック)の詳細をみる KXR用オプションボード搭載セットBの詳細をみる