質問編集履歴
1
更新しました。
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
|
+
}
|