ఏదైనా రంగు మూడు రంగులతో రూపొందించబడింది: ఎరుపు, ఆకుపచ్చ మరియు నీలం, సాధారణ RGB LED ని ఉపయోగించి మీరు ఏ రంగును అయినా సృష్టించవచ్చు. కానీ RGB LED యొక్క పరిమితి ఏమిటంటే, దాని లోపల మూడు వేర్వేరు LED లు ఉన్నాయి మరియు ఒక RGB LED ని ఆపరేట్ చేయడానికి ఏదైనా మైక్రోకంట్రోలర్ యొక్క మూడు పిన్స్ అవసరం. కాబట్టి ఒక మైక్రోకంట్రోలర్తో వందలాది ఎల్ఈడీలను కనెక్ట్ చేయడం సాధ్యం కాదు.
ఈ సమస్యను అధిగమించడానికి అడాఫ్రూట్ నియో పిక్సెల్ LED స్ట్రిప్ను సృష్టించింది. అనేక RGB నియోపిక్సెల్ LED లను నడపడానికి దీనికి మూడు పిన్స్ మాత్రమే అవసరం. రెండు పిన్స్ శక్తి మరియు భూమి కోసం మరియు ఒక పిన్ డేటా ఇన్ (DI) కోసం. డేటా IN పిన్ స్ట్రిప్లోని విభిన్న LED లను వాటి రంగు, ప్రకాశం మొదలైన వాటితో పరిష్కరించడానికి మరియు నియంత్రించడానికి ఉపయోగించబడుతుంది. అయితే దీనికి నియో పిక్సెల్లను అమలు చేయడానికి మైక్రోకంట్రోలర్ అవసరం. Arduino నియోపిక్సెల్ తో చాలా సాధారణంగా ఉపయోగిస్తారు, కాబట్టి ఈ రోజు మనం Arduino తో ఇంటర్ఫేస్ నియో పిక్సెల్ LED లను నేర్చుకుంటాము. మీరు AdaFruit వద్ద NeoPixels గురించి మరింత తెలుసుకోవచ్చు.
ఇక్కడ ఈ ప్రాజెక్ట్లో మేము ఆర్డునో మరియు టిఎఫ్టి ఎల్సిడి టచ్ స్క్రీన్ను ఉపయోగించి నియోపిక్సెల్ ఎల్ఇడిని నియంత్రిస్తున్నాము. మేము 2.4 అంగుళాల టిఎఫ్టి ఎల్సిడిలో వేర్వేరు రంగుల 7 టచ్ బటన్లను సృష్టించాము మరియు ఎల్సిడిలో కొన్ని రంగుల బటన్ను నొక్కినప్పుడు, నియోపిక్సెల్ ఎల్ఇడి స్ట్రిప్ ఆ బటన్ యొక్క అదే రంగుతో ప్రకాశిస్తుంది. ఇక్కడ మేము 30 LED ల యొక్క నియోపిక్సెల్ డిజిటల్ RGB LED స్ట్రిప్ను ఉపయోగించాము.
నియోపిక్సెల్ ఆర్జిబి ఎల్ఇడిని ఏ రంగులోనైనా ప్రకాశింపజేయవచ్చు, అందువల్ల ఎల్సిడిలో ఎక్కువ బటన్లను జోడించి, ఆ బటన్లపై నొక్కడం ద్వారా ఎల్ఇడిని ఎక్కువ రంగులలో మెరుస్తుంది. కోడింగ్ ఉపయోగించి ఇతర అందమైన ప్రభావాలు మరియు నమూనాలను కూడా జోడించవచ్చు. మీరు NEO పిక్సెల్ LED లను ఉపయోగించి పూర్తి Arduino నియంత్రిత అలంకరణ వ్యవస్థను నిర్మించవచ్చు మరియు మీకు సమీపంలో ఉన్న LCD ద్వారా ఈ వ్యవస్థను నియంత్రించవచ్చు.
అవసరమైన భాగాలు:
- ఆర్డునో మెగా లేదా మరేదైనా ఆర్డునో మోడల్
- SPFD5408 కంట్రోలర్తో 2.4 అంగుళాల TFT LCD షీల్డ్
- నియోపిక్సెల్ RGB LED స్ట్రిప్
- వైర్లను కనెక్ట్ చేస్తోంది
- USB కేబుల్ లేదా 12 V 1A అడాప్టర్
సర్క్యూట్ కనెక్షన్లు:
కు , Arduino NeoPixels స్ట్రిప్ కనెక్ట్ మెగా కేవలం NeoPixel యొక్క 5V పిన్ Arduino 5V పిన్ మరియు NeoPixel యొక్క GND మెగా యొక్క GND ఆపై కనెక్ట్ కనెక్ట్ (డేటా) NeoPixel DI పిన్ డిజిటల్ పిన్ Arduino మెగా సంఖ్య 36. ఆర్డినోపై టిఎఫ్టి ఎల్సిడి టచ్ షీల్డ్ను జాగ్రత్తగా మౌంట్ చేయండి, అంటే జిఎన్డి ఆఫ్ మెగా ఎల్సిడి జిఎన్డి క్రింద ఉంటుంది మరియు ఆర్డ్యునో యొక్క 5 వి పిన్ ఎల్సిడి యొక్క 5 వి పిన్తో కలుపుతుంది.
ఆర్డ్యునోకు కనెక్ట్ చేసేటప్పుడు జిఎన్డి మరియు 5 వి పిన్ నియోపిక్సెల్ ఎల్ఇడి స్ట్రిప్ను మార్చుకోకుండా జాగ్రత్త వహించండి, లేకుంటే అది నియోపిక్సెల్ ఎల్ఇడి స్ట్రిప్ను పాడు చేస్తుంది. ఇక్కడ మేము ఆర్డునో మెగాను ఉపయోగించామని గమనించండి కాని మీరు మరే ఇతర ఆర్డునో మోడల్ను ఉపయోగించవచ్చు.
నియోపిక్సెల్ RGB LED స్ట్రిప్ నుండి Arduino కు కనెక్షన్లు:
ఆర్డునో పిన్స్ |
నియోపిక్సెల్ స్ట్రిప్స్ పిన్స్ |
5 వి |
5 వి |
GND |
GND |
డిజిటల్ పిన్ నం. 36 |
DI (డేటా ఇన్) |
పని వివరణ:
ఆర్డునోతో నియో పిక్సెల్ ఎల్ఈడీ పనిచేయడం చాలా సులభం. మీరు నియో పిక్సెల్ LED స్ట్రిప్ను మెరుస్తున్న ఎల్సిడిలోని ఏదైనా రంగు యొక్క టచ్ బటన్ను నొక్కండి. ఆ రంగు ప్రకారం ఎల్ఈడీ వెలిగిపోతుంది. ఆర్డునో మెగాను రీసెట్ చేయకుండా మీరు ఈ పనిని అనంతంగా పునరావృతం చేసే విధంగా కోడ్ వ్రాయబడింది. మీరు ఈ వ్యాసం చివర కోడ్ మరియు డెమో వీడియోను తనిఖీ చేయవచ్చు.
ఎల్సిడిలో ఏదైనా బటన్ను నొక్కినప్పుడు, డేటా ఆర్డునోకు పంపబడుతుంది మరియు అర్దునో నియోపిక్సెల్ స్ట్రిప్కు సూచనలను తదనుగుణంగా వెలుగులోకి పంపుతుంది. ఉదాహరణకు, మేము ఎల్సిడిలోని గ్రీన్ బటన్ను నొక్కినప్పుడు నియోపిక్సెల్ ఎల్ఇడి స్ట్రిప్ గ్రీన్ కలర్లో మెరుస్తుంది మరియు మేము రెడ్ బటన్ను నొక్కినప్పుడు ఎల్ఇడి స్ట్రిప్ ఎరుపు రంగులో మెరుస్తుంది.
ప్రోగ్రామింగ్ వివరణ:
ఆర్డునోతో టిఎఫ్టి ఎల్సిడిని ఇంటర్ఫేస్ చేయడానికి మేము కొన్ని లైబ్రరీలను ఉపయోగించాము. అన్ని లైబ్రరీలు ఒకే రార్ ఫైల్లో వస్తాయి మరియు ఈ లింక్ నుండి డౌన్లోడ్ చేసుకోవచ్చు. 'క్లోన్ లేదా డౌన్లోడ్' మరియు 'డౌన్లోడ్ జిప్' ఫైల్పై క్లిక్ చేసి, మీ ఆర్డునో లైబ్రరీ ఫోల్డర్కు జోడించండి. TFT LCD యొక్క సరైన పనితీరు కోసం ఈ లైబ్రరీ అవసరం.
# చేర్చండి
లైబ్రరీలో ఇచ్చిన ఉదాహరణ కోడ్లతో ఆర్డునోను కాల్చడం ద్వారా మీరు మీ టిఎఫ్టి ఎల్సిడిని పరీక్షించాలి మరియు సంకేతాలు సరిగ్గా పనిచేస్తున్నాయో లేదో తనిఖీ చేయండి. మొదట గ్రాఫిక్స్ పరీక్షను తనిఖీ చేయండి, తరువాత పరీక్షను క్రమాంకనం చేయండి మరియు చివరకు పెయింట్ పరీక్ష. అన్ని లక్షణాలు బాగా పనిచేస్తున్నాయని మీరు కనుగొంటే, ఈ ట్యుటోరియల్లో ఇచ్చిన కోడ్తో ప్రారంభించండి.
నియోపిక్సెల్ RGB LED స్ట్రిప్ యొక్క సరైన పనితీరు కోసం, మీకు మరో లైబ్రరీ అవసరం, ఇక్కడ నుండి డౌన్లోడ్ చేసుకోవచ్చు.
# చేర్చండి
ఇంతకు ముందు వివరించినట్లుగా, MEGA యొక్క డిజిటల్ పిన్ 36 క్రింద కోడ్లో చూపిన విధంగా నియోపిక్సెల్ LED స్ట్రిప్ యొక్క DI పిన్తో అనుసంధానించబడి ఉంది. కోడ్లో వ్రాసినట్లుగా స్ట్రిప్లోని LED ల సంఖ్యలు 30 ఉన్నాయి:
# పిన్ 36 ని నిర్వచించండి # NUM_LEDS 30 ని నిర్వచించండి
LCD బటన్ల ప్రదర్శన రంగులు కొన్ని కోడ్లచే సూచించబడతాయి. మీ ఎల్సిడి ప్రకారం మీరు ఈ కోడ్లను మార్చవచ్చు.
# BLACK 0x0000 # నిర్వచించండి YELLOW 0x001F # నిర్వచించండి GREEN 0xF800 # RED 0x07E0 ని నిర్వచించండి # CYAN 0x07FF ని నిర్వచించండి
పరిమాణం మరియు స్థానం వంటి బటన్ల కోసం కొన్ని పారామితులు కోడ్లో నిర్వచించబడ్డాయి:
uint16_t వెడల్పు = 0; uint16_t ఎత్తు = 0; uint16_t x = 40; uint16_t y = ఎత్తు - 20; uint16_t w = 75; uint16_t h = 20;
h పారామితి LCD లోని బటన్ పరిమాణాన్ని సర్దుబాటు చేయడానికి ఉపయోగించబడుతుంది. మీరు దీన్ని 40 చేస్తే, అప్పుడు బటన్ పరిమాణం రెట్టింపు అవుతుంది. y పరామితి LCD యొక్క y కోఆర్డినేట్.
టచ్ బటన్లు కోడ్లో చూపిన విధంగా సంఖ్యల ద్వారా సూచించబడతాయి:
# BUTTONS 9 ని నిర్వచించండి # BUTTON_Red 0 ని నిర్వచించండి # BUTTON_DarkRed 1 ని నిర్వచించండి # BUTTON_RED 2 ని నిర్వచించండి # BUTTON_DarkGreen 3 ని నిర్వచించండి # BUTTON_DeepRed 4 ను నిర్వచించండి
నియోపిక్సెల్ నుండి రంగును విడుదల చేయడానికి కొన్ని విధులు ఉపయోగించబడతాయి:
శూన్య ఎమిట్కాన్ (); శూన్యమైన ఎమిట్వైట్ (); శూన్యమైన ఎమిట్గ్రీన్ (); శూన్య ఎమిట్ యెల్లో (); శూన్య ఎమిట్పింక్ (); శూన్య ఎమిట్బ్లాక్ ();
టు డిజిటల్ RGB విలువలు కనుగొనేందుకు ఇచ్చిన రంగు కోసం నమోదు, మీరు ఈ లింక్ అనుసరించండి. మీ నియోపిక్సెల్ స్ట్రిప్ మెరుస్తున్న రంగును ఎంటర్ చేసి, ఆ రంగు కోసం RGB విలువలను కనుగొని పై ఫంక్షన్లలో ఉంచండి.
void initializeButtons () ఫంక్షన్ బటన్లకు టెక్స్ట్ మరియు కలర్ ఇవ్వడానికి మరియు వాటిని LCD లో అవసరమైన స్థలంలో ఉంచడానికి కూడా ఉపయోగించబడుతుంది.
void initializeButtons () {uint16_t x = 40; uint16_t y = ఎత్తు - 20; uint16_t w = 75; uint16_t h = 40; uint8_t స్పేసింగ్_ఎక్స్ = 5……………………..
void showCalibration () ఫంక్షన్ LCD లోని బటన్లను గీయడానికి ఉపయోగించబడుతుంది.
void showCalibration () {tft.setCursor (40, 0); (uint8_t i = 0; i <8; i ++) {buttons.drawButton (); }}
కావలసిన రంగులో నియోపిక్సెల్ ఎల్ఈడి స్ట్రిప్ను ప్రకాశించే పూర్తి ఆర్డునో కోడ్ క్రింద ఇవ్వబడింది. కోడ్ బిట్ పొడవైనది కాని సరళమైనది, మీరు కోడ్ను సులభంగా అర్థం చేసుకోవచ్చు.