అడ్రస్ చేయగల LED స్ట్రిప్ WS2812Bని Arduinoకి ఎలా కనెక్ట్ చేయాలి
LED ల ఆధారంగా లైటింగ్ టెక్నాలజీ అభివృద్ధి వేగంగా కొనసాగుతోంది. నిన్ననే, నియంత్రిక-నియంత్రిత RGB రిబ్బన్లు, రిమోట్ కంట్రోల్ని ఉపయోగించి దాని ప్రకాశం మరియు రంగును సర్దుబాటు చేయవచ్చు, ఇది ఒక అద్భుతంలా అనిపించింది. నేడు, మరిన్ని లక్షణాలతో దీపాలు మార్కెట్లో కనిపించాయి.
WS2812B ఆధారంగా LED స్ట్రిప్
అడ్రస్ చేయగల LED స్ట్రిప్ మరియు స్టాండర్డ్ వన్ మధ్య వ్యత్యాసం RGB విషయం ప్రతి మూలకం యొక్క ప్రకాశం మరియు రంగు నిష్పత్తి విడిగా సర్దుబాటు చేయబడతాయి. ఇది ఇతర రకాల లైటింగ్ పరికరాలకు ప్రాథమికంగా అందుబాటులో లేని లైటింగ్ ప్రభావాలను పొందడానికి మిమ్మల్ని అనుమతిస్తుంది. పల్స్-వెడల్పు మాడ్యులేషన్ ఉపయోగించి - చిరునామా చేయగల LED స్ట్రిప్ యొక్క గ్లో తెలిసిన మార్గంలో నియంత్రించబడుతుంది. ప్రతి LEDని దాని స్వంత PWM కంట్రోలర్తో అమర్చడం సిస్టమ్ యొక్క లక్షణం. WS2812B చిప్ అనేది ట్రై-కలర్ లైట్ ఎమిటింగ్ డయోడ్ మరియు ఒకే ప్యాకేజీలో కలిపి ఉండే కంట్రోల్ సర్క్యూట్.

మూలకాలు సమాంతరంగా పవర్ టేప్లో మిళితం చేయబడతాయి మరియు సీరియల్ బస్ ద్వారా నియంత్రించబడతాయి - మొదటి మూలకం యొక్క అవుట్పుట్ రెండవదాని యొక్క నియంత్రణ ఇన్పుట్కు కనెక్ట్ చేయబడింది. చాలా సందర్భాలలో, సీరియల్ బస్సులు రెండు లైన్లలో నిర్మించబడ్డాయి, వాటిలో ఒకటి స్ట్రోబ్స్ (క్లాక్ పల్స్), మరియు మరొకటి - డేటాను ప్రసారం చేస్తుంది.

WS2812B చిప్ యొక్క కంట్రోల్ బస్ ఒక లైన్ కలిగి ఉంటుంది - దాని ద్వారా డేటా ప్రసారం చేయబడుతుంది. డేటా స్థిరమైన పౌనఃపున్యం యొక్క పల్స్గా ఎన్కోడ్ చేయబడింది, కానీ విభిన్న విధి చక్రాలతో. ఒక పల్స్ - ఒక బిట్. ప్రతి బిట్ యొక్క వ్యవధి 1.25 µs, సున్నా బిట్ 0.4 µs వ్యవధితో అధిక స్థాయిని మరియు 0.85 µs తక్కువ స్థాయిని కలిగి ఉంటుంది. యూనిట్ 0.8 µs కోసం అధిక స్థాయి మరియు 0.45 µs కోసం తక్కువ స్థాయి వలె కనిపిస్తుంది. ప్రతి LEDకి 24-బిట్ (3-బైట్) బర్స్ట్ పంపబడుతుంది, తర్వాత 50 µs కోసం తక్కువ-స్థాయి విరామం ఉంటుంది. దీని అర్థం తదుపరి LED కోసం డేటా ప్రసారం చేయబడుతుంది మరియు గొలుసులోని అన్ని అంశాల కోసం. డేటా బదిలీ 100 µs విరామంతో ముగుస్తుంది. టేప్ ప్రోగ్రామింగ్ సైకిల్ పూర్తయిందని మరియు తదుపరి సెట్ డేటా ప్యాకెట్లను పంపవచ్చని ఇది సూచిస్తుంది.

అటువంటి ప్రోటోకాల్ డేటా ట్రాన్స్మిషన్ కోసం ఒక లైన్ ద్వారా పొందడం సాధ్యం చేస్తుంది, అయితే సమయ వ్యవధిని నిర్వహించడంలో ఖచ్చితత్వం అవసరం. వ్యత్యాసం 150 ns కంటే ఎక్కువ అనుమతించబడదు. అదనంగా, అటువంటి బస్సు యొక్క శబ్దం రోగనిరోధక శక్తి చాలా తక్కువగా ఉంటుంది. తగినంత వ్యాప్తి యొక్క ఏదైనా జోక్యాన్ని నియంత్రిక డేటాగా గుర్తించవచ్చు. ఇది నియంత్రణ సర్క్యూట్ నుండి కండక్టర్ల పొడవుపై పరిమితులను విధిస్తుంది. మరోవైపు, ఇది సాధ్యమవుతుంది రిబ్బన్ ఆరోగ్య తనిఖీ అదనపు పరికరాలు లేకుండా.మీరు దీపానికి శక్తిని వర్తింపజేసి, కంట్రోల్ బస్ యొక్క కాంటాక్ట్ ప్యాడ్ను మీ వేలితో తాకినట్లయితే, కొన్ని LED లు యాదృచ్ఛికంగా వెలిగించి బయటకు వెళ్లవచ్చు.
WS2812B మూలకాల యొక్క లక్షణాలు
చిరునామా టేప్ ఆధారంగా లైటింగ్ వ్యవస్థలను రూపొందించడానికి, మీరు కాంతి ఉద్గార మూలకాల యొక్క ముఖ్యమైన పారామితులను తెలుసుకోవాలి.
| LED కొలతలు | 5x5మి.మీ |
| PWM మాడ్యులేషన్ ఫ్రీక్వెన్సీ | 400 Hz |
| గరిష్ట ప్రకాశం వద్ద ప్రస్తుత వినియోగం | ప్రతి సెల్కి 60 mA |
| సరఫరా వోల్టేజ్ | 5 వోల్ట్లు |
Arduino మరియు WS2812B
ప్రపంచంలో ప్రసిద్ధి చెందిన Arduino ప్లాట్ఫారమ్, చిరునామా టేపులను నిర్వహించడానికి స్కెచ్లను (ప్రోగ్రామ్లు) సృష్టించడానికి మిమ్మల్ని అనుమతిస్తుంది. సిస్టమ్ యొక్క సామర్థ్యాలు తగినంత విస్తృతంగా ఉన్నాయి, కానీ అవి కొంత స్థాయిలో సరిపోకపోతే, పొందిన నైపుణ్యాలు నొప్పిలేకుండా C ++కి మారడానికి లేదా అసెంబ్లర్కు కూడా సరిపోతాయి. ప్రారంభ జ్ఞానం ఆర్డునోలో పొందడం సులభం అయినప్పటికీ.
WS2812B రిబ్బన్ను Arduino Uno (నానో)కి కనెక్ట్ చేస్తోంది
మొదటి దశలో, సాధారణ Arduino Uno లేదా Arduino నానో బోర్డులు సరిపోతాయి. భవిష్యత్తులో, మరింత క్లిష్టమైన వ్యవస్థలను నిర్మించడానికి మరింత క్లిష్టమైన బోర్డులను ఉపయోగించవచ్చు. Arduino బోర్డ్కు అడ్రస్ చేయగల LED స్ట్రిప్ను భౌతికంగా కనెక్ట్ చేసినప్పుడు, అనేక షరతులను గమనించాలి:
- తక్కువ శబ్దం రోగనిరోధక శక్తి కారణంగా, డేటా లైన్ యొక్క కనెక్ట్ కండక్టర్లు వీలైనంత తక్కువగా ఉండాలి (మీరు వాటిని 10 సెం.మీ లోపల చేయడానికి ప్రయత్నించాలి);
- మీరు ఆర్డునో బోర్డ్ యొక్క ఉచిత డిజిటల్ అవుట్పుట్కు డేటా కండక్టర్ను కనెక్ట్ చేయాలి - అది ప్రోగ్రామాటిక్గా పేర్కొనబడుతుంది;
- అధిక విద్యుత్ వినియోగం కారణంగా, బోర్డు నుండి టేప్కు శక్తినివ్వడం అవసరం లేదు - ఈ ప్రయోజనం కోసం ప్రత్యేక విద్యుత్ సరఫరా అందించబడుతుంది.
దీపం మరియు Arduino యొక్క సాధారణ పవర్ వైర్ తప్పనిసరిగా కనెక్ట్ చేయబడాలి.

WS2812B ప్రోగ్రామ్ కంట్రోల్ బేసిక్స్
WS2812B మైక్రో సర్క్యూట్లను నియంత్రించడానికి, అధిక ఖచ్చితత్వాన్ని కొనసాగిస్తూ నిర్దిష్ట పొడవుతో పప్పులను ఉత్పత్తి చేయడం అవసరం అని ఇప్పటికే పేర్కొనబడింది. చిన్న పల్స్ ఏర్పడటానికి Arduino భాషలో ఆదేశాలు ఉన్నాయి మైక్రోసెకన్లు ఆలస్యం మరియు మైక్రోలు. సమస్య ఏమిటంటే ఈ ఆదేశాల రిజల్యూషన్ 4 మైక్రోసెకన్లు. అంటే, ఇచ్చిన ఖచ్చితత్వంతో సమయ జాప్యాలను రూపొందించడానికి ఇది పని చేయదు. C ++ లేదా అసెంబ్లర్ సాధనాలకు మారడం అవసరం. మరియు మీరు దీని కోసం ప్రత్యేకంగా రూపొందించిన లైబ్రరీలను ఉపయోగించి Arduino ద్వారా చిరునామా చేయగల LED స్ట్రిప్ యొక్క నియంత్రణను నిర్వహించవచ్చు. మీరు బ్లింక్ ప్రోగ్రామ్తో మీ పరిచయాన్ని ప్రారంభించవచ్చు, ఇది కాంతి-ఉద్గార మూలకాలను బ్లింక్ చేస్తుంది.
వేగంగా దారితీసింది
ఈ లైబ్రరీ సార్వత్రికమైనది. అడ్రస్ టేప్తో పాటు, ఇది SPI ఇంటర్ఫేస్ ద్వారా నియంత్రించబడే టేపులతో సహా అనేక రకాల పరికరాలకు మద్దతు ఇస్తుంది. ఇది విస్తృత అవకాశాలను కలిగి ఉంది.
ముందుగా, లైబ్రరీని చేర్చాలి. ఇది సెటప్ బ్లాక్కు ముందు చేయబడుతుంది మరియు లైన్ ఇలా కనిపిస్తుంది:
#<FastLED.h>ని చేర్చండి
ప్రతి కాంతి ఉద్గార డయోడ్ యొక్క రంగులను నిల్వ చేయడానికి శ్రేణిని సృష్టించడం తదుపరి దశ. దీనికి పేరు స్ట్రిప్ మరియు పరిమాణం 15 ఉంటుంది - మూలకాల సంఖ్య ద్వారా (ఈ పరామితికి స్థిరాంకం కేటాయించడం మంచిది).
CRGB స్ట్రిప్[15]
సెటప్ బ్లాక్లో, స్కెచ్ ఏ టేప్తో పని చేస్తుందో మీరు పేర్కొనాలి:
శూన్యమైన సెటప్() {
FastLED.addLeds< WS2812B, 7, RGB>(స్ట్రిప్, 15);
intg;
}
RGB పరామితి కలర్ సీక్వెన్స్ క్రమాన్ని సెట్ చేస్తుంది, 15 అంటే LED ల సంఖ్య, 7 అనేది నియంత్రణ కోసం కేటాయించిన అవుట్పుట్ సంఖ్య (చివరి పరామితికి స్థిరంగా కేటాయించడం కూడా మంచిది).
లూప్ బ్లాక్ లూప్తో ప్రారంభమవుతుంది, ఇది శ్రేణి రెడ్ (రెడ్ గ్లో)లోని ప్రతి విభాగానికి వరుసగా వ్రాయబడుతుంది:
కోసం (g=0; g< 15; g++)
{strip[g]=CRGB::Red;}
తరువాత, ఏర్పడిన శ్రేణి దీపానికి పంపబడుతుంది:
FastLED.show();
ఆలస్యం 1000 మిల్లీసెకన్లు (సెకండ్):
ఆలస్యం (1000);
అప్పుడు మీరు వాటిలో నలుపును వ్రాయడం ద్వారా అన్ని అంశాలను ఒకే విధంగా ఆఫ్ చేయవచ్చు.
కోసం (int g=0; g< 15; g++)
{strip[g]=CRGB::నలుపు;}
FastLED.show();
ఆలస్యం (1000);

స్కెచ్ని కంపైల్ చేసి అప్లోడ్ చేసిన తర్వాత, టేప్ 2 సెకన్ల వ్యవధితో ఫ్లాష్ అవుతుంది. మీరు ప్రతి రంగు కాంపోనెంట్ను విడిగా నిర్వహించాల్సిన అవసరం ఉంటే, అప్పుడు లైన్కు బదులుగా {strip[g]=CRGB::Red;} అనేక పంక్తులు ఉపయోగించబడతాయి:
{
స్ట్రిప్[g].r=100;// ఎరుపు మూలకం యొక్క గ్లో స్థాయిని సెట్ చేయండి
స్ట్రిప్[g].g=11;// ఆకుపచ్చ కోసం అదే
స్ట్రిప్[g].b=250;// నీలం కోసం అదే
}
నియోపిక్సెల్
ఈ లైబ్రరీ నియోపిక్సెల్ రింగ్ LED రింగ్లతో మాత్రమే పని చేస్తుంది, అయితే ఇది తక్కువ వనరులు మరియు అవసరమైన వాటిని మాత్రమే కలిగి ఉంటుంది. Arduino భాషలో, ప్రోగ్రామ్ ఇలా కనిపిస్తుంది:
#<Adafruit_NeoPixel.h>ని చేర్చండి
మునుపటి సందర్భంలో వలె, లైబ్రరీ కనెక్ట్ చేయబడింది మరియు లెంటా ఆబ్జెక్ట్ ప్రకటించబడింది:
Adafruit_NeoPixel lenta=Adafruit_NeoPixel(15, 6);// ఇక్కడ 15 మూలకాల సంఖ్య మరియు 6 కేటాయించబడిన అవుట్పుట్
సెటప్ బ్లాక్లో, టేప్ ప్రారంభించబడింది:
శూన్యమైన సెటప్() {
lenta.begin()
}
లూప్ బ్లాక్లో, అన్ని మూలకాలు ఎరుపు రంగులో హైలైట్ చేయబడతాయి, వేరియబుల్ ఫీడ్కి పంపబడుతుంది మరియు 1 సెకను ఆలస్యం సృష్టించబడుతుంది:
కోసం (int y=0; y<15; y++)// 15 - దీపంలోని మూలకాల సంఖ్య
{lenta.setPixelColor(y, lenta.Color(255,0,0))};
tape.show();
ఆలస్యం (1000);
గ్లో బ్లాక్ రికార్డ్తో ఆగిపోతుంది:
కోసం (int y=0; y< 15; y++)
{lenta.setPixelColor(y, lenta.Color(0,0,0))};
tape.show();
ఆలస్యం (1000);

వీడియో ట్యుటోరియల్: అడ్రస్ టేపులను ఉపయోగించి విజువల్ ఎఫెక్ట్ల నమూనాలు.
మీరు LED లను ఎలా ఫ్లాష్ చేయాలో నేర్చుకున్న తర్వాత, మీరు ప్రసిద్ధ రెయిన్బో మరియు అరోరా బోరియాలిస్తో సహా రంగు ప్రభావాలను ఎలా సృష్టించాలో నేర్చుకోవడం కొనసాగించవచ్చు. అడ్రస్ చేయగల LED లు WS2812B మరియు Arduino దీని కోసం దాదాపు అపరిమితమైన అవకాశాలను అందిస్తాయి.
