这个是我当时考研时候晚上没事做的,倾注了我近200块巨资哈哈,还烧了块arduino板子。心痛。总的来说还是比较满意的特别是酷炫的电容触摸开关,很有创战纪的感觉。
下面是代码
#include "FastLED.h"
int incomingByte = 0;
int t=10;
int ddllpp=30;
// How many leds in your strip?
#define NUM_LEDS 12
// For led chips like Neopixels, which have a data line, ground, and power, you just
// need to define DATA_PIN. For led chipsets that are SPI based (four wires - data, clock,
// ground, and power), like the LPD8806 define both DATA_PIN and CLOCK_PIN
#define DATA_PIN 5
#define CLOCK_PIN 13
// Define the array of leds
CRGB leds[NUM_LEDS];
void setup() {
Serial.begin(9600);
// Uncomment/edit one of the following lines for your leds arrangement.
// FastLED.addLeds<TM1803, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<TM1804, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<TM1809, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<WS2811, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS);
FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);
//FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
// FastLED.addLeds<APA104, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<UCS1903, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<UCS1903B, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<GW6205, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<GW6205_400, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<WS2801, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<SM16716, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<LPD8806, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<P9813, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<APA102, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<DOTSTAR, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<WS2801, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<SM16716, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<LPD8806, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<P9813, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<APA102, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<DOTSTAR, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
}
void loop() {
if (Serial.available() > 0) {
incomingByte = Serial.read();}
if(incomingByte==49){t=t+10;incomingByte=4;}
if(incomingByte==48){t=t-10;incomingByte=4;}
// Turn the LED on, then pause
for(int i=0;i<=11;i++){//diyi
leds[i] = CRGB(t*i,0,0);
FastLED.show();
// FastLED.clear();
delay(ddllpp);
Serial.println(t);
}
for(int i=0;i<=11;i++){//dier
leds[i] = CRGB(0,t*i,0);
FastLED.show();
// FastLED.clear();
delay(ddllpp);
}
for(int i=0;i<=11;i++){
leds[i] = CRGB(0,0,t*i);
FastLED.show();
// FastLED.clear();
delay(ddllpp);
}
for(int i=0;i<=11;i++){
leds[i] = CRGB(t*i,t*i,0);
FastLED.show();
// FastLED.clear();
delay(ddllpp);
}
for(int i=0;i<=11;i++){
leds[i] = CRGB(t*i,0,t*i);
FastLED.show();
// FastLED.clear();
delay(ddllpp);
}
for(int i=0;i<=11;i++){
leds[i] = CRGB(0,t*i,t*i);
FastLED.show();
// FastLED.clear();
delay(ddllpp);
}
/*/ Now turn the LED off, then pause
leds[0] = CRGB::Black;
leds[1] = CRGB::Black;
leds[2] = CRGB::Black;
leds[3] = CRGB::Black;
leds[4] = CRGB::Black;
leds[5] = CRGB::Black;
leds[6] = CRGB::Black;
leds[7] = CRGB::Black;
leds[8] = CRGB::Black;
leds[9] = CRGB::Black;
leds[10] = CRGB::Black;
leds[11] = CRGB::Black;
FastLED.show(255);
delay(500);*/
}