FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ICSライブラリを使った多サーボマスタースレーブその1 synchronize()を使う

<はじめに>

9月8日に東京・立川で開催された第27回Kondo battleに全身マスタースレーブの8軸ロボットで参加してきました。

今回はタイトル通り、ICSライブラリを使った多サーボマスタースレーブの記事を書いてきます。
では第1回、synchronize()を使えるようにします。
(IcsHardSerialClassを使っている人向けです。IcsSoftSerialClassの人はやる作業ないです^^;)

<synchronize()って?>

ICSライブラリのマニュアル(IcsLibrary_forArduino_2_0.pdf)の24ページによると以下の通りです。

ICS変換基板forArduino p24

あれこれ書いてあって難しそうですが、ICS通信はコレ一つで事足ります。
ICSライブラリにはgetPos()やsetSpd()がありますがこのsynchronize()がベースです。
前者はIDさえ指定すれば、簡単に値が読み書きできるようにしただけです(^^)
ライブラリ内のIcsBaseClass.cppをのぞいてみると分かりやすいかと思います。
例えばsetPos()の中身です。配列の一つ目でIDの指定、2つ目と3つ目でポジションを指定しています。(3500~11500のポジションデータを表すには2バイト必要です。)


synchronize()を使ったsetPos 

<synchronize()を使うために>

前置きが長くなりましたが作業に移ります。簡単です。すぐ済みます。
※arduino ideにICSライブラリがインクルードされた前提で進めていきます。
まだの方はこちらから→https://kondo-robot.com/faq/ics-library-a2
※プログラミング用のファイルを編集します。ワードパッドでもできそうですが、visual studio codeなどをインストールしておくことをお勧めします。

1.arduinoのlibrariesファルダ内のIcsClass_V200フォルダ、さらにそのなかのsrcフォルダを開いてください。開くとIcsHardSerialClass.hというファイルが見つかると思います。
2.そのファイルを開いて78行目、protectedをpublicに書き換えます。

IcsHardSerialClass.hの78行目

3.保存して終了

以上です。これだけで以下のスケッチのようにそのまんまsynchronize()が使えるようになます。
IcsBaseClass.cppにあったsetPos()を転用しています。
synchronize()でsetPos()

今回はここまで
その2では実際にマスタースレーブのスケッチを公開・解説していくつもりです。

つづく
スポンサーサイト

tag : ICS通信 Arduino ICSライブラリ

ごあいさつ

新年明けましておめでとうございます。
今年からブログ始めました。
いままでやってみたこと・これからやっていくをつらつら~と書いてきます。
検索フォーム
プロフィール

ぽんだ

Author:ぽんだ
座右の銘:やってやれないことはない

カテゴリ
最新記事
月別アーカイブ
タグ

ICS通信 Arduino KRC-5FH RCB-4HV Teensy ICSライブラリ 

最新コメント
累計アクセスカウンター
オンラインカウンター
現在の閲覧者数:
ツイッター
リンク
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。