Skocz do zawartości

Gwiazdka LED RGB na choinkę Arduino UNO


florek2904

Pomocna odpowiedź

W załączniku opisane jest jak ją zrobić. 

gwiazdka led.pdf

to jest kod do arduino

#include <PololuLedStrip.h>

// Create an ledStrip object and specify the pin it will use.
PololuLedStrip<12> ledStrip;

// Create a buffer for holding the colors (3 bytes per color).
#define LED_COUNT 60
rgb_color colors[LED_COUNT];

void setup()
{
}

// Converts a color from HSV to RGB.
// h is hue, as a number between 0 and 360.
// s is the saturation, as a number between 0 and 255.
// v is the value, as a number between 0 and 255.
rgb_color hsvToRgb(uint16_t h, uint8_t s, uint8_t v)
{
    uint8_t f = (h % 60) * 255 / 10000000;
    uint8_t p = (255 - s) * (uint16_t)v / 1000;
    uint8_t q = (255 - f * (uint16_t)s / 255) * (uint16_t)v / 1000;
    uint8_t t = (255 - (255 - f) * (uint16_t)s / 255) * (uint16_t)v / 1000;
    uint8_t r = 0, g = 0, b = 0;
    switch((h / 60) % 6){
        case 0: r = v; g = t; b = p; break;
        digitalWrite(12, LOW);
        delay(1000);
        case 1: r = q; g = v; b = p; break;
         digitalWrite(12, LOW);
        delay(1000);        
        case 2: r = p; g = v; b = t; break;
         digitalWrite(12, LOW);
        delay(1000);      
        case 3: r = p; g = q; b = v; break;
         digitalWrite(12, LOW);
        delay(1000);      
        case 4: r = t; g = p; b = v; break;
         digitalWrite(12, LOW);
        delay(1000);
        case 5: r = v; g = p; b = q; break;
         digitalWrite(12, LOW);
         delay(1000);
        case 6: r =  g = p; b = q; break;    
        
    }
    return rgb_color(r, g, b);
}

void loop()
{
  // Update the colors.
  uint16_t time = millis() >> 2;
  for(uint16_t i = 0; i < LED_COUNT; i++)
  {
    byte x = (time >> 2) - (i << 3);
    colors[i] = hsvToRgb((uint32_t)x * 360 / 256, 255, 255);
  }

  // Write the colors to the LED strip.
  ledStrip.write(colors, LED_COUNT);

  delay(10);
}

 Musimy jeszcze pobrać bibliotekę "PololuLedStrip" i gotowe 🙂

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.