回答編集履歴
10
追記
test
CHANGED
@@ -106,6 +106,6 @@
|
|
106
106
|
|
107
107
|
実環境がないので、私から手伝える事はこれ以上ないです。
|
108
108
|
|
109
|
-
友達に聞いてみるか、質問文を編集
|
109
|
+
友達に聞いてみるか、質問文を最新のコードに編集後、エラーなどが発生しているならその旨を追記して、
|
110
110
|
|
111
111
|
他の人の回答を待ってみてくださいな。あと他の方へのお礼の言葉は忘れないでくださいね。
|
9
追記
test
CHANGED
@@ -96,6 +96,10 @@
|
|
96
96
|
|
97
97
|
|
98
98
|
|
99
|
+
---
|
100
|
+
|
101
|
+
|
102
|
+
|
99
103
|
> サーボモータを40番ピン、gnd、電源に接続してwebiopiにアクセス
|
100
104
|
|
101
105
|
|
8
追記
test
CHANGED
@@ -93,3 +93,15 @@
|
|
93
93
|
now['x'] = (xAngle - past['x'])%360
|
94
94
|
|
95
95
|
```
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
> サーボモータを40番ピン、gnd、電源に接続してwebiopiにアクセス
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
実環境がないので、私から手伝える事はこれ以上ないです。
|
104
|
+
|
105
|
+
友達に聞いてみるか、質問文を編集しエラーなどが発生しているならその旨を追記して。
|
106
|
+
|
107
|
+
他の人の回答を待ってみてくださいな。あと他の方へのお礼の言葉は忘れないでくださいね。
|
7
補足
test
CHANGED
@@ -58,17 +58,19 @@
|
|
58
58
|
|
59
59
|
TypeError: - : 'str'と 'int'のサポートされないオペランドタイプ
|
60
60
|
|
61
|
-
|
61
|
+
テキストシーケンス型(str)と数値型(int)と変数の型が違うもの対して、-演算(サポートされていない演算(オペランド))を行っているのが原因です。
|
62
|
+
|
63
|
+
参考:[組み込み型](https://docs.python.jp/3/library/stdtypes.html)
|
62
64
|
|
63
65
|
|
64
66
|
|
65
|
-
xAngle - past['x'] #
|
67
|
+
関数:`moveServo`のxAngle - past['x'] #この箇所で変数:xAngleがstr型変数として扱われています。
|
66
68
|
|
67
69
|
|
68
70
|
|
69
|
-
どうして
|
71
|
+
変数:`xAngle`がどうしてテキストシーケンス型(str)として扱われたかの原因究明は**質問者さんにして頂きたいのですが**。
|
70
72
|
|
71
|
-
`JavaScript`側のfunction getAngle(xAngle, yAngle)の
|
73
|
+
`JavaScript`側の`function getAngle(xAngle, yAngle)`のメソッド内に`xAngle`と`yAngle`をラベルなどに値を出力するよう変更しデバック確認してくださいな。
|
72
74
|
|
73
75
|
参考:[DeviceOrientation Event Viewer](http://misohena.github.io/js_deviceorientation/)
|
74
76
|
|
6
追記
test
CHANGED
@@ -70,9 +70,11 @@
|
|
70
70
|
|
71
71
|
`JavaScript`側のfunction getAngle(xAngle, yAngle)の部分にcosole.logでxAngleとyAngleを出力するようにしてデバック確認してくださいな。
|
72
72
|
|
73
|
+
参考:[DeviceOrientation Event Viewer](http://misohena.github.io/js_deviceorientation/)
|
73
74
|
|
74
75
|
|
76
|
+
|
75
|
-
**正常に
|
77
|
+
**もしも値が正常に渡っていて**strからintへの型変換を行うだけでしたら以下コードで
|
76
78
|
|
77
79
|
|
78
80
|
|
5
追記
test
CHANGED
@@ -58,7 +58,7 @@
|
|
58
58
|
|
59
59
|
TypeError: - : 'str'と 'int'のサポートされないオペランドタイプ
|
60
60
|
|
61
|
-
文字変数(str)と数字(int)
|
61
|
+
文字変数(str)と数字(int)と型が違うもの対して、-演算(サポートされていない演算(オペランド))を行っているのが原因です。
|
62
62
|
|
63
63
|
|
64
64
|
|
@@ -66,13 +66,13 @@
|
|
66
66
|
|
67
67
|
|
68
68
|
|
69
|
-
どうして文字として扱われたかの究明は**質問者さんにして
|
69
|
+
どうして文字として扱われたかの究明は**質問者さんにして頂きたいのですが**。
|
70
70
|
|
71
|
-
|
71
|
+
`JavaScript`側のfunction getAngle(xAngle, yAngle)の部分にcosole.logでxAngleとyAngleを出力するようにしてデバック確認してくださいな。
|
72
72
|
|
73
73
|
|
74
74
|
|
75
|
-
**正常に値が渡っていて**型変換を
|
75
|
+
**正常に値が渡っていて**strからintへの型変換を行うだけでしたら以下コードで
|
76
76
|
|
77
77
|
|
78
78
|
|
4
追記
test
CHANGED
@@ -45,3 +45,47 @@
|
|
45
45
|
|
46
46
|
|
47
47
|
あと質問文に実行エラーメッセージ(traceback)を編集記載して頂くと回答が付きやすいのではないかと。
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
---
|
52
|
+
|
53
|
+
> TypeError: unsupported operand type(s) for -: 'str' and 'int'
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
■グーグル翻訳
|
58
|
+
|
59
|
+
TypeError: - : 'str'と 'int'のサポートされないオペランドタイプ
|
60
|
+
|
61
|
+
文字変数(str)と数字(int)に対して-演算を行っているのが原因です。
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
xAngle - past['x'] #質問文のpython側のコードのこの箇所で変数:xAngleが文字変数として扱われています。
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
どうして文字として扱われたかの究明は**質問者さんにしていただきたいのですが**。
|
70
|
+
|
71
|
+
多分JavaScript側のfunction getAngle(xAngle, yAngle)の部分にcosole.logでxAngleとyAngleを出力するようにしてデバック確認してくださいな。
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
**正常に値が渡っていて**型変換をするだけなら以下のようなコードを
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
```Python
|
80
|
+
|
81
|
+
webiopi.debug("moveServoAngle : %s, %s" % (xAngle, yAngle))
|
82
|
+
|
83
|
+
# 以下2行を追加
|
84
|
+
|
85
|
+
xAngle = int(xAngle)
|
86
|
+
|
87
|
+
yAngle = int(yAngle)
|
88
|
+
|
89
|
+
now['x'] = (xAngle - past['x'])%360
|
90
|
+
|
91
|
+
```
|
3
最小限のコードでテストしてみたら原因が違うので、訂正。
test
CHANGED
@@ -12,11 +12,11 @@
|
|
12
12
|
|
13
13
|
動作環境がないので、コードを見ただけですが。
|
14
14
|
|
15
|
-
変数:
|
15
|
+
変数:pastに再代入をしているのが、原因ではないでしょうか。
|
16
16
|
|
17
17
|
|
18
18
|
|
19
|
-
以下のような変更でどうでしょう
|
19
|
+
以下のような変更でどうでしょう。
|
20
20
|
|
21
21
|
```Python
|
22
22
|
|
@@ -28,9 +28,9 @@
|
|
28
28
|
|
29
29
|
webiopi.debug("moveServoAngle : %s, %s" % (xAngle, yAngle))
|
30
30
|
|
31
|
-
now['x'] = (xAngle - past['x'])%360 #
|
31
|
+
now['x'] = (xAngle - past['x'])%360 #
|
32
32
|
|
33
|
-
now['y'] = (yAngle - past['y'])%180 #
|
33
|
+
now['y'] = (yAngle - past['y'])%180 # xAngle→yAngleに
|
34
34
|
|
35
35
|
past = {'x': xAngle, 'y': yAngle}
|
36
36
|
|
2
補足
test
CHANGED
@@ -30,7 +30,7 @@
|
|
30
30
|
|
31
31
|
now['x'] = (xAngle - past['x'])%360 # 変数の間にスペースを追加
|
32
32
|
|
33
|
-
now['y'] = (
|
33
|
+
now['y'] = (yAngle - past['y'])%180 # 変数の間にスペースを追加、xAngle→yAngleに
|
34
34
|
|
35
35
|
past = {'x': xAngle, 'y': yAngle}
|
36
36
|
|
1
追記
test
CHANGED
@@ -12,11 +12,11 @@
|
|
12
12
|
|
13
13
|
動作環境がないので、コードを見ただけですが。
|
14
14
|
|
15
|
-
変数:`xAngle`と変数:`past`が`-`記号の間にスペースが無いことにより
|
15
|
+
変数:`xAngle`と変数:`past`が`-`記号の間にスペースが無いことにより変数:`xAngle-past`に解釈されているかと。
|
16
|
-
|
17
|
-
変数:`xAngle-past`に解釈されているかと。
|
18
16
|
|
19
17
|
|
18
|
+
|
19
|
+
以下のような変更でどうでしょうか。
|
20
20
|
|
21
21
|
```Python
|
22
22
|
|
@@ -40,6 +40,8 @@
|
|
40
40
|
|
41
41
|
```
|
42
42
|
|
43
|
+
参考:[Python のローカルとグローバル変数のルールは何ですか?](https://docs.python.jp/3/faq/programming.html#what-are-the-rules-for-local-and-global-variables-in-python)
|
43
44
|
|
44
45
|
|
46
|
+
|
45
|
-
あと実行エラーメッセージ
|
47
|
+
あと質問文に実行エラーメッセージ(traceback)を編集記載して頂くと回答が付きやすいのではないかと。
|