WHILL / Model_CR_Technical_Support

Contact point for technical questions about the Model CR series
https://whill.inc/jp/model-cr2
0 stars 2 forks source link

ArduinoからのWHILL Model CR制御について #30

Closed mSHiOm closed 2 years ago

mSHiOm commented 2 years ago

ArduinoでのWHILL Model CR制御を試みているのですが,WHILLとの通信が出来ません.

2018アドベントカレンダーの記事 を参考に while-arduino-sdkの中のShakeサンプルをArduinoに書き込んだところ, Arduinoボード上のRX, TX LEDは光りますが,Whillが動きません. その他,Callbackのサンプルも試しましたが,Serialへのプリントが出ない状態です.

Arduino制御を始めるにあたり, WHILLの起動方法や電源供給などの注意点はありますでしょうか.

ご回答よろしくお願いいたします.

使用機材:

以上を下の図のように繋いでいます. IMG_5185

mSHiOm commented 2 years ago

[追記] RS232Cの連結部分にRS232C NULLモデムを使用しても同じ症状です.

s-katsu commented 2 years ago

@mSHiOm 返信遅れて大変申し訳ございません。 こちらで同じ状況確認してみましたが、 https://github.com/WHILL/whill-sdk-arduino

の組み合わせで問題なく通信できました。

RS232Cモデムとは機体に接続するDsubのケーブルコネクタを直接接続しました。

接続の様子も添付します。 RS232Cシールド上はTX: 7pin, RX: 6pinとしています。(画像参照) image image image

exampleのblink_power.inoを若干書き換えた下記のinoファイルを実行しました。(実はpower onは2回連続してコマンドを送信する必要があるためその点だけ変更しています。)

#include <SoftwareSerial.h>
#include "WHILL.h"

SoftwareSerial ss(7,6);
WHILL whill(&ss);

void callback_powered_on(WHILL* caller)
{
  // This function is called when powered on via setPower() 
  Serial.print("powered_on");
}

void setup() {
  // put your setup code here, to run once:

  Serial.begin(9600);

  //Register callbacks
  whill.register_callback(callback_powered_on,WHILL::EVENT::CALLBACK_POWER_ON);

  whill.begin(50);   // Set refresh interval of WHILL
}

void loop() {
  // put your main code here, to run repeatedly:
  whill.refresh();

  Serial.println("power on");
  whill.setPower(true);  // Turn WHILL on
  whill.delay(100);
  whill.setPower(true);  // Turn WHILL on
  whill.delay(5000);

  Serial.println("power off");
  whill.setPower(false);  // Turn WHILL off
  whill.delay(5000);  
}

お手数ですが再度接続状況などご確認いただけますでしょうか。 もしくはpythonなどのライブラリもありますのでそちらも合わせてご確認いただけると問題の切り分けになるかと思います。

https://github.com/WHILL/pywhill

mSHiOm commented 2 years ago

ご返事ありがとうございます.

上記のプログラムでblink_power.inoを試してみましたが,Whillの反応がありませんでした. (シリアルモニタではpower on/off が出るのでArduino-PCの通信問題ではないと思います.)

また,PyWhillの方も試してみましたが, cr_example3_callback.pyを実行してもWhillからの反応はありませんでした.

現在の接続は以下のようになっています. IMG_5302

s-katsu commented 2 years ago

機体の左アームの電源ボタンで電源を入れた状態で https://github.com/WHILL/pywhill/blob/master/example/cr_example4_blink_power.py を実行しても電源切れない状態でしょうか?

pywhillは

    whill = ComWHILL(port='/dev/ttyUSB0')

ポートの設定を正しくしていただかないと接続できないですがそのあたりは問題ないでしょうか? RS232C経由のUSBシリアルをPCに接続して追加されたポートであれば問題ないです。

もし、cr_example4_blink_power.pyでも電源オフされないとなりますが、故障している可能性があります。 その際はお手数ですがこちらの修理についてというページからご連絡お願い致します。 https://whill.inc/jp/support/repair

mSHiOm commented 2 years ago

cr_example4_blink_power.pyを実行しましたが,電源は切れませんでした.

今回は,RS232-USBコネクタの都合でwindowsを使用しました. port = 'COM#' ( # には特定の数字)を入れて実行しましたが, エラーは出ませんが,power_on_callback()の出力も表示されない状態です.

修理ページから連絡をいたします.ご対応ありがとうございました.

s-katsu commented 2 years ago

修理ページから連絡をいたします

はい、お手数おかけしますがその対応でお願いいたします。

こちらはCloseさせていただきますが、必要あればReopenしてお問い合わせください。 お問い合わせありがとうございます。