GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
近藤科学のICSシリアルサーボの制御ができました。
・使用サーボ: 近藤科学 KRS-3301 ICS・ボーレート: 115200・接続ポート: Serial1 (1線UART設定)・ID: あらかじめICS USB Adapterで設定
去年のルネサスナイト11で発表した自作ライブラリに、1線UART設定のための1行を追加したのみです。
#ifdef GRROSE serial->direction(HALFDUPLEX);#endif
https://github.com/lipoyang/ICSlib
近藤科学からもArduino用ライブラリが公開されていますが、おそらく同様の変更で対応できるかと思います。
近藤科学ICS USB Adapterの代替
サーボのID書換はICS USB Adapterが必要ですが、これをGR-ROSEにやらせてみました。
[動作確認の内容]
・PC側ソフトウェア:KXR ICS Manager
・使用サーボ: 近藤科学 KRS-3301 ICS
・ボーレート: 115200
・接続ポート: Serial1 (1線UART設定)
[スケッチ]
// IcsAdapter // GR-ROSEに近藤科学ICS USB Adapterの代わりをさせる// Serialで受信したデータをSerial1に出力し、// Serial1で受信したデータをSerialに出力// 2018/09/19 ICSサーボのID書換えが出来ることを確認済// 参考:japan.renesasrulz.com/.../ics
/* GR-ROSE Sketch template V0.01 */#include <Arduino.h>extern "C" {#include "FreeRTOS.h"#include "task.h"}
void loop2(void *pvParameters);
void setup() { // LEDs pinMode(PIN_LED0, OUTPUT); pinMode(PIN_LED1, OUTPUT);
// serial output to USB Serial.begin(115200);
//サーボモータの通信初期設定 Serial1.begin(115200, SERIAL_8E1); Serial1.direction(HALFDUPLEX);
// loop2 task creation for sensing xTaskCreate(loop2, "LOOP2", 512, NULL, 2, NULL);
}
void loop() { if(Serial.available()) { char c = Serial.read(); Serial1.write(c); } if(Serial1.available()) { char c = Serial1.read(); Serial.write(c); }}
void loop2(void *pvParameters) { while (1) { digitalWrite(PIN_LED1, !digitalRead(PIN_LED1)); vTaskDelay(500); }}
GR-ROSEで、近藤科学KXR-L2のサンプルモーション相当の動きができました。
ついでにスマホアプリからWiFiでコントロールできるようにしました。(ESP8266のファームは書き換えています。)