- అవసరమైన భాగాలు:
- వివరణ:
- సర్క్యూట్ రేఖాచిత్రం మరియు పని వివరణ:
- EasyEDA ఉపయోగించి సర్క్యూట్ మరియు PCB డిజైన్:
- పిసిబి నమూనాలను ఆన్లైన్లో లెక్కించడం మరియు ఆర్డరింగ్ చేయడం:
- ప్రోగ్రామింగ్ వివరణ:
ఈ ప్రాజెక్టులో పిసిబిలో పిఐసి ఆధారిత కార్ బ్యాటరీ పర్యవేక్షణ వ్యవస్థను తయారు చేయబోతున్నాం. ఇక్కడ మేము EASYEDA ఆన్లైన్ PCB సిమ్యులేటర్ మరియు డిజైనర్ ఉపయోగించి PCB ని రూపొందించాము. ఈ కార్ బ్యాటరీ మానిటరింగ్ సర్క్యూట్ కారు యొక్క డాష్బోర్డ్లోని పవర్ అవుట్లెట్లోకి ప్లగ్ చేయడం ద్వారా కార్ బ్యాటరీ యొక్క శక్తిని పర్యవేక్షించడానికి ఉపయోగించబడుతుంది. PCB కూడా అది ఉపయోగించడానికి ఎంపిక ఉంది వోల్టేజ్ కొలత సాధనం లేదా వోల్టామీటర్ USB కారు ఛార్జర్ ఉపయోగించి లేకుండా. ఇతర విద్యుత్ వనరుల వోల్టేజ్ను కొలవడానికి మేము ఇక్కడ టెర్మినల్ బ్లాక్ను అటాచ్ చేసాము, దానిలో రెండు వైర్లను విద్యుత్ వనరు నుండి కనెక్ట్ చేయడం ద్వారా.
అవసరమైన భాగాలు:
- PIC మైక్రోకంట్రోలర్ PIC18F2520 -1
- ఫ్యాబ్రికేటెడ్ పిసిబి బోర్డు -1
- USB కనెక్టర్ -1
- 2 పిన్ టెర్మినల్ కనెక్టర్ (ఐచ్ఛికం) -1
- సాధారణ యానోడ్ ఏడు సెగ్మెంట్ డిస్ప్లే (1 లో 4) -1
- బిసి 557 ట్రాన్సిస్టర్ -4
- 1 కె రెసిస్టర్ -6
- 2 కె రెసిస్టర్ -1
- 100 ఆర్ రెసిస్టర్ -8
- 1000uF కెపాసిటర్ -1
- 10uF కెపాసిటర్ -1
- 28 పిన్ ఐసి బేస్ -1
- ఆడ బర్గ్ స్టిక్ -1
- 7805 వోల్టేజ్ రెగ్యులేటర్ -1
- కారు USB ఛార్జర్ -1
- LED -1
- జెనర్ డయోడ్ 5.1 వి -2
- USB కేబుల్ (B- రకం లేదా Arduino UNO అనుకూలమైనది) -1
- 20MHz క్రిస్టల్ -1
- 33 పిఎఫ్ కెపాసిటర్ -2
వివరణ:
సాధారణంగా ప్రతిసారీ కారు బ్యాటరీ శక్తిని కొలవడం ముఖ్యం కాదు, అయితే ఛార్జింగ్ సమయంలో బ్యాటరీ వోల్టేజ్ గురించి మనం తెలుసుకోవాలి, దాని ఛార్జింగ్ ఉందో లేదో తనిఖీ చేయాలి. దీని ద్వారా, ఛార్జింగ్ వ్యవస్థ తప్పుగా ఉండటం వల్ల బ్యాటరీ వైఫల్యాన్ని మనం రక్షించుకోవచ్చు. ఛార్జింగ్ సమయంలో 12v కార్ బ్యాటరీ యొక్క వోల్టేజ్ 13.7v. కాబట్టి మన బ్యాటరీ బాగా ఛార్జ్ అవుతుందో లేదో గుర్తించవచ్చు మరియు బ్యాటరీ వైఫల్యానికి గల కారణాలను పరిశోధించవచ్చు. ఈ ప్రాజెక్ట్లో, పిఐసి మైక్రోకంట్రోలర్ను ఉపయోగించి కార్ బ్యాటరీ కోసం వోల్టేజ్ మీటర్ను అమలు చేయబోతున్నాం. వోల్టేజ్ డివైడర్ సర్క్యూట్ సహాయంతో మైక్రోకంట్రోలర్ యొక్క ADC పిన్కు బ్యాటరీ వోల్టేజ్ పొందడానికి కార్ సిగరెట్ లైటర్ లేదా కార్ USB ఛార్జర్ ఉపయోగించబడుతుంది. అప్పుడు 4 అంకెల ఏడు సెగ్మెంట్ డిస్ప్లేబ్యాటరీ యొక్క వోల్టేజ్ విలువను చూపించడానికి ఉపయోగిస్తారు. ఈ సర్క్యూట్ 15v వరకు వోల్టేజ్ను కొలవగలదు.
కారు బ్యాటరీ ఛార్జింగ్ అయినప్పుడు, బ్యాటరీ టెర్మినల్స్ అంతటా వోల్టేజ్ వాస్తవానికి ఆల్టర్నేటర్ / రెక్టిఫైయర్ నుండి వస్తోంది, అందుకే సిస్టమ్ 13.7 వోల్ట్లను చదువుతుంది. బ్యాటరీ ఛార్జింగ్ చేయనప్పుడు లేదా కారు యొక్క ఇంజిన్ ఆన్లో లేనప్పుడు, బ్యాటరీ టెర్మినల్ అంతటా వోల్టేజ్ 12v చుట్టూ వాస్తవ బ్యాటరీ వోల్టేజ్.
15v వరకు ఇతర విద్యుత్ వనరుల వోల్టేజ్ను కొలవడానికి కూడా మేము అదే సర్క్యూట్ను ఉపయోగించవచ్చు. ఈ ప్రయోజనం కోసం మేము పిసిబిలో టెర్మినల్ బ్లాక్ (గ్రీన్ కలర్ ప్లాస్టిక్ బ్లాక్) ను కరిగించాము, ఇక్కడ మీరు విద్యుత్ వనరు నుండి రెండు వైర్లను కనెక్ట్ చేయవచ్చు మరియు వోల్టేజ్ను పర్యవేక్షించవచ్చు. చివర్లో వీడియోను తనిఖీ చేయండి, వేరియబుల్ విద్యుత్ సరఫరా, యుఎస్బి పవర్ బ్యాంక్ మరియు 12 వి ఎసి-డిసి అడాప్టర్ యొక్క వోల్టేజ్ను కొలవడం ద్వారా మేము దానిని ఎక్కడ ప్రదర్శించాము. సింపుల్ బ్యాటరీ మానిటర్ సర్క్యూట్ మరియు 12 వి బ్యాటరీ ఛార్జర్ సర్క్యూట్ను కూడా తనిఖీ చేయండి.
సర్క్యూట్ రేఖాచిత్రం మరియు పని వివరణ:
ఈ బ్యాటరీ వోల్టేజ్ మానిటరింగ్ సర్క్యూట్లో, మేము పిఐసి మైక్రోకంట్రోలర్ యొక్క అంతర్నిర్మిత అనలాగ్ పిన్ను ఉపయోగించి కార్ బ్యాటరీ వోల్టేజ్ చదివాము మరియు ఇక్కడ మేము వోల్టేజ్ డివైడర్ సర్క్యూట్ ద్వారా మైక్రోకంట్రోలర్ యొక్క పిన్ AN0 (28) పిన్ను ఎంచుకున్నాము. 5.1v యొక్క జెనర్ డయోడ్ కూడా రక్షణ కోసం ఉపయోగించబడుతుంది.
మైక్రోకంట్రోలర్ యొక్క PORTB మరియు PORTC వద్ద అనుసంధానించబడిన కార్ బ్యాటరీ వోల్టేజ్ యొక్క తక్షణ విలువను ప్రదర్శించడానికి 1 లో 1 ఏడు సెగ్మెంట్ డిస్ప్లే ఉపయోగించబడుతుంది. 5 సె వోల్టేజ్ రెగ్యులేటర్ అంటే LM7805 సెవెన్ సెగ్మెంట్ డిస్ప్లేలతో సహా మొత్తం సర్క్యూట్ను శక్తివంతం చేయడానికి ఉపయోగించబడుతుంది. మైక్రోకంట్రోలర్ను గడియారం చేయడానికి 20 MHz క్రిస్టల్ ఓసిలేటర్ ఉపయోగించబడుతుంది. LM7805 ను ఉపయోగించడం ద్వారా సర్క్యూట్ USB కార్ ఛార్జర్ చేత శక్తిని పొందుతుంది. మేము పిసిబిలో యుఎస్బి పోర్టును చేర్చుకున్నాము, కాబట్టి మేము నేరుగా కారు యుఎస్బి ఛార్జర్ను సర్క్యూట్కు కనెక్ట్ చేయవచ్చు.
కార్ USB ఛార్జర్ లేదా సిగరెట్ లైటర్ కారు యొక్క 12v పవర్ అవుట్లెట్ నుండి 5v నియంత్రిత సరఫరాను అందిస్తుంది, కాని మేము కార్ బ్యాటరీ యొక్క వాస్తవ వోల్టేజ్ను కొలవాలి, కాబట్టి మేము కార్ ఛార్జర్ను సర్దుబాటు చేసాము. మీరు కారు యుఎస్బి ఛార్జర్ను తెరిచి, ఆపై 5 వి (అవుట్పుట్) మరియు 12 వి (ఇన్పుట్) టెర్మినల్లను కనుగొని, ఇసుక కాగితంతో లేదా కొన్ని కఠినమైన విషయాలతో రుద్దడం ద్వారా 5 వి కనెక్షన్ను తొలగించి, యుఎస్బి అవుట్పుట్ టెర్మినల్ను నేరుగా 12 వికి తగ్గించండి. మొదట కారు USB ఛార్జర్లోని USB పోర్ట్ నుండి 5v కనెక్షన్ను తెరిచి, ఆపై 5v కనెక్ట్ చేయబడిన USB పోర్ట్కు 12v ని కనెక్ట్ చేయండి. దిగువ చిత్రంలో చూపినట్లుగా, మేము ఎరుపు వృత్తాకార కనెక్షన్ను కత్తిరించాము, ఇది మీ కారు ఛార్జర్లో తేడా ఉండవచ్చు.
ఇక్కడ ADC ను కాన్ఫిగర్ చేయడానికి మేము ADC మార్పిడి కోసం 5v మరియు f / 32 గడియారం యొక్క అంతర్గత రిఫరెన్స్ వోల్టేజ్తో అనలాగ్ పిన్ AN0 ని ఎంచుకున్నాము.
మేము ఇచ్చిన ఫార్ములాను ఉపయోగించిన ADC విలువ నుండి కార్ బ్యాటరీ వోల్టేజ్ను లెక్కించడానికి:
వోల్టేజ్ = (ADC విలువ / రెసిస్టర్ కారకం) * సూచన వోల్టేజ్ ఎక్కడ: ADC విలువ = వోల్టేజ్ డివైడర్ యొక్క అవుట్పుట్ (మైక్రోకంట్రోలర్ చేత డిజిటల్ గా మార్చబడుతుంది) రెసిస్టర్ కారకం = 1023.0 / (R2 / R1 + R2) // 1023 గరిష్ట ADC విలువ (10- బిట్) రిఫరెన్స్ వోల్టేజ్ = 5 వోల్ట్లు // అంతర్గత 5 వి రిఫరెన్స్ ఎంచుకోబడింది
రెసిస్టర్ ఫ్యాక్టర్ లెక్కింపు:
ఈ ప్రాజెక్ట్లో మేము 12v-14v చుట్టూ (సాధారణంగా) కార్ బ్యాటరీ వోల్టేజ్ చదువుతున్నాము. కాబట్టి మేము ఈ ప్రాజెక్ట్ను గరిష్టంగా 15 వి అని అనుకున్నాము అంటే ఈ వ్యవస్థను గరిష్టంగా 15 వి వరకు చదవవచ్చు.
కాబట్టి సర్క్యూట్లో మేము వోల్టేజ్ డివైడర్ భాగంలో R1 మరియు R2 రెసిస్టర్లను ఉపయోగించాము మరియు విలువలు:
R1 = 2K
R2 = 1K
రెసిస్టర్ కారకం = 1023.0 * (1000/2000 + 1000)
రెసిస్టర్ కారకం = 1023.0 * (1/3)
15 వోల్ట్ల వరకు రెసిస్టర్ కారకం = 341.0
కాబట్టి వోల్టేజ్ లెక్కింపు కోసం తుది ఫార్ములా క్రింది విధంగా ఉంటుంది, ఈ ఆర్టికల్ చివరిలో ఇచ్చిన కోడ్ను మేము ఉపయోగించాము:
వోల్టేజ్ = (ADC విలువ / 341.0) * 5.0
EasyEDA ఉపయోగించి సర్క్యూట్ మరియు PCB డిజైన్:
కార్ బ్యాటరీ వోల్టేజ్ మానిటర్ కోసం సర్క్యూట్ రూపకల్పన చేయడానికి, మేము ఈజీఇడిఎను ఉపయోగించాము, ఇది సర్క్యూట్లు మరియు పిసిబిలను అతుకులు లేకుండా సృష్టించడానికి ఉచిత ఆన్లైన్ EDA సాధనం. మేము ఇంతకుముందు ఈజీఇడిఎ నుండి కొన్ని పిసిబిలను ఆర్డర్ చేశాము మరియు సర్క్యూట్లను గీయడం నుండి పిసిబిలను ఆర్డర్ చేయడం వరకు, ఇతర పిసిబి ఫాబ్రికేటర్లతో పోల్చితే మరింత సౌకర్యవంతంగా మరియు సమర్థవంతంగా, మొత్తం ప్రక్రియను మేము కనుగొన్నందున వారి సేవలను ఉపయోగిస్తున్నాము. ఈజీఇడిఎ సర్క్యూట్ డ్రాయింగ్, సిమ్యులేషన్, పిసిబి డిజైన్ను ఉచితంగా అందిస్తుంది మరియు అధిక నాణ్యత గల కానీ తక్కువ ధర కస్టమైజ్డ్ పిసిబి సేవలను కూడా అందిస్తుంది. స్కీమాటిక్స్, పిసిబి లేఅవుట్లు, సర్క్యూట్లను అనుకరించడం మొదలైన వాటి కోసం ఈజీ ఇడిఎను ఎలా ఉపయోగించాలో పూర్తి ట్యుటోరియల్ ఇక్కడ చూడండి.
EasyEDA రోజురోజుకు మెరుగుపడుతోంది; వారు చాలా క్రొత్త లక్షణాలను జోడించారు మరియు మొత్తం వినియోగదారు అనుభవాన్ని మెరుగుపరిచారు, ఇది ఈజీఇడిఎను సర్క్యూట్ల రూపకల్పనకు సులభతరం మరియు ఉపయోగపడేలా చేస్తుంది. వారు త్వరలో దాని డెస్క్టాప్ వెర్షన్ను విడుదల చేయబోతున్నారు, వీటిని డౌన్లోడ్ చేసి ఆఫ్లైన్ ఉపయోగం కోసం మీ కంప్యూటర్లో ఇన్స్టాల్ చేయవచ్చు.
EasyEDA లో, మీరు మీ సర్క్యూట్ మరియు పిసిబి డిజైన్లను పబ్లిక్ చేయవచ్చు, తద్వారా ఇతర వినియోగదారులు వాటిని కాపీ చేయవచ్చు లేదా సవరించవచ్చు మరియు అక్కడ నుండి ప్రయోజనం పొందవచ్చు, ఈ కార్ బ్యాటరీ వోల్టేజ్ మానిటర్ కోసం మేము మా మొత్తం సర్క్యూట్ మరియు పిసిబి లేఅవుట్లను కూడా పబ్లిక్ చేసాము , ఈ క్రింది లింక్ను తనిఖీ చేయండి:
easyeda.com/circuitdigest/PIC_based_Car_Battery_Monitoring_System-63c2d5948eaa48c5bcbbd8db49a6c776
ఈజీఇడిఎ నుండి పిసిబి లేఅవుట్ యొక్క టాప్ లేయర్ యొక్క స్నాప్షాట్ క్రింద ఉంది, మీరు పొరను 'లేయర్స్' విండోగా ఎంచుకోవడం ద్వారా పిసిబి యొక్క ఏదైనా లేయర్ (టాప్, బాటమ్, టాప్సిల్క్, బాటమ్సిల్క్ మొదలైనవి) చూడవచ్చు.
పిసిబి నమూనాలను ఆన్లైన్లో లెక్కించడం మరియు ఆర్డరింగ్ చేయడం:
పిసిబి రూపకల్పనను పూర్తి చేసిన తర్వాత, మీరు ఫ్యాబ్రికేషన్ అవుట్పుట్ యొక్క చిహ్నాన్ని క్లిక్ చేయవచ్చు, ఇది మిమ్మల్ని పిసిబి ఆర్డర్ పేజీలో తీసుకెళుతుంది. ఇక్కడ మీరు మీ పిసిబిని గెర్బెర్ వ్యూయర్లో చూడవచ్చు లేదా మీ పిసిబి యొక్క గెర్బెర్ ఫైల్లను డౌన్లోడ్ చేసుకొని వాటిని ఏదైనా తయారీదారుకు పంపవచ్చు, దీన్ని ఈజీఇడిఎలో నేరుగా ఆర్డర్ చేయడం కూడా చాలా సులభం (మరియు చౌకైనది). ఇక్కడ మీరు ఆర్డర్ చేయదలిచిన పిసిబిల సంఖ్య, మీకు ఎన్ని రాగి పొరలు అవసరం, పిసిబి మందం, రాగి బరువు మరియు పిసిబి రంగును కూడా ఎంచుకోవచ్చు. మీరు అన్ని ఎంపికలను ఎంచుకున్న తర్వాత, “కార్ట్కు సేవ్ చేయి” క్లిక్ చేసి, మీ ఆర్డర్ను పూర్తి చేయండి, కొన్ని రోజుల తరువాత మీరు మీ పిసిబిలను పొందుతారు.
మీరు నేరుగా ఈ పిసిబిని ఆర్డర్ చేయవచ్చు లేదా ఈ లింక్ను ఉపయోగించి గెర్బెర్ ఫైల్ను డౌన్లోడ్ చేసుకోవచ్చు.
పిసిబిని ఆర్డర్ చేసిన కొన్ని రోజుల తరువాత నాకు పిసిబి నమూనాలు వచ్చాయి
పిసిబిలను పొందిన తరువాత నేను అవసరమైన అన్ని భాగాలను పిసిబిపై అమర్చాను, చివరకు మా కార్ బ్యాటరీ మానిటరింగ్ సిస్టమ్ సిద్ధంగా ఉంది, చివరిలో ఇచ్చిన వీడియోలో పని చేయడంలో ఈ సర్క్యూట్ను తనిఖీ చేయండి.
ప్రోగ్రామింగ్ వివరణ:
ఈ ప్రాజెక్ట్ యొక్క కార్యక్రమం ప్రారంభకులకు కొద్దిగా కష్టం. ఈ కోడ్ రాయడానికి మాకు కొన్ని హెడర్ ఫైల్స్ అవసరం. ఇక్కడ మేము కోడింగ్ కోసం MPLAB X IDE మరియు కోడ్ను నిర్మించడానికి మరియు కంపైల్ చేయడానికి XC కంపైలర్ను ఉపయోగిస్తున్నాము. కోడ్ సి భాషలో వ్రాయబడింది.
ఈ కోడ్లో, మేము అనలాగ్ పిన్ను ఉపయోగించి బ్యాటరీ వోల్టేజ్ను చదివాము మరియు 4-అంకెల ఏడు సెగ్మెంట్ డిస్ప్లేకి డేటాను నియంత్రించడానికి లేదా పంపించడానికి, మేము PIC మైక్రోకంట్రోలర్లో టైమర్ ఇంటరప్ట్ సర్వర్ రొటీన్ను ఉపయోగించాము. వోల్టేజ్ కొలత కోసం అన్ని లెక్కింపు ప్రధాన ప్రోగ్రామ్ దినచర్యలో జరుగుతుంది.
మొదట, కోడ్లో మేము హెడర్ను చేర్చుకున్నాము, ఆపై కాన్ఫిగరేషన్ బిట్లను ఉపయోగించి PIC మైక్రోకంట్రోలర్ను కాన్ఫిగర్ చేసాము.
# చేర్చండి
ఆపై ఏడు విభాగాల ప్రదర్శన కోసం వేరియబుల్స్ మరియు నిర్వచించిన పిన్లను ప్రకటించారు
సంతకం చేయని పూర్ణాంకం 2; సంతకం చేయని చార్ స్థానం = 0; సంతకం చేయని చార్ k = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; int digit1 = 0, digit2 = 0, digit3 = 0, digit4 = 0; # define TRIS_seg1 TRISCbits.TRISC0 # define TRIS_seg2 TRISCbits.TRISC1 # define TRIS_seg3 TRISCbits.TRISC2 # define TRIS_seg4 TRISCbits.TRISC3 # define TRIS_led1 TRISAbits.TRISA2 # define TRIS_led2 TRISAbits.TRISA5 # define TRIS_led3 TRISAbits.TRISA0 # define TRIS_led4 TRISAbits.TRISA1 # define TRIS_led5 TRISAbits.TRISA………………
ఇప్పుడు మేము ఏడు సెగ్మెంట్ డిస్ప్లేని డ్రైవింగ్ చేయడానికి టైమర్ అంతరాయ దినచర్యను సృష్టించాము:
void interrupt low_priority LowIsr (void) {if (TMR0IF == 1) {counter2 ++; if (counter2> = 1) {if (స్థానం == 0) {seg1 = 0; seg2 = 1; seg3 = 1; seg4 = 1;………………
ఇప్పుడు శూన్యమైన ప్రధాన () ఫంక్షన్లో, మేము టైమర్ను ప్రారంభించాము మరియు అంతరాయం కలిగించాము.
GIE = 1; // గ్లోబల్ ఇంట్రప్ట్ ఎనేబుల్ PEIE = 1; // పరిధీయ అంతరాయ జెండా T0CON = 0b000000000; // ప్రీస్కాలర్ విలువ TMR0IE = 1; // అంతరాయం ఎనేబుల్ TMR0IP = 0; // అంతరాయ ప్రాధాన్యత TMR0 = 55536; // ఈ విలువ తర్వాత కౌంటర్ను ప్రారంభించండి TMR0ON = 1;
ఆపై లో అయితే లూప్, మేము అనలాగ్ పిన్ అనలాగ్ ఇన్పుట్ చదివి లెక్కల కోసం కొన్ని ఫంక్షన్ కాల్.
(1) {adc_init (); (i = 0; i <40; i ++) {విలువ = adc_value (); adcValue + = విలువ; } adcValue = (ఫ్లోట్) adcValue / 40.0; కన్వర్ట్ (adcValue); ఆలస్యం (100); }
ఇచ్చిన ADC_init () ఫంక్షన్ ADC ను ప్రారంభించడానికి ఉపయోగించబడుతుంది
void adc_init () {ADCON0 = 0b00000011; // adc ఛానెల్ ADCON1 = 0b00001110 ఎంచుకోండి; // అనలాగ్ మరియు డిజిటల్ i / p ADCON2 = 0b10001010 ఎంచుకోండి; // పరిమితి సమయం హోల్డింగ్ క్యాప్ సమయం ADON = 1; }
ఇచ్చిన adc_value ఫంక్షన్ అనలాగ్ పిన్ నుండి ఇన్పుట్ చదవడానికి మరియు వోల్టేజ్ను లెక్కించడానికి ఉపయోగించబడుతుంది.
ఫ్లోట్ adc_value (శూన్యమైనది) {ఫ్లోట్ adc_data = 0; అయితే (GO / DONE == 1); // అధిక బిట్ డేటా ప్రారంభ మార్పిడి adc విలువ adc_data = (ADRESL) + (ADRESH << 8); // స్టోర్ 10-బిట్ అవుట్పుట్ adc_data = ((adc_data / 342.0) * 5.0); తిరిగి adc_data; }
వోల్టేజ్ విలువను సెగ్మెంట్ మద్దతు ఉన్న విలువలకు మార్చడానికి ఇచ్చిన కన్వర్ట్ ఫంక్షన్ ఉపయోగించబడుతుంది.
void convert (float f) {int d = (f * 100); అంకెల 1 = డి% 10; d = d / 10; అంకెల 2 = d% 10; d = d / 10; అంకెల 3 = డి% 10; అంకెల 4 = డి / 10; }
ప్రదర్శన వీడియోతో క్రింద ఈ ప్రాజెక్ట్ కోసం పూర్తి కోడ్ను తనిఖీ చేయండి.