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

回答編集履歴

2

LEDの色について追記

2019/03/24 08:11

投稿

thkana
thkana

スコア7738

answer CHANGED
@@ -194,4 +194,38 @@
194
194
 
195
195
  ただし、これは「原理」に過ぎません。
196
196
 
197
- あなたのプログラムにどんな「状態」があるのかを考えて、その状態間をどのようなトリガで移行するのか(スイッチであったり時間であったり)、というのを積み上げていけば、あなたのプログラムも応答性をよく出来る...はずです。ただ、漠然とdelayするプログラムと比べて「自分が何をやりたいのか」をきちんと把握しないとなかなか形に出来ないかも知れません。まぁ、頑張って下さい。
197
+ あなたのプログラムにどんな「状態」があるのかを考えて、その状態間をどのようなトリガで移行するのか(スイッチであったり時間であったり)、というのを積み上げていけば、あなたのプログラムも応答性をよく出来る...はずです。ただ、漠然とdelayするプログラムと比べて「自分が何をやりたいのか」をきちんと把握しないとなかなか形に出来ないかも知れません。まぁ、頑張って下さい。
198
+
199
+ --追記--
200
+ BA選択後になりますが。
201
+
202
+ この機にAmazonでLEDテープをポチって遊んでみています。
203
+ で、
204
+ ```Arduino
205
+ #include <Servo.h>
206
+ #include <Adafruit_NeoPixel.h>
207
+
208
+ const int LED_COUNT=60;
209
+ const int DIGITAL_PIN=6;
210
+
211
+ Adafruit_NeoPixel led = Adafruit_NeoPixel( LED_COUNT, DIGITAL_PIN , NEO_GRB + NEO_KHZ800);
212
+ Servo sv;
213
+
214
+ void setup() {
215
+ led.begin();
216
+ led.show();
217
+ sv.attach(7);
218
+ }
219
+
220
+ int lvl;
221
+ void loop() {
222
+ lvl=(lvl+1)%256;
223
+ led.setPixelColor(0,led.Color(lvl,lvl,lvl));
224
+ led.show();
225
+ delay(10);
226
+ }
227
+ ```
228
+ としてみました。サーボモーターはやはりひくひくしますが、LEDは白く光ります(セル内で各色がバラけて見えるのは仕方ないとして)。
229
+ このプログラムだとあなたの環境でも白になる、とかいうことはないでしょうか。電源が弱くて、LEDを1個だけ点灯しても大丈夫だけどたくさん点けると電圧降下を起こして、LEDのVfの大きい青とか緑のLEDの発光が弱くなる、とかいうことはあり得そうな気がします。試しに手元に転がっていた330Ωの抵抗をLEDテープの電源ラインにいれて上記プログラムを走らせてみたところ、赤LEDのみが点灯する(で明るさが変わる)状態になりました。そのモードであれば、LEDテープに供給する電源の強化が対策になりそうに思います。LEDテープの電源を3.3Vにしてみてもまだ白で光るので、それよりも下がっているとすると相当なものですけれど...
230
+
231
+ まぁ、いろいろやってみて下さい。

1

追記

2019/03/24 08:11

投稿

thkana
thkana

スコア7738

answer CHANGED
@@ -2,6 +2,7 @@
2
2
  全部組み上げて、動かなくて何が悪いかわからない...なら、ひとつずつ確実に動かしてみて下さい。
3
3
  余計なパーツ、プログラムは無し。サーボを動かすだけ...出来た?
4
4
  テープLEDを白く光らせるだけ...出来た?
5
+ ([Arduino LEDテープについて](https://teratail.com/questions/180359)で白を設定してみればいいですね。)
5
6
  それが出来たら、組み合わせ...出来た?
6
7
 
7
8
  LEDテープは持っていないので確認できませんけれど、少なくとも私の手元でサーボだけは動きましたが、質問のプログラムではサーボが異常動作しました。