teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コメントを受けて追記

2021/07/02 05:48

投稿

TakaiY
TakaiY

スコア14534

answer CHANGED
@@ -6,4 +6,18 @@
6
6
  このエラーは、内容にあるとおり、except文のインデントがtryと合っていないために起きているエラーです。
7
7
  少なくとも文法的に正しくなければ動作しません。
8
8
 
9
- これを直しても、なお動作しないということであれば、修正後のソースと問題内容で質問を修正しましょう。
9
+ これを直しても、なお動作しないということであれば、修正後のソースと問題内容で質問を修正しましょう。
10
+
11
+ ---
12
+
13
+ 「指文字の本数を数えさせるプログラム、サーボモータの動作のプログラムはそれぞれうまくいっている」ということですが、それらを混ぜてしまっていることでうまく動かなくなってしまっているのではないでしょうか。
14
+ 自分でやるのであれば、
15
+
16
+ - 指を数える処理を関数化する。
17
+ 例えば、本数が判定できたら本数を返すようにする
18
+ - 引数によってサーボの位置を変更する関数を作る。
19
+ - それらを適切につなぎ合わせる処理をつくる
20
+
21
+ のようにします。こうすることでどこに問題があるのかわかりやすくなります。
22
+ また、サーボのような外部のデバイスの制御では、適切にスリープを入れることも必要です。高速にON/OFFをしてしまうと結局動いていないように見えるなどです。
23
+ コードにはスリープが入っているようですがらそのあたりは考慮しているのかもしれませんが、原因かもしれません。