Recent Posts

Pages: [1] 2 3 ... 10
Bar Sport / Re: URGENT - need help
Last post by Qdeathstar - Today at 02:57 am
@ardly, i wonder when they are moving around how much of that is programmed movement and how much of it is reactionary...

Not the balance stuff but going straight, turning, ect, how are they deciding where it goes...
Project Guidance / Re: Need wireless thoughts, pl...
Last post by aarg - Today at 02:57 am
Is there anything but air between the transmitter and receiver? Thanks for the belated Thanksgiving wishes. :)
Bar Sport / Re: Your latest purchase
Last post by Qdeathstar - Today at 02:53 am
I've got two 12" subs in my ranger..... but, my amp got stolen out of my truck last year and i havnt bothed replacing it yet :-/. Next time i'll bolt it town.
Programming Questions / Re: complex program adaptation...
Last post by aarg - Today at 02:52 am
Because LastButtonValue is an int, it can't contain a number as large as 16736925.

I use a lot of sample files to learn and have been using the Arduino Web Editor, which is great. Now, all of a sudden, all of the programs that I had complain about the functions not being declared. These used to work just fine and most of them are borrowed from people who share sample code of much higher quality than my own coding. I also looked at the Arduino Cookbook and it doesn't say anything about declaring the function. What happened? What am I doing wrong? I'll post code from one grabbed right off of a git hub of samples for FastLED.

I am using an Arduino Yun.

Error: 'ChangePalettePeriodically' was not declared in this scope. (Again, I've used this before and it worked)

What the heck changed?

Code: [Select]
#include <FastLED.h>

#define LED_PIN     5
#define NUM_LEDS    10
#define BRIGHTNESS  64
#define LED_TYPE    WS2811


// This example shows several ways to set up and use 'palettes' of colors
// with FastLED.
// These compact palettes provide an easy way to re-colorize your
// animation on the fly, quickly, easily, and with low overhead.
// USING palettes is MUCH simpler in practice than in theory, so first just
// run this sketch, and watch the pretty lights as you then read through
// the code.  Although this sketch has eight (or more) different color schemes,
// the entire sketch compiles down to about 6.5K on AVR.
// FastLED provides a few pre-configured color palettes, and makes it
// extremely easy to make up your own color schemes with palettes.
// Some notes on the more abstract 'theory and practice' of
// FastLED compact palettes are at the bottom of this file.

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;

void loop()
    static uint8_t startIndex = 0;
    startIndex = startIndex + 1; /* motion speed */
    FillLEDsFromPaletteColors( startIndex);;
    FastLED.delay(1000 / UPDATES_PER_SECOND);

void FillLEDsFromPaletteColors( uint8_t colorIndex)
    uint8_t brightness = 255;
    for( int i = 0; i < NUM_LEDS; i++) {
        leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);
        colorIndex += 3;

// There are several different palettes of colors demonstrated here.
// FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,
// OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.
// Additionally, you can manually define your own color palettes, or you can write
// code that creates color palettes on the fly.  All are shown here.

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; }

// This function fills the palette with totally random colors.
void SetupTotallyRandomPalette()
    for( int i = 0; i < 16; i++) {
        currentPalette[i] = CHSV( random8(), 255, random8());

// This function sets up a palette of black and white stripes,
// using code.  Since the palette is effectively an array of
// sixteen CRGB colors, the various fill_* functions can be used
// to set them up.
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 );

// This example shows how to set up a static color palette
// which is stored in PROGMEM (flash), which is almost always more
// plentiful than RAM.  A static PROGMEM palette like this
// takes up 64 bytes of flash.
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =
    CRGB::Gray, // 'white' is too bright compared to red and blue

// Additionl notes on FastLED compact palettes:
// Normally, in computer graphics, the palette (or "color lookup table")
// has 256 entries, each containing a specific 24-bit RGB color.  You can then
// index into the color palette using a simple 8-bit (one byte) value.
// A 256-entry color palette takes up 768 bytes of RAM, which on Arduino
// is quite possibly "too many" bytes.
// FastLED does offer traditional 256-element palettes, for setups that
// can afford the 768-byte cost in RAM.
// However, FastLED also offers a compact alternative.  FastLED offers
// palettes that store 16 distinct entries, but can be accessed AS IF
// they actually have 256 entries; this is accomplished by interpolating
// between the 16 explicit entries to create fifteen intermediate palette
// entries between each pair.
// So for example, if you set the first two explicit entries of a compact
// palette to Green (0,255,0) and Blue (0,0,255), and then retrieved
// the first sixteen entries from the virtual palette (of 256), you'd get
// Green, followed by a smooth gradient from green-to-blue, and then Blue.
Products and Services / Re: CURRENTLY SOLD OUT
Last post by terryking228 - Today at 02:50 am
I got a speeding ticket driving down to the mall to grab the latest Armani handbag...

Oh. Oh. NO... that was just a nightmare I had, snug in my bed in my log cabin in Vermont USA.

Lập trình điều khiển robot xe bằng WIFI ESP8266 trên web:
1.Dùng ESP8266 UART ESP01
2. Mạch điều áp AMS1117 bảo vệ ESP8266.
3. 03 điện trở 10K

Bar Sport / Re: Force required to pull ope...
Last post by Qdeathstar - Today at 02:45 am
I got it to work at a minimum acceptable level.

I had this put together for a coreXY machine I a building... this was made on the drill press but now that I have a milling machine I'm going to redo the x-axis (with a beefier linear rail as well).

No gear slippage but the door doesn't open all the way because the bar is in the way. I tried tying the string to the plate without the bar but it doesn't open enough.

I think it might be the belt though, it's sort of stretchy and I think a lot of the movement is getting lost in belt-stretch.

Thanks for the responses so far and still open to suggestions :)
What happens if it loses power or charge runs out? Or whatever charging/recharging circuit it uses fails? Or if the circuit fails? A case of can get it, but can't get out, unless it's cut or forced out?
Software / Re: Uso de mas de un pin para ...
Last post by Swift - Today at 02:44 am
Si en eso 2 delay que tienes de 1000 se espera el programa, te toca usar millis Aqui un ejemplo
Pages: [1] 2 3 ... 10