WS2812B: an stiall draíochta RGB LED

Stiall stiúir WS2812B RGB

Cinnte ní mór duit dath a chur le do thionscadail DIY. Chuige seo, úsáideann go leor déantúsóirí an cáiliúil Stiallacha LED WS2812B RGB, chun rialú dathanna éagsúil agus éifeachtaí soilsithe an-tarraingteach a fháil do do thionscadail. Ar ndóigh is stiallacha iad atá comhoiriúnach go hiomlán le boird Arduino, mar sin ní bheidh aon fhadhb agat agus tú ag iarraidh iad a chomhtháthú.

Is féidir leat iad a fháil i faid 1 mhéadar, mar shampla, cé gur féidir leo athrú ag brath ar an gcineál dlúis soilse do gach méadar atá acu. Mar shampla, tá ó 30 stiúir go 144 stiúir ann. Mar sin féin, má theastaíonn faid níos faide uait chun dromchla níos mó a fháil, tá roghanna eile agat ar an margadh freisin mar phainéil RGB LED nó is féidir leat roinnt stiallacha a úsáid i gcónaí ...

Níl sna stiallacha seo ach rud ar bith sraith de stiúir RGB cóimeáilte agus suite ar thacaíocht choiteann chun iad a ghrúpáil i stiallacha. Ach tá a fheidhmiú comhionann leis na soilse RGB ar leithligh.

Cad é WS2812B?

Stiall stiúir soilsithe RGB WS2812B

I ndáiríre ní hé an WS2812B an stiall féin, ach gach ceann de na cealla nó plátaí beaga RGB LED a chuimsíonn. Is féidir iad a ghrúpáil i bhfoirm stiall nó painéil, ionas gur féidir leat cumraíochtaí éagsúla a dhéanamh i dtéarmaí a líon agus a gcruth. Is stiallacha solúbtha iad na stiallacha a dhéanann suas, ach is féidir leat WS2812B a fháil freisin ar phainéil PCB nach bhfuil.

Más mian leat, is féidir leat na gairis a aimsiú WS2812B ar leithligh chun na cruthanna a theastaíonn uait féin a chruthú. Mar shampla, is gnách go gcosnaíonn thart ar 100 aonad díobh beagán níos mó ná € 10.

gearradh stiallacha faoi stiúir rgb

Ba chóir go mbeadh a fhios agat freisin go gcaitheann tú iad is féidir leat iad a ghearradh le siosúr cibé áit a theastaíonn uait, ní chiallaíonn sin go stopann siad ag obair. Mar sin ní féidir ach na soilse RGB atá uait a bheith agat. Déanta na fírinne, tá roinnt marcálacha air (trí eochaircheap copair) ar féidir leat a ghearradh tríd. Má ghearrann tú trí na ceapacha seo, beidh trí rian agat ar thaobh amháin den stiall agus ar an taobh eile ar eagla go dteastaíonn uait na píosaí eile a athúsáid, iontu is féidir leat na bioráin a sádráil le go mbeidh siad furasta a nascadh.

Pinout agus bileog sonraí

WS2812B i gcill shimplí

Is cill neamhspleách WS2812B í lena hionchuir agus a haschuir

Le haghaidh tuilleadh faisnéise faoi do Stiall stiúir RGB WS2812B Is féidir leat léamh an bhileog sonraí a thairgeann gach monaróir, ansin is féidir leat dul i gcomhairle leis na sonraí go léir maidir le toisí agus tréithe teicniúla chun a fháil amach conas iad a úsáid i gceart, chomh maith le bheith eolach ar na raonta agus na teorainneacha oibríochta go léir.

Maidir le pinoutNí fadhb mhór í ach an oiread, tá nasc simplí ag na stiallacha seo ar féidir leat a mháistir ón tús gan an iomarca eolais. Níl ach trí cinn ar fáil, cé go bhfuil níos mó nasc ag gach cill WS2812B i ndáiríre ...

Ní mór duit ach ceangal ar gach stiall an bioráin Vcc a bheathaíonn an stiall go dtí an 5V ó Arduino nó ó sholáthar cumhachta difriúil, an GND go talamh, ar ndóigh, agus ar deireadh an DI arb é an ceann eile é a rachaidh chuig aschur ar bith den mhicrea-rialaitheoir chun an Soilse RGB ar an stiall.

Má fhéachann tú ar cill WS2812B Feicfidh tú go bhfuil an t-ionchur Data In nó DI aige, agus an soláthar cumhachta Vcc agus GND. Ansin beidh trí aschur eile aici, beidh siad seo ceangailte leis an gcéad chill eile den stiall, agus beidh a haschuir ceangailte ag an gcéad chill eile le hionchur an chéad cheann eile agus mar sin de go dtí go mbeidh an stiall iomlán críochnaithe ...

Tá sé go beacht DI nó ionchur sonraí an ceann atá suimiúil chun na soilse RGB a chumrú, agus beidh an ceann céanna ceangailte le Data Out nó DO a thabharfaidh an fhaisnéis chéanna sin go dtí an chéad nasc eile sa stiall. Agus mar sin scaipeann sé ar fud an stiall.

Ceannaigh Stiallacha LED WS2812B RGB

Rolla stiall RGB LED

Is féidir leat ceannaigh ar phraghas nach bhfuil ró-ard i siopaí speisialaithe éagsúla. Tá siad agat in Amazon i bhformáidí éagsúla freisin. Seo a leanas roinnt samplaí:

Tástáil le Arduino agus WS2812B

Arduino UNO le scéimre WS2812B

Mar is féidir leat a shamhlú, gan ach trí bhiorán tá sé an-éasca ceangail le arduino mar a fheiceann tú sa léaráid thuas. Níl le déanamh agat ach 5v agus GND a nascadh leis an stiall WS2812B, agus an DI le haschur a theastaíonn uait ar Arduino. Cuimhnigh má athraíonn tú an bioráin caithfidh tú an cód foinse a mhodhnú ionas go n-oibreoidh an clár i gceart.

Baineadh úsáid as an leabharlann Máistir FAST-LED chun rudaí a dhéanamh níos éasca agus feidhmeanna simplí a fháil chun soilse RGB a thiomáint. Chun í a íoslódáil agus a chomhtháthú i gceart san Arduino IDE, ní gá ach an leabharlann a íoslódáil ón nasc sin, ansin an ZIP a unzip agus an eolaire nó an fillteán neamhsheolta a athainmniú mar FastLED, agus ansin bog an fillteán sin go dtí an áit a bhfuil leabharlanna Arduino IDE suiteáilte i do shuiteáil. . Ansin athoscailt an Arduino IDE agus beidh sé réidh ...

Maidir le cód sceitse, féadann sé a bheith simplí go leor cosúil leis an gcód seo a leanas. Mura dteastaíonn uait cóipeáil agus greamaigh, is féidir leat é a fháil i measc na samplaí a thagann cheana féin. Mar sin téigh go File> Samplaí> FastLED> ColorPalette.

Cuimhnigh bioráin 14 a athrú ón sampla go 5 arb é an ceann a d'úsáid mé sa léaráid. Nó is féidir leat ceangal le bioráin 14 agus gan an cód a mhodhnú. Mar is fearr leat.
#include <FastLED.h>

#define LED_PIN     5
#define NUM_LEDS    14
#define BRIGHTNESS  64
#define LED_TYPE    WS2811
#define COLOR_ORDER GRB
CRGB leds[NUM_LEDS];

#define UPDATES_PER_SECOND 100

// 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()
{
    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[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::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
};



// 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.



Cloíonn ábhar an ailt lenár bprionsabail eitic eagarthóireachta. Chun earráid a thuairisciú cliceáil anseo.

Bí ar an chéad trácht

Fág do thrácht

Ní thabharfar do sheoladh r-phoist a fhoilsiú. Réimsí riachtanacha atá marcáilte le *

*

*

  1. Freagrach as na sonraí: Miguel Ángel Gatón
  2. Cuspóir na sonraí: SPAM a rialú, bainistíocht trácht.
  3. Legitimation: Do thoiliú
  4. Na sonraí a chur in iúl: Ní chuirfear na sonraí in iúl do thríú páirtithe ach amháin trí oibleagáid dhlíthiúil.
  5. Stóráil sonraí: Bunachar sonraí arna óstáil ag Occentus Networks (EU)
  6. Cearta: Tráth ar bith is féidir leat do chuid faisnéise a theorannú, a aisghabháil agus a scriosadh.