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

質問編集履歴

1

更新しました。

2020/02/18 14:02

投稿

FumiKili
FumiKili

スコア7

title CHANGED
File without changes
body CHANGED
@@ -31,4 +31,136 @@
31
31
  列ごとに緑や紫 onの間ずっと
32
32
  入力offで緑に点灯10秒
33
33
 
34
- わかる方がおりましたらお願いします。
34
+ わかる方がおりましたらお願いします。
35
+
36
+
37
+ 追加
38
+ 下のコードから 使えそうな部分を使いたいと思っても
39
+ 上のコードに組み込めません。
40
+ All REDの命令だけも組み込めません。
41
+
42
+
43
+ #include <FastLED.h>
44
+ #include <EEPROM.h>
45
+ #define BUTTON 2
46
+ byte selectedEffect=0;
47
+ #define NUM_LEDS_PER_STRIP 90
48
+ #define LED_TYPE WS2812B
49
+ #define COLOR_ORDER RGB
50
+ #define BRIGHTNESS 90
51
+
52
+ CRGB leds[NUM_LEDS_PER_STRIP];
53
+
54
+ void setup()
55
+ {
56
+ FastLED.setMaxPowerInVoltsAndMilliamps(5,1000);
57
+ FastLED.addLeds<LED_TYPE, 4>(leds, NUM_LEDS_PER_STRIP);
58
+ FastLED.addLeds<LED_TYPE, 7>(leds, NUM_LEDS_PER_STRIP);
59
+ FastLED.setBrightness(BRIGHTNESS);
60
+ digitalWrite (BUTTON, HIGH); // internal pull-up resistor
61
+ attachInterrupt (digitalPinToInterrupt (BUTTON), changeEffect, CHANGE); // pressed
62
+ }
63
+
64
+ void loop()
65
+ {
66
+ EEPROM.get(0,selectedEffect);
67
+ if(selectedEffect>5)
68
+ {
69
+ selectedEffect=0;
70
+ EEPROM.put(0,0);
71
+ }
72
+
73
+ switch(selectedEffect)
74
+ {
75
+ case 1 :
76
+ {
77
+ black();
78
+ break;
79
+ }
80
+
81
+ case 2 :
82
+ {
83
+ red();
84
+ break;
85
+ }
86
+ case 3 :
87
+ {
88
+ blue();
89
+ break;
90
+ }
91
+ case 4 :
92
+ {
93
+ green();
94
+ break;
95
+ }
96
+ case 5 :
97
+ {
98
+ purple();
99
+ break;
100
+ }
101
+ case 6 :
102
+ {
103
+ gold();
104
+ break;
105
+ }
106
+ }
107
+ }
108
+ void changeEffect()
109
+ {
110
+ if (digitalRead (BUTTON) == HIGH)
111
+ {
112
+ selectedEffect++;
113
+ EEPROM.put(0, selectedEffect);
114
+ asm volatile (" jmp 0");
115
+ }
116
+ }
117
+
118
+
119
+
120
+ void red()
121
+ {
122
+ for(int i=0;i<NUM_LEDS_PER_STRIP;i++)
123
+ {
124
+ leds[i].setRGB(255,0,0);
125
+ FastLED.show();
126
+ }
127
+ }
128
+
129
+ void blue()
130
+ {
131
+ for(int i=0;i<NUM_LEDS_PER_STRIP;i++)
132
+ {
133
+ leds[i].setRGB(0,0,255);
134
+ FastLED.show();
135
+ }
136
+ }
137
+
138
+ void green()
139
+ {
140
+ for(int i=0;i<NUM_LEDS_PER_STRIP;i++)
141
+ {
142
+ leds[i].setRGB(0,255,0);
143
+ FastLED.show();
144
+ }
145
+ }
146
+ void purple()
147
+ {
148
+ for(int i=0;i<NUM_LEDS_PER_STRIP;i++)
149
+ {
150
+ leds[i].setRGB(191,62,255);
151
+ FastLED.show();
152
+ }
153
+ }
154
+ void black()
155
+ {
156
+ leds[NUM_LEDS_PER_STRIP] = CRGB(0, 0, 0);
157
+ FastLED.show();
158
+ }
159
+ void gold()
160
+ {
161
+ for(int i=0;i<NUM_LEDS_PER_STRIP;i++)
162
+ {
163
+ leds[i].setRGB(255,215,0);
164
+ FastLED.show();
165
+ }
166
+ }