ラズベリーパイとアルディーノのI2C通信
Show older comments
ゲームパッドジョイスティックの角度をワイヤレス通信で送信送信しようとしています. 方法は添付しました資料の様に,ホストPCからジョイスティックの角度の情報を,ラズベリーパイへワイヤレスで送信し 受信した情報をアルディーノへI2Cで送信します.
本件はラズベリーパイとアルディーノのI2Cでのご相談です.添付しましたmファイルでアルディーノへ通信し,添付しましたアルディーノのプログラムで 値を受信を試みているのですが, 一応ジョイスティックの傾きの情報を送信・受信することができました.
ですが,2つの問題があります.
1長時間接続ができない
5分ほどmatlabプログラムを起動すると,以下のエラー表示がされ,通信ができなくなります.原因がわかりません.それとも長時間起動しない仕様なのでしょうか?
エラー: raspi/recvResponse (line 697) Error writing to I2C bus.
エラー: raspi.internal.i2cdev/write (line 118) recvResponse(obj.Hw);
エラー: I2C (line 15) write(i2csensor,b,'int8');
2arduino側でマイナスの数値が受信されません.
mファイルにジョイスティックの数値表示 t = [b] とアルディーノへ送信する write(i2csensor,b,'int8') を記述しており,プログラムを起動すると,プロンプトではマイナスの値も表示 されるのですが,arduinoでは以下の様に右へ傾きを大きくすると1~127, 左へ傾きを大きくすると225~128の値が表示され,マイナスが表示されません.
左傾き大128 ~ 左傾き小255 中央0 右傾き小1 右傾き大127
解決方法をご存知の方がらっしゃいましたら,ご教示いただけないでしょうか. どうぞよろしくお願いいたします.
1 Comment
michio
on 1 Dec 2017
参照し易いよう画像を貼り付けます。

Accepted Answer
More Answers (1)
Takafumi
on 1 Dec 2017
とりあえす、 TimeOut の設定を、長く取ってみてください。デフォルトは10sだと思います。
i2csensor.TimeOut = 60*60;
1 Comment
PROJECT SR
on 2 Dec 2017
Edited: PROJECT SR
on 4 Dec 2017
Categories
Find more on MATLAB Support Package for Raspberry Pi Hardware in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!