یقینی طور پر آپ کو اپنے DIY پروجیکٹس میں رنگ شامل کرنے کی ضرورت ہے۔ اس کے ل many ، بہت سے ساز مشہور کے استعمال کرتے ہیں WS2812B آرجیبی ایل ای ڈی سٹرپس، جس کے ذریعہ آپ کے منصوبوں کے لئے مختلف رنگ کنٹرول اور روشنی کے ل quite کافی پرکشش اثرات حاصل کریں۔ یقینا وہ آرڈینو بورڈ کے ساتھ مکمل طور پر ہم آہنگ سٹرپس ہیں ، لہذا آپ کو انضمام کرنے کی کوشش کرتے وقت آپ کو کوئی پریشانی نہیں ہوگی۔
آپ انہیں تلاش کرسکتے ہیں 1 میٹر کی لمبائی، مثال کے طور پر ، اگرچہ وہ ہر میٹر کے لئے ایل ای ڈی کی کثافت کی قسم پر منحصر ہوتے ہیں۔ مثال کے طور پر ، 30 ایل ای ڈی سے لے کر 144 ایل ای ڈی تک ہیں۔ تاہم ، اگر آپ کو کسی بڑی سطح کو حاصل کرنے کے ل longer لمبائی کی ضرورت ہو تو ، آپ کے پاس مارکیٹ میں دیگر اختیارات بھی ہیں جیسے آرجیبی ایل ای ڈی پینل یا آپ ہمیشہ کئی سٹرپس استعمال کرسکتے ہیں ...
یہ سٹرپس اس سے زیادہ کچھ نہیں ہیں جمع آرجیبی ایل ای ڈی کا ایک سلسلہ اور ان کو سٹرپس میں گروپ کرنے کے لئے ایک عام تعاون پر سوار تھا۔ لیکن اس کا عمل الگ الگ آرجیبی ایل ای ڈی کی طرح ہے۔
انڈیکس
WS2812B کیا ہے؟
دراصل ڈبلیو ایس 2812 بی خود پٹی نہیں ہے بلکہ ہر ایک ہے خلیات یا چھوٹے آرجیبی ایل ای ڈی پلیٹیں جن میں شامل ہیں۔ ان کو ایک پٹی یا پینل کی شکل میں گروپ کیا جاسکتا ہے ، لہذا آپ ان کی تعداد اور شکل کے لحاظ سے مختلف ترتیب دے سکتے ہیں۔ جو سٹرپس بناتی ہیں وہ لچکدار پٹی ہوتی ہیں ، لیکن آپ پی سی بی پینلز پر WS2812B بھی ڈھونڈ سکتے ہیں جو نہیں ہیں۔
اگر آپ چاہتے ہیں تو ، آپ کو آلات تلاش کرسکتے ہیں WS2812B الگ سے اپنی شکل کی شکل پیدا کرنے کیلئے۔ مثال کے طور پر ، ان میں سے تقریبا 100 10 یونٹوں کی قیمت عام طور پر XNUMX than سے تھوڑی زیادہ ہوتی ہے۔
آپ کو یہ بھی معلوم ہونا چاہئے کہ آپ نے انہیں پھینک دیا آپ ان کو کاٹ سکتے ہیں جہاں آپ کی ضرورت ہو وہاں کینچی کے ساتھ ، اس کا مطلب یہ نہیں ہے کہ وہ کام کرنا چھوڑ دیں۔ لہذا آپ کو صرف آرجیبی ایل ای ڈی مل سکتی ہے جو آپ کی ضرورت ہے۔ در حقیقت ، اس میں کچھ نشانات (تین تانبے کے پیڈ) ہیں جن کو آپ ختم کرسکتے ہیں۔ اگر آپ ان پیڈوں کو کاٹتے ہیں تو ، آپ کے پاس پٹی کے ایک طرف تین پٹیاں ہوں گی اور دوسری طرف اگر آپ دوسرے ٹکڑوں کو دوبارہ استعمال کرنا چاہتے ہیں تو ، ان میں آپ آسانی سے رابطے کے لئے پنوں کو سولڈر کرسکتے ہیں۔
پن آؤٹ اور ڈیٹاشیٹ
یہ ایک آزاد WS2812B سیل ہے جس میں اس کے آؤٹس اور آؤٹ پٹس ہیں
اپنے بارے میں مزید معلومات کے ل آرجیبی ایل ای ڈی کی پٹی WS2812B آپ پڑھ سکتے ہیں ڈیٹاشیٹ ہر کارخانہ دار کے ذریعہ پیش کردہ ، آپ آپریٹنگ حدود اور حدود کو جاننے کے علاوہ ، طول و عرض اور تکنیکی خصوصیات کی تمام تفصیلات سے مشورہ کرسکتے ہیں کہ ان کا صحیح طریقے سے استعمال کیا جائے۔
کے طور پر پنٹ آؤٹیہ بھی کوئی بڑی پریشانی نہیں ہے ، ان سٹرپس کا ایک سادہ سا تعلق ہے جسے آپ شروع سے ہی بہت زیادہ معلومات کے مہارت حاصل کرسکتے ہیں۔ وہاں صرف تین دستیاب ہیں ، حالانکہ ہر WS2812B سیل میں زیادہ سے زیادہ رابطے ہوتے ہیں ...
آپ کو بس ضروری ہے جڑیں۔ ہر ایک پٹی پر وی سی سی پن جو پٹی کو 5V میں آردوینو سے یا کسی مختلف بجلی کی فراہمی ، جی این ڈی سے زمین تک پہنچاتا ہے ، یقینا، اور آخر میں ڈی آئی ہے جو دوسرا ہے جو مائکروکنٹرولر کے کسی بھی آؤٹ پٹ کو چالو کرنے کے لئے جائے گا۔ پٹی پر آرجیبی ایل ای ڈی۔
اگر دیکھو ایک WS2812B سیل آپ دیکھیں گے کہ اس میں ڈیٹا ان یا DI ان پٹ ہے ، اور Vcc اور GND بجلی کی فراہمی ہے۔ پھر اس کے تین دیگر نتائج ہوں گے ، وہ پٹی کے اگلے سیل سے منسلک ہوں گے ، اور اگلے سیل میں اس کی آؤٹ پٹ اگلی اور اس طرح کے ان پٹ سے منسلک ہوں گی جب تک کہ پوری پٹی مکمل نہیں ہوجاتی ...
یہ بالکل وہی ہے ڈی آئی یا ڈیٹا ان پٹ وہ ایک جو آرجیبی ایل ای ڈی کو تشکیل دینے کے لئے دلچسپ ہے ، اور وہی ڈیٹا آؤٹ یا ڈی او سے منسلک ہوگا جو اسی معلومات کو پٹی کے اگلے لنک پر لے جائے گا۔ اور اس طرح یہ پوری پٹی میں پھیلتا ہے۔
WS2812B آرجیبی ایل ای ڈی سٹرپس خریدیں
آپ کر سکتے ہیں بہت زیادہ قیمت پر نہیں خریدتے ہیں مختلف خصوصی اسٹورز میں۔ آپ کے پاس یہ بھی مختلف شکلوں میں ایمیزون میں موجود ہے۔ کچھ مثالیں یہ ہیں:
- آرجیبی ایل ای ڈی سٹرپس WS2812B 60 ایل ای ڈی / ایم.
- آرجیبی ایل ای ڈی سٹرپس WS2812B 100 ایل ای ڈی / ایم.
- آرجیبی ایل ای ڈی سٹرپس WS2812B 144 ایل ای ڈی / ایم.
- WS2812B آرجیبی 5 یلئڈی کے 30 میٹر کی ایل ای ڈی سٹرپس۔
- WS2812B آرجیبی 5 یلئڈی کے 60 میٹر کی ایل ای ڈی سٹرپس۔
- WS2812B پینل
- آرجیبی ایل ای ڈی کی 5 میٹر کنڈلی۔
ارڈینو اور ڈبلیو ایس 2812 بی کے ساتھ جانچ ہو رہی ہے
جیسا کہ آپ تصور کرسکتے ہیں ، صرف تین پنوں کے ساتھ یہ بہت آسان ہے ارڈوینو سے مربوط ہوں جیسا کہ آپ اوپر آراگرام میں دیکھ سکتے ہیں۔ آپ کو صرف 5v اور GND کو WS2812B کی پٹی سے جوڑنا ہے ، اور DI کو ایک آؤٹ پٹ سے مربوط کرنا ہے جو آپ اردوینو پر چاہتے ہیں۔ یاد رکھیں کہ اگر آپ اپنا پن تبدیل کرتے ہیں تو ، آپ کو ماخذ کوڈ میں بھی ترمیم کرنا ہوگی تاکہ پروگرام صحیح طریقے سے کام کرے۔
کے طور پر خاکہ کوڈ، یہ مندرجہ ذیل کوڈ کی طرح بالکل آسان ہوسکتا ہے۔ اگر آپ کاپی کرنا اور پیسٹ کرنا نہیں چاہتے ہیں تو ، آپ اسے پہلے ہی آنے والی مثالوں میں سے ڈھونڈ سکتے ہیں۔ لہذا فائل> مثالوں> فاسٹ ایل ای ڈی> کلر پیلیٹ پر جائیں۔
#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.
تبصرہ کرنے والا پہلا ہونا