- అవసరమైన భాగాలు
- PCF8591 ADC / DAC మాడ్యూల్
- ఆర్డునోతో పిసిఎఫ్ 8591 ఎడిసి / డిఎసి మాడ్యూల్ ఇంటర్ఫేసింగ్
డిజిటల్ మార్పిడికి అనలాగ్ ఎంబెడెడ్ ఎలక్ట్రానిక్స్లో చాలా ముఖ్యమైన పని, ఎందుకంటే చాలా సెన్సార్లు అవుట్పుట్ను అనలాగ్ విలువలుగా అందిస్తాయి మరియు వాటిని బైనరీ విలువలను మాత్రమే అర్థం చేసుకునే మైక్రోకంట్రోలర్గా ఫీడ్ చేయడానికి, మేము వాటిని డిజిటల్ విలువలుగా మార్చాలి. కాబట్టి అనలాగ్ డేటాను ప్రాసెస్ చేయడానికి, మైక్రోకంట్రోలర్లకు అనలాగ్ టు డిజిటల్ కన్వర్టర్ అవసరం.
కొన్ని మైక్రోకంట్రోలర్లో ఆర్డునో, ఎంఎస్పి 430, పిఐసి 16 ఎఫ్ 877 ఎ వంటి అంతర్నిర్మిత ఎడిసి ఉంది, అయితే కొంతమంది మైక్రోకంట్రోలర్కు 8051, రాస్ప్బెర్రీ పై మొదలైనవి లేవు మరియు మేము ADC0804, ADC0808 వంటి డిజిటల్ కన్వర్టర్ IC లకు కొంత బాహ్య అనలాగ్ను ఉపయోగించాలి. క్రింద మీరు వివిధ మైక్రోకంట్రోలర్లతో ADC యొక్క వివిధ ఉదాహరణలను కనుగొనవచ్చు:
- Arduino Uno లో ADC ని ఎలా ఉపయోగించాలి?
- రాస్ప్బెర్రీ పై ADC ట్యుటోరియల్
- 8051 మైక్రోకంట్రోలర్తో ADC0808 ఇంటర్ఫేసింగ్
- AVR మైక్రోకంట్రోలర్ ఉపయోగించి 0-25V డిజిటల్ వోల్టమీటర్
- STM32F103C8 లో ADC ని ఎలా ఉపయోగించాలి
- MSP430G2 లో ADC ని ఎలా ఉపయోగించాలి
- ARM7 LPC2148 లో ADC ని ఎలా ఉపయోగించాలి
- MPLAB మరియు XC8 తో PIC మైక్రోకంట్రోలర్ యొక్క ADC మాడ్యూల్ ఉపయోగించడం
ఈ ట్యుటోరియల్లో, పిసిఎఫ్ 8591 ఎడిసి / డిఎసి మాడ్యూల్ను ఆర్డునోతో ఎలా ఇంటర్ఫేస్ చేయాలో తనిఖీ చేయబోతున్నాం .
అవసరమైన భాగాలు
- ఆర్డునో UNO
- PCF8591 ADC మాడ్యూల్
- 100 కె పాట్
- జంపర్ కేబుల్స్
PCF8591 ADC / DAC మాడ్యూల్
పిసిఎఫ్ 8591 అనేది డిజిటల్కు 8 బిట్ అనలాగ్ లేదా 8 బిట్ డిజిటల్ టు అనలాగ్ కన్వర్టర్ మాడ్యూల్ అంటే ప్రతి పిన్ అనలాగ్ విలువలను 256 వరకు చదవగలదు. దీనికి బోర్డులో ఎల్డిఆర్ మరియు థర్మిస్టర్ సర్క్యూట్ కూడా ఉన్నాయి. ఈ మాడ్యూల్ నాలుగు అనలాగ్ ఇన్పుట్ మరియు ఒక అనలాగ్ అవుట్పుట్ కలిగి ఉంది. ఇది I 2 C కమ్యూనికేషన్లో పనిచేస్తుంది, కాబట్టి సీరియల్ క్లాక్ మరియు సీరియల్ డేటా చిరునామా కోసం SCL మరియు SDA పిన్లు ఉన్నాయి. దీనికి 2.5-6 వి సరఫరా వోల్టేజ్ అవసరం మరియు తక్కువ స్టాండ్-బై కరెంట్ ఉంటుంది. మాడ్యూల్పై పొటెన్షియోమీటర్ యొక్క నాబ్ను సర్దుబాటు చేయడం ద్వారా మనం ఇన్పుట్ వోల్టేజ్ను కూడా మార్చవచ్చు. బోర్డులో ముగ్గురు జంపర్లు కూడా ఉన్నారు. థర్మిస్టర్ యాక్సెస్ సర్క్యూట్ను ఎంచుకోవడానికి J4 అనుసంధానించబడి ఉంది, LDR / ఫోటో రెసిస్టర్ యాక్సెస్ సర్క్యూట్ను ఎంచుకోవడానికి J5 కనెక్ట్ చేయబడింది మరియు సర్దుబాటు చేయగల వోల్టేజ్ యాక్సెస్ సర్క్యూట్ను ఎంచుకోవడానికి J6 అనుసంధానించబడి ఉంది. ఈ సర్క్యూట్లను యాక్సెస్ చేయడానికి మీరు ఈ జంపర్ల చిరునామాలను ఉపయోగించాలి: J6 కి 0x50, J5 కి 0x60 మరియు J4 కోసం 0x70. బోర్డు D1 లో రెండు LED లు ఉన్నాయి మరియు D2- D1 అవుట్పుట్ వోల్టేజ్ తీవ్రతను చూపిస్తుంది మరియు D2 సరఫరా వోల్టేజ్ యొక్క తీవ్రతను చూపుతుంది. అవుట్పుట్ లేదా సరఫరా వోల్టేజ్ ఎక్కువ, LED D1 లేదా D2 యొక్క తీవ్రత ఎక్కువ. VCC లేదా AOUT పిన్లో పొటెన్షియోమీటర్ను ఉపయోగించడం ద్వారా మీరు ఈ LED లను పరీక్షించవచ్చు.
ఆర్డునోతో పిసిఎఫ్ 8591 ఎడిసి / డిఎసి మాడ్యూల్ ఇంటర్ఫేసింగ్
పూర్తి కార్యక్రమం మరియు శ్రామిక వీడియో ఈ ట్యుటోరియల్ చివరిలో ఇవ్వబడుతుంది.
మొదట, నేను I 2 C కమ్యూనికేషన్ మరియు LCD డిస్ప్లే కొరకు లైబ్రరీని నిర్వచించాలి.
# చేర్చండి
అప్పుడు కొన్ని మాక్రోలను నిర్వచించండి. మొదటి స్థూల ఐసి కోసం డేటా బస్సు యొక్క చిరునామాను నిర్వచించడం మరియు రెండవ మాక్రో మాడ్యూల్ యొక్క మొదటి ఇన్పుట్ పిన్ యొక్క చిరునామాను నిర్వచించడం కోసం, ఇక్కడ కుండ నుండి ఇన్పుట్ ఇవ్వబడుతుంది.
# PCF8591 (0x90 >> 1) # AIn0 0x00 ని నిర్వచించండి
తరువాత ఆర్డునోతో ఎల్సిడి యొక్క పిన్ కనెక్షన్లను నిర్వచించండి మరియు అనలాగ్ పిన్ వద్ద మనం పొందుతున్న విలువను ప్రారంభించండి.
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; లిక్విడ్ క్రిస్టల్ ఎల్సిడి (rs, en, d4, d5, d6, d7); పూర్ణాంక విలువ = 0;
ఇప్పుడు, సెటప్ ఫంక్షన్ కి వద్దాం. ఇక్కడ, మొదటి వరుసలో మేము I 2 C కమ్యూనికేషన్ను ప్రారంభించాము. మరియు రెండవ వరుసలో, మేము అనలాగ్ విలువలను ముద్రించే LCD డిస్ప్లేని ప్రారంభించాము. ఆర్డునోతో 16x2 ఎల్సిడిని ఇంటర్ఫేస్ చేయడం గురించి ఇక్కడ మరింత తెలుసుకోండి.
శూన్య సెటప్ () { వైర్.బెగిన్ (); lcd.begin (16,2); }
లో లూప్ ఫంక్షన్, మొదటి పంక్తి, ప్రసార ప్రారంభించడానికి ఇది PCF8591 మొదలవుతుంది అంటే. రెండవ పంక్తి మొదటి అనలాగ్ ఇన్పుట్ పిన్ వద్ద అనలాగ్ కొలత చేయమని IC కి చెబుతుంది. మూడవ పంక్తి ప్రసారాన్ని ముగుస్తుంది మరియు నాల్గవ పంక్తి అనలాగ్ పిన్ నుండి కొలిచిన డేటాను పొందుతుంది.
void loop () { Wire.beginTransmission (PCF8591); వైర్.రైట్ (AIn0); వైర్.ఎండ్ ట్రాన్స్మిషన్ (); Wire.requestFrom (PCF8591, 1);
తరువాతి భాగంలో, అనలాగ్ పిన్ నుండి ఇంతకు ముందు నిర్వచించిన విలువ వేరియబుల్ వరకు చదివిన విలువను ఉంచండి. మరియు తదుపరి పంక్తులలో, ఆ విలువను LCD కి ప్రింట్ చేయండి.
విలువ = వైర్.రెడ్ (); lcd.print ("ADC విలువ ="); lcd.print (విలువ); ఆలస్యం (500); lcd.clear ();}
చివరగా Arduino లో కోడ్ను అప్లోడ్ చేసి దాన్ని అమలు చేయండి. అనలాగ్ విలువలు LCD డిస్ప్లేలో చూపడం ప్రారంభిస్తాయి. కుండ యొక్క నాబ్ను సర్దుబాటు చేయండి మరియు మీరు విలువల్లో క్రమంగా మార్పును చూస్తారు.