回答編集履歴

1

コメントに対して追記しています。

2019/03/22 01:08

投稿

ta.fu
ta.fu

スコア1667

test CHANGED
@@ -10,11 +10,29 @@
10
10
 
11
11
  まずdelayを呼ばないような実装にすれば、loop内の処理が速くなるのでは。
12
12
 
13
+ > 1、Interruptを使うとdelayが使えなくなってしますが、delayを使いたいです。
14
+
15
+
16
+
17
+ スイッチの検知のタイミングをもっと短くするには、loop内の処理時間をもっと短くする必要があります。
18
+
19
+ delayを使う理由を明確にし、それを実現しかつloop内の処理時間を短くするように設計をするしかないです。
20
+
21
+ 例えば、スイッチを押した時間からの経過時間を利用して、LEDやサーボを回すような設計にするとか。
22
+
13
23
 
14
24
 
15
25
  2について
16
26
 
17
27
  コードを見る限り、input_pinとinput_pin2がHIGHの間5秒位サーボが0~180度の間を往復しているようなので、もしかしたらコード通りの動作をしているのでは。
28
+
29
+ > 2、何故かinput_pin1,2がLOWの時は微動します...試してみると、LEDテープを動かす間にサーボモーターが微動しました。
30
+
31
+
32
+
33
+ LEDの駆動でノイズとかが入っているのではないですか。
34
+
35
+ LED部分を外してみて想定した動作になるか確認し、想定通りであれば、LED部分が悪いということになります。まあそうであれば、これ以上は、ハードよりの話になるため、ちょっと回答は難しいかも。
18
36
 
19
37
 
20
38
 
@@ -33,3 +51,17 @@
33
51
 
34
52
 
35
53
  とりあえず、現在どこが動いているかをSerial.printなどで出力しながら動作確認をしたらどうですか。
54
+
55
+
56
+
57
+
58
+
59
+ > 3、その通りで、自分は真ん中から流れるものを作りたいのですが、白色だけがどうしても出ないんです。
60
+
61
+
62
+
63
+ 自分もマイコン内蔵のフルカラーLED(PL9823)を動かしたときがあるのですが、結構タイミングがシビアで決まった色にならない場合がありました。
64
+
65
+ こっちもLED40個をドライブするのではなく、初めに5個とか10個とかから始めてみたらどうですか。
66
+
67
+ もし、それでうまくいけば、複数ピンで40個を制御すればいいのでは。