పుల్-అప్ రెసిస్టర్లను అర్థం చేసుకోవడం
ESP32 పుల్-అప్ పిన్ల ప్రత్యేకతలను తెలుసుకునే ముందు, సర్క్యూట్లో పుల్-అప్ రెసిస్టర్ల పాత్రను అర్థం చేసుకోవడం చాలా ముఖ్యం. డిజిటల్ ఇన్పుట్ పిన్ని తేలియాడేలా ఉంచినప్పుడు (ఏదైనా వోల్టేజ్ మూలానికి కనెక్ట్ చేయబడలేదు), అది యాదృచ్ఛిక విలువలను చదవగలదు, దాని లాజిక్ స్థాయిని గుర్తించడం కష్టతరం చేస్తుంది.
ఈ సమస్యను నివారించడానికి, ఇన్పుట్ డిఫాల్ట్గా అధిక (లాజికల్ 1) స్థితిని రీడ్ చేసేలా ఇన్పుట్ పిన్ మరియు వోల్టేజ్ సోర్స్ (సాధారణంగా Vcc) మధ్య పుల్-అప్ రెసిస్టర్ కనెక్ట్ చేయబడింది. ఇన్పుట్ తక్కువ (లాజికల్ 0) సిగ్నల్కు కనెక్ట్ చేయబడినప్పుడు, రెసిస్టర్ ఇన్పుట్ను భూమికి క్రిందికి లాగుతుంది, ఇన్పుట్ తక్కువ స్థితిని చదవడానికి అనుమతిస్తుంది.
ESP32లో అంతర్నిర్మిత పుల్-అప్ పిన్స్
ESP32 మైక్రోకంట్రోలర్లో 34 సాధారణ-ప్రయోజన ఇన్పుట్/అవుట్పుట్ (GPIO) పిన్లు ఉన్నాయి, వీటిని డిజిటల్ లేదా అనలాగ్ పిన్లుగా కాన్ఫిగర్ చేయవచ్చు. ఈ 34 పిన్లలో, కొన్ని పిన్లు సాఫ్ట్వేర్ ద్వారా ప్రారంభించబడే అంతర్నిర్మిత పుల్-అప్ రెసిస్టర్లను కలిగి ఉంటాయి.
కింది పట్టిక ESP32లో అంతర్నిర్మిత పుల్-అప్ రెసిస్టర్లను కలిగి ఉన్న పిన్లను చూపుతుంది:
పిన్ నెంబర్ | పిన్ పేరు | అంతర్నిర్మిత పుల్-అప్ రెసిస్టర్ |
0 | GPIO0 | అవును |
2 | GPIO2 | అవును |
4 | GPIO4 | అవును |
5 | GPIO5 | అవును |
12 | GPIO12 | అవును |
13 | GPIO13 | అవును |
14 | GPIO14 | అవును |
పదిహేను | GPIO15 | అవును |
25 | GPIO25 | అవును |
26 | GPIO26 | అవును |
27 | GPIO27 | అవును |
32 | GPIO32 | అవును |
33 | GPIO33 | అవును |
3. 4 | GPIO34 | సంఖ్య |
35 | GPIO35 | సంఖ్య |
36 | GPIO36 | సంఖ్య |
39 | GPIO39 | సంఖ్య |
మీరు చూడగలిగినట్లుగా, ESP32లోని చాలా డిజిటల్ పిన్లు అంతర్నిర్మిత పుల్-అప్ రెసిస్టర్లను కలిగి ఉంటాయి. అయితే, అన్ని పిన్లు ఈ ఫీచర్ను కలిగి ఉండవు. పిన్స్ 34, 35, 36 మరియు 39 అంతర్నిర్మిత పుల్-అప్ రెసిస్టర్లను కలిగి ఉండవు.
గమనిక: ESP32లో, ఇంటిగ్రేటెడ్ పుల్-అప్ మరియు పుల్-డౌన్ రెసిస్టర్లు ఇన్పుట్ మరియు అవుట్పుట్ రెండింటికి మద్దతు ఇచ్చే పిన్లలో మాత్రమే అందుబాటులో ఉంటాయి. GPIOలు 34-39 , ఇన్పుట్-మాత్రమే పరిమితం చేయబడిన ఈ రెసిస్టర్లు అంతర్నిర్మితంగా లేవు.
పూర్తి తనిఖీ చేయండి ESP32 పిన్అవుట్ సూచన .
ESP32లో పుల్-అప్ రెసిస్టర్లను ప్రారంభిస్తోంది
ESP32 పిన్పై పుల్-అప్ రెసిస్టర్ను ప్రారంభించడానికి, మీరు దీన్ని ఉపయోగించవచ్చు gpio_set_pull_mode() ESP-IDF ఫ్రేమ్వర్క్ అందించిన ఫంక్షన్.
ఈ ఫంక్షన్ రెండు వాదనలను తీసుకుంటుంది:
- GPIO పిన్ నంబర్
- పుల్-అప్ మోడ్
పుల్-అప్ మోడ్ ఏదైనా కావచ్చు GPIO_PULLUP_ENABLE లేదా GPIO_PULLUP_DISABLE . GPIO2లో పుల్-అప్ రెసిస్టర్ను ప్రారంభించే ఉదాహరణ కోడ్ ఇక్కడ ఉంది:
#'డ్రైవర్/gpio.h'ని చేర్చండిశూన్యం ఎనేబుల్_పుల్_అప్ ( ) {
gpio_set_pull_mode ( GPIO_NUM_2 , GPIO_PULLUP_ENABLE ) ;
}
పిన్ మోడ్ ( 5 , INPUT_PULLUP ) ;
పిన్ను అవుట్పుట్గా ఉపయోగించినప్పుడు పిన్పై పుల్-అప్ రెసిస్టర్ను ప్రారంభించడం దాని ప్రవర్తనను ప్రభావితం చేస్తుందని గమనించడం ముఖ్యం. ఈ సందర్భంలో, పుల్-అప్ రెసిస్టర్ బలహీనమైన ప్రస్తుత మూలంగా పనిచేస్తుంది మరియు అవుట్పుట్ వోల్టేజ్ స్థాయిని ప్రభావితం చేయవచ్చు.
ప్రత్యామ్నాయంగా, మేము ఉపయోగించి ESP32లో అంతర్గత పుల్-అప్లను కూడా ప్రారంభించవచ్చు పిన్మోడ్() Arduino ఫంక్షన్.
పిన్ మోడ్ ( 5 , INPUT_PULLUP ) ;పై కోడ్ పిన్పై అంతర్గత పుల్-అప్ రెసిస్టర్ను ప్రారంభిస్తుంది 5 . అదేవిధంగా, మీరు మోడ్ను పేర్కొనడం ద్వారా అంతర్గత పుల్-డౌన్ రెసిస్టర్ను ప్రారంభించవచ్చు INPUT_PULLDOWN .
ముగింపు
డిజిటల్ సర్క్యూట్లలో పుల్-అప్ రెసిస్టర్లు ముఖ్యమైన భాగాలు, మరియు ESP32 మైక్రోకంట్రోలర్ దాని డిజిటల్ పిన్లలో చాలా వరకు అంతర్నిర్మిత పుల్-అప్ రెసిస్టర్లను అందిస్తుంది. ఈ రెసిస్టర్లను ప్రారంభించడం వలన స్థిరమైన లాజిక్ స్థాయిలను నిర్ధారించవచ్చు మరియు ఫ్లోటింగ్ ఇన్పుట్ సమస్యలను నివారించవచ్చు. అయినప్పటికీ, ESP32లోని అన్ని పిన్లు అంతర్నిర్మిత పుల్-అప్ రెసిస్టర్లను కలిగి ఉండవని గమనించడం ముఖ్యం, కాబట్టి దీన్ని తనిఖీ చేయడం ముఖ్యం ESP32 పిన్అవుట్ లేదా సర్క్యూట్ రూపకల్పనకు ముందు డేటాషీట్. అదనంగా, పుల్-అప్ రెసిస్టర్ను ప్రారంభించడం అవుట్పుట్గా ఉపయోగించినప్పుడు పిన్ యొక్క ప్రవర్తనను ప్రభావితం చేయవచ్చు.