ICS Library for Arduino ver.2を公開しました。

Posted on 2018.01.20 in ニュース

03152_4

ICS変換基板と組み合わせてArduinoで動作するライブラリ『ICS Library for Arduino』のver.2を公開しました。

『ICS Library for Arduino ver.2』

 

今回は、SoftwareSerialに対応したライブラリを追加しました。こちらを使用することでデジタルI/Oをシリアル端子として使用し、KRSサーボなどICS機器と通信することができます。

 

●関連商品

・ICS変換基板

・KSBシールド2

 

●HardwareSerialとSoftwareSerialについて

Arduino Unoは、シリアル(HardwareSerial)端子を使用してPCと通信し、プログラムの書き込みやデータの送受信を行います。また、ICS機器も同様にシリアル(HardwareSerial)端子を使用します。そのため、サーボと通信するためにICS変換基板をシリアル(HardwareSerial)端子に接続すると、PC間の情報とICS機器間の情報と混在してしまう場合があります。Arduino UNOのHardwareSerialは、安定した通信ができる反面、端子が一つしかないことでPC間の通信とサーボ間との通信を同時に行うことができません。

そこで、ICS機器との通信をデジタルI/Oを使用してSoftwareSerialで疑似的にシリアル端子として使用することで、USBをPC間との通信に使用することができます。また、Arduinoで取得した情報をリアルタイムにPCへ送信することが可能になります。

ただし、SoftwareSerialはデータの取りこぼしが起こる可能性がありますので、安定した動作が必要な場合はHardwareSerialで通信することをお勧めします。

 

●サンプルプログラム

サンプルプログラムの内容は、HardwareSerial、SoftwareSerialで同じ内容の使用方法を紹介していますが、クラスの初期化方法が異なりますのでご注意ください。

・サンプル名:KrsServo1

 setPos()関数を使用してIDとポジションデータを送信することで、簡単にサーボを制御することができます。

 

サンプル名:KrsServoConvertAngle

 ポジションデータを角度に変換したり、逆に角度をポジションデータに変換する方法をご紹介しています。変換したデータをsetPos()でサーボに送信します。

 

サンプル名:KrsServoMasterSlave

 ひとつのサーボの現在値を取得し、もう一つのサーボに送信することでマスタースレイブを行います。

 

サンプル名:KrsServoGetParameter

 サーボの電流値(getCur())、温度値(getTmp())、ポジションデータ(getPos() ※ICS3.6のみ)の関数を使用してデータを取得します。

 

サンプル名:KrsServoSetParameter

 ストレッチ(setStrc())、スピード(setSpd())の関数を使用して各パラメータの値を変更します。

 

サンプル名:KrrButton

 KRR-5FH受信機が送信機から受信したボタンデータをもとにサーボを動かします。getKrrButton()関数を使用することで簡単にデータを取得できます。KRC-5FHを使用したArduinoの無線操縦が可能です。

 

サンプル名:KrrAnalog

 KRC-5FHにはアナログ入力の端子が装備されています。ここに接続したセンサなどの情報をKRR-5FHが受信し、Arduinoで取得することができます。

 

詳細なご利用方法は、ライブラリ付属のマニュアルをご参照ください。

 

●サポート記事

ICS変換基板の詳しいご利用方法は下記のサポート記事をご覧ください。

 

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

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

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