noob needs some help with coding :)
i have arduino nano ws2812b led strip 60 leds. friend helped me out combine these effects, want able switch between them ir remote, have ir reciever , remote need add here work??
#include "fastled.h"
fastled_using_namespace
#if defined(fastled_version) && (fastled_version < 3001000)
#warning "requires fastled 3.1 or later; check github latest code."
#endif
#define data_pin 6
#define led_type ws2811
#define color_order grb
#define num_leds 60
crgb leds[num_leds];
#define brightness 96
#define frames_per_second 120
void setup() {
delay(3000); // 3 second delay recovery
fastled.addleds<led_type,data_pin,color_order>(leds, num_leds).setcorrection(typicalledstrip);
fastled.setbrightness(brightness);
}
typedef void (*simplepatternlist[])();
simplepatternlist gpatterns = { rainbow, rainbowwithglitter, confetti, sinelon, juggle, bpm };
uint8_t gcurrentpatternnumber = 0; // index number of pattern current
uint8_t ghue = 0; // rotating "base color" used many of patterns
void loop()
{
gpatterns[gcurrentpatternnumber]();
fastled.show();
fastled.delay(1000/frames_per_second);
every_n_milliseconds( 20 ) { ghue++; }
every_n_seconds( 10 ) { nextpattern(); }
}
#define array_size(a) (sizeof(a) / sizeof((a)[0]))
void nextpattern()
{
gcurrentpatternnumber = (gcurrentpatternnumber + 1) % array_size( gpatterns);
}
void rainbow()
{
fill_rainbow( leds, num_leds, ghue, 7);
}
void rainbowwithglitter()
{
rainbow();
addglitter(80);
}
void addglitter( fract8 chanceofglitter)
{
if( random8() < chanceofglitter) {
leds[ random16(num_leds) ] += crgb::white;
}
}
void confetti()
{
// random colored speckles blink in , fade smoothly
fadetoblackby( leds, num_leds, 10);
int pos = random16(num_leds);
leds[pos] += chsv( ghue + random8(64), 200, 255);
}
void sinelon()
{
// colored dot sweeping , forth, fading trails
fadetoblackby( leds, num_leds, 20);
int pos = beatsin16( 13, 0, num_leds-1 );
leds[pos] += chsv( ghue, 255, 192);
}
void bpm()
{
// colored stripes pulsing @ defined beats-per-minute (bpm)
uint8_t beatsperminute = 62;
crgbpalette16 palette = partycolors_p;
uint8_t beat = beatsin8( beatsperminute, 64, 255);
for( int = 0; < num_leds; i++) { //9948
leds = colorfrompalette(palette, ghue+(i*2), beat-ghue+(i*10));
}
}
void juggle() {
// 8 colored dots, weaving in , out of sync each other
fadetoblackby( leds, num_leds, 20);
byte dothue = 0;
for( int = 0; < 8; i++) {
leds[beatsin16( i+7, 0, num_leds-1 )] |= chsv(dothue, 200, 255);
dothue += 32;
}
}
#include "fastled.h"
fastled_using_namespace
#if defined(fastled_version) && (fastled_version < 3001000)
#warning "requires fastled 3.1 or later; check github latest code."
#endif
#define data_pin 6
#define led_type ws2811
#define color_order grb
#define num_leds 60
crgb leds[num_leds];
#define brightness 96
#define frames_per_second 120
void setup() {
delay(3000); // 3 second delay recovery
fastled.addleds<led_type,data_pin,color_order>(leds, num_leds).setcorrection(typicalledstrip);
fastled.setbrightness(brightness);
}
typedef void (*simplepatternlist[])();
simplepatternlist gpatterns = { rainbow, rainbowwithglitter, confetti, sinelon, juggle, bpm };
uint8_t gcurrentpatternnumber = 0; // index number of pattern current
uint8_t ghue = 0; // rotating "base color" used many of patterns
void loop()
{
gpatterns[gcurrentpatternnumber]();
fastled.show();
fastled.delay(1000/frames_per_second);
every_n_milliseconds( 20 ) { ghue++; }
every_n_seconds( 10 ) { nextpattern(); }
}
#define array_size(a) (sizeof(a) / sizeof((a)[0]))
void nextpattern()
{
gcurrentpatternnumber = (gcurrentpatternnumber + 1) % array_size( gpatterns);
}
void rainbow()
{
fill_rainbow( leds, num_leds, ghue, 7);
}
void rainbowwithglitter()
{
rainbow();
addglitter(80);
}
void addglitter( fract8 chanceofglitter)
{
if( random8() < chanceofglitter) {
leds[ random16(num_leds) ] += crgb::white;
}
}
void confetti()
{
// random colored speckles blink in , fade smoothly
fadetoblackby( leds, num_leds, 10);
int pos = random16(num_leds);
leds[pos] += chsv( ghue + random8(64), 200, 255);
}
void sinelon()
{
// colored dot sweeping , forth, fading trails
fadetoblackby( leds, num_leds, 20);
int pos = beatsin16( 13, 0, num_leds-1 );
leds[pos] += chsv( ghue, 255, 192);
}
void bpm()
{
// colored stripes pulsing @ defined beats-per-minute (bpm)
uint8_t beatsperminute = 62;
crgbpalette16 palette = partycolors_p;
uint8_t beat = beatsin8( beatsperminute, 64, 255);
for( int = 0; < num_leds; i++) { //9948
leds = colorfrompalette(palette, ghue+(i*2), beat-ghue+(i*10));
}
}
void juggle() {
// 8 colored dots, weaving in , out of sync each other
fadetoblackby( leds, num_leds, 20);
byte dothue = 0;
for( int = 0; < 8; i++) {
leds[beatsin16( i+7, 0, num_leds-1 )] |= chsv(dothue, 200, 255);
dothue += 32;
}
}
stop making more threads.
Arduino Forum > Using Arduino > Programming Questions > noob needs some help with coding :)
arduino
Comments
Post a Comment