Dear Peeps,
Can someone please help me!
Im a desing student and I want to:
Step 1: Rotate servo motor from 0-90 degrees with SWEEP
Step 2: Stop servo motor on 90 degrees for 60 sec
Step 3: Switch on digital Led strip
Step 4: Run Code digital Led strip
Step 5: Switch off led strip
Step 6: Rotate servo backwards to 0 degrees
Beneath is the code I am trying to use however is says error: Variable or field 'setup' declared void...
Soon I will have my evaluation so hopefully someone can help me!
KR, Hann
#include <Servo.h>
#include <FastLED.h>
Servo myservo;
int pos = 0;
#define LED_PIN 5
#define NUM_LEDS 60
#define BRIGHTNESS 64
#define LED_TYPE WS2811
#define COLOR_ORDER GRB
CRGB leds[NUM_LEDS];
#define UPDATES_PER_SECOND 100
CRGBPalette16 currentPalette;
TBlendType currentBlending;
extern CRGBPalette16 myRedWhiteBluePalette;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;
void setup() {
delay( 3000 ); // power-up safety delay
FastLED.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
FastLED.setBrightness( BRIGHTNESS );
currentPalette = RainbowColors_p;
currentBlending = LINEARBLEND;
}
myservo.attach(9);
}
void loop()
{
ChangePalettePeriodically();
static uint8_t startIndex = 0;
startIndex = startIndex + 1; /* motion speed */
FillLEDsFromPaletteColors( startIndex);
FastLED.show();
FastLED.delay(1000 / UPDATES_PER_SECOND);
}
void FillLEDsFromPaletteColors( uint8_t colorIndex)
{
uint8_t brightness = 255;
for( int i = 0; i < NUM_LEDS; i++) {
leds = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);
-
colorIndex += 3;*
-
}*
}
void ChangePalettePeriodically()
{ -
uint8_t secondHand = (millis() / 1000) % 60;*
-
static uint8_t lastSecond = 99;*
-
if( lastSecond != secondHand) {*
-
lastSecond = secondHand;*
-
if( secondHand == 0) { currentPalette = RainbowColors_p; currentBlending = LINEARBLEND; }*
-
if( secondHand == 10) { currentPalette = RainbowStripeColors_p; currentBlending = NOBLEND; }*
-
if( secondHand == 15) { currentPalette = RainbowStripeColors_p; currentBlending = LINEARBLEND; }*
-
if( secondHand == 20) { SetupPurpleAndGreenPalette(); currentBlending = LINEARBLEND; }*
-
if( secondHand == 25) { SetupTotallyRandomPalette(); currentBlending = LINEARBLEND; }*
-
if( secondHand == 30) { SetupBlackAndWhiteStripedPalette(); currentBlending = NOBLEND; }*
-
if( secondHand == 35) { SetupBlackAndWhiteStripedPalette(); currentBlending = LINEARBLEND; }*
-
if( secondHand == 40) { currentPalette = CloudColors_p; currentBlending = LINEARBLEND; }*
-
if( secondHand == 45) { currentPalette = PartyColors_p; currentBlending = LINEARBLEND; }*
-
if( secondHand == 50) { currentPalette = myRedWhiteBluePalette_p; currentBlending = NOBLEND; }*
-
if( secondHand == 55) { currentPalette = myRedWhiteBluePalette_p; currentBlending = LINEARBLEND; }*
-
}*
}
void SetupTotallyRandomPalette()
{ -
for( int i = 0; i < 16; i++) {*
_ currentPalette = CHSV( random8(), 255, random8());_
* }*
}
void SetupBlackAndWhiteStripedPalette()
{
* // 'black out' all 16 palette entries...*
* fill_solid( currentPalette, 16, CRGB::Black);
_ // and set every fourth one to white._
_ currentPalette[0] = CRGB::White;_
_ currentPalette[4] = CRGB::White;_
_ currentPalette[8] = CRGB::White;_
_ currentPalette[12] = CRGB::White;*_
}
// This function sets up a palette of purple and green stripes.
void SetupPurpleAndGreenPalette()
{
* CRGB purple = CHSV( HUE_PURPLE, 255, 255);
CRGB green = CHSV( HUE_GREEN, 255, 255);
_ CRGB black = CRGB::Black;*_
* currentPalette = CRGBPalette16(*
* green, green, black, black,*
* purple, purple, black, black,*
* green, green, black, black,*
* purple, purple, black, black );*
}
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =
{
* CRGB::Red,*
* CRGB::Gray, // 'white' is too bright compared to red and blue*
* CRGB::Blue,*
* CRGB::Black,*
* CRGB::Red,*
* CRGB::Gray,*
* CRGB::Blue,*
* CRGB::Black,*
* CRGB::Red,*
* CRGB::Red,*
* CRGB::Gray,*
* CRGB::Gray,*
* CRGB::Blue,*
* CRGB::Blue,*
* CRGB::Black,*
* CRGB::Black*
};
for (pos = 0; pos <= 90; pos += 1) {
* myservo.write(pos); *
* delay(15); *
* }*
* for (pos = 90; pos >= 0; pos -= 1) {*
* myservo.write(pos); *
* delay(15); *
* }*
}