- అవసరమైన భాగాలు:
- సర్క్యూట్ రేఖాచిత్రం:
- ఆర్డునో యునో:
- 16x2 LCD:
- రెసిస్టెన్స్ కలర్ కోడ్ యొక్క భావన:
- Arduino ఓం మీటర్ ఉపయోగించి ప్రతిఘటనను లెక్కిస్తోంది:
- కోడ్ వివరణ:
దాని నిరోధకతను కనుగొనడానికి రెసిస్టర్లపై రంగు కోడ్లను చదవడం మాకు కష్టంగా ఉంది. ప్రతిఘటన విలువను కనుగొనడంలో ఇబ్బందిని అధిగమించడానికి, మేము ఆర్డునోను ఉపయోగించి సరళమైన ఓం మీటర్ను నిర్మించబోతున్నాము. ఈ ప్రాజెక్ట్ వెనుక ఉన్న ప్రాథమిక సూత్రం వోల్టేజ్ డివైడర్ నెట్వర్క్. తెలియని నిరోధకత యొక్క విలువ 16 * 2 LCD డిస్ప్లేలో ప్రదర్శించబడుతుంది. ఈ ప్రాజెక్ట్ ఆర్డునోతో 16 * 2 ఎల్సిడి డిస్ప్లే ఇంటర్ఫేసింగ్గా కూడా పనిచేస్తుంది.
అవసరమైన భాగాలు:
- ఆర్డునో యునో
- 16 * 2 ఎల్సిడి డిస్ప్లే
- పొటెన్టోమీటర్ (1 కిలో ఓం)
- రెసిస్టర్లు
- బ్రెడ్బోర్డ్
- జంపర్ వైర్లు
సర్క్యూట్ రేఖాచిత్రం:
ఆర్డునో యునో:
Arduino Uno అనేది ATmega328p మైక్రోకంట్రోలర్ ఆధారంగా ఓపెన్ సోర్స్ మైక్రోకంట్రోలర్ బోర్డు. ఇది 14 డిజిటల్ పిన్లను కలిగి ఉంది (వీటిలో 6 పిన్లను పిడబ్ల్యుఎం అవుట్పుట్లుగా ఉపయోగించవచ్చు), 6 అనలాగ్ ఇన్పుట్లు, బోర్డు వోల్టేజ్ రెగ్యులేటర్లలో ఉన్నాయి. ఆర్డునో యునోలో 32 కెబి ఫ్లాష్ మెమరీ, 2 కెబి ఎస్ఆర్ఎమ్ మరియు 1 కెబి ఇఇప్రోమ్ ఉన్నాయి. ఇది 16MHz క్లాక్ ఫ్రీక్వెన్సీ వద్ద పనిచేస్తుంది. Arduino Uno ఇతర పరికరాలతో కమ్యూనికేట్ చేయడానికి సీరియల్, I2C, SPI కమ్యూనికేషన్కు మద్దతు ఇస్తుంది. దిగువ పట్టిక Arduino Uno యొక్క సాంకేతిక వివరణను చూపుతుంది.
మైక్రోకంట్రోలర్ | ATmega328p |
ఆపరేటింగ్ వోల్టేజ్ | 5 వి |
ఇన్పుట్ వోల్టేజ్ | 7-12 వి (సిఫార్సు చేయబడింది) |
డిజిటల్ I / O పిన్స్ | 14 |
అనలాగ్ పిన్స్ | 6 |
ఫ్లాష్ మెమోరీ | 32 కేబీ |
SRAM | 2 కెబి |
EEPROM | 1 కెబి |
కాల వేగంగా |
16MHz |
16x2 LCD:
16 * 2 ఎల్సిడి ఎంబెడెడ్ అనువర్తనాల కోసం విస్తృతంగా ఉపయోగించే ప్రదర్శన. పిన్స్ మరియు 16 * 2 ఎల్సిడి డిస్ప్లే యొక్క పని గురించి సంక్షిప్త వివరణ ఇక్కడ ఉంది. ఎల్సిడి లోపల రెండు చాలా ముఖ్యమైన రిజిస్టర్లు ఉన్నాయి. అవి డేటా రిజిస్టర్ మరియు కమాండ్ రిజిస్టర్. స్పష్టమైన ప్రదర్శన, ఇంట్లో కర్సర్ మొదలైన ఆదేశాలను పంపడానికి కమాండ్ రిజిస్టర్ ఉపయోగించబడుతుంది, డేటా రిజిస్టర్ 16 * 2 ఎల్సిడిలో ప్రదర్శించబడే డేటాను పంపడానికి ఉపయోగిస్తారు. క్రింద పట్టిక 16 * 2 ఎల్సిడి యొక్క పిన్ వివరణను చూపిస్తుంది.
పిన్ చేయండి |
చిహ్నం |
I / O. |
వివరణ |
1 |
Vss |
- |
గ్రౌండ్ |
2 |
Vdd |
- |
+ 5 వి విద్యుత్ సరఫరా |
3 |
వీ |
- |
కాంట్రాస్ట్ను నియంత్రించడానికి విద్యుత్ సరఫరా |
4 |
ఆర్ఎస్ |
నేను |
కమాండ్ రిజిస్టర్ కోసం RS = 0, డేటా రిజిస్టర్ కోసం RS = 1 |
5 |
ఆర్డబ్ల్యూ |
నేను |
రాయడానికి R / W = 0, చదవడానికి R / W = 1 |
6 |
ఇ |
I / O. |
ప్రారంభించండి |
7 |
డి 0 |
I / O. |
8-బిట్ డేటా బస్ (ఎల్ఎస్బి) |
8 |
డి 1 |
I / O. |
8-బిట్ డేటా బస్సు |
9 |
డి 2 |
I / O. |
8-బిట్ డేటా బస్సు |
10 |
డి 3 |
I / O. |
8-బిట్ డేటా బస్సు |
11 |
డి 4 |
I / O. |
8-బిట్ డేటా బస్సు |
12 |
డి 5 |
I / O. |
8-బిట్ డేటా బస్సు |
13 |
డి 6 |
I / O. |
8-బిట్ డేటా బస్సు |
14 |
డి 7 |
I / O. |
8-బిట్ డేటా బస్ (MSB) |
15 |
జ |
- |
బ్యాక్లైట్ కోసం + 5 వి |
16 |
కె |
- |
గ్రౌండ్ |
రెసిస్టెన్స్ కలర్ కోడ్ యొక్క భావన:
ప్రతిఘటన యొక్క విలువను గుర్తించడానికి మేము ఈ క్రింది సూత్రాన్ని ఉపయోగించవచ్చు.
R = {(AB * 10 c) Ω ± T%}
ఎక్కడ
A = మొదటి బ్యాండ్లోని రంగు యొక్క విలువ.
B = రెండవ బ్యాండ్లోని రంగు యొక్క విలువ.
సి = మూడవ బ్యాండ్లోని రంగు యొక్క విలువ.
T = నాల్గవ బ్యాండ్లోని రంగు యొక్క విలువ.
దిగువ పట్టిక రెసిస్టర్ల రంగు కోడ్ను చూపుతుంది.
రంగు |
రంగు యొక్క సంఖ్యా విలువ |
గుణకారం కారకం (10 సి) |
సహనం విలువ (టి) |
నలుపు |
0 |
10 0 |
- |
బ్రౌన్ |
1 |
10 1 |
± 1% |
ఎరుపు |
2 |
10 2 |
± 2% |
ఆరెంజ్ |
3 |
10 3 |
- |
పసుపు |
4 |
10 4 |
- |
ఆకుపచ్చ |
5 |
10 5 |
- |
నీలం |
6 |
10 6 |
- |
వైలెట్ |
7 |
10 7 |
- |
గ్రే |
8 |
10 8 |
- |
తెలుపు |
9 |
10 9 |
- |
బంగారం |
- |
10 -1 |
± 5% |
వెండి |
- |
10 -2 |
± 10% |
బ్యాండ్ లేదు |
- |
- |
± 20% |
ఉదాహరణకు, రంగు సంకేతాలు బ్రౌన్ - గ్రీన్ - ఎరుపు - వెండి అయితే, ప్రతిఘటన యొక్క విలువ ఇలా లెక్కించబడుతుంది, బ్రౌన్ = 1 ఆకుపచ్చ = 5 ఎరుపు = 2 వెండి = ± 10%
మొదటి మూడు బ్యాండ్ల నుండి, R = AB * 10 సి
R = 15 * 10 +2 R = 1500
నాల్గవ బ్యాండ్ ± 10% సహనాన్ని సూచిస్తుంది
1500 = 150 లో 10% + 10 శాతం కోసం, విలువ 1500 + 150 = 1650Ω కోసం - 10 శాతం, విలువ 1500 -150 = 1350Ω
అందువల్ల వాస్తవ నిరోధక విలువ 1350Ω నుండి 1650Ω మధ్య ఎక్కడైనా ఉంటుంది.
ఇక్కడ మరింత సౌకర్యవంతంగా చేయడానికి రెసిస్టెన్స్ కలర్ కోడ్ కాలిక్యులేటర్ ఉంది, ఇక్కడ మీరు రెసిస్టర్పై రింగుల రంగును మాత్రమే నమోదు చేయాలి మరియు మీకు నిరోధక విలువ లభిస్తుంది.
Arduino ఓం మీటర్ ఉపయోగించి ప్రతిఘటనను లెక్కిస్తోంది:
ఈ రెసిస్టెన్స్ మీటర్ యొక్క పని చాలా సులభం మరియు క్రింద చూపిన సాధారణ వోల్టేజ్ డివైడర్ నెట్వర్క్ ఉపయోగించి వివరించవచ్చు.
రెసిస్టర్లు R1 మరియు R2 యొక్క వోల్టేజ్ డివైడర్ నెట్వర్క్ నుండి, Vout = Vin * R2 / (R1 + R2)
పై సమీకరణం నుండి, మేము R2 విలువను తగ్గించవచ్చు
R2 = Vout * R1 / (విన్ - Vout)
ఎక్కడ R1 = తెలిసిన ప్రతిఘటన
R2 = తెలియని నిరోధకత
ఆర్డునో యొక్క 5 వి పిన్ వద్ద ఉత్పత్తి చేయబడిన విన్ = వోల్టేజ్
భూమికి సంబంధించి R2 వద్ద వోట్ = వోల్టేజ్.
గమనిక: తెలిసిన ప్రతిఘటన (R1) యొక్క విలువ 3.3KΩ, కానీ వినియోగదారులు దానిని వారు ఎంచుకున్న రెసిస్టర్ యొక్క నిరోధక విలువతో భర్తీ చేయాలి.
కాబట్టి మనకు తెలియని నిరోధకత (వోట్) అంతటా వోల్టేజ్ విలువ లభిస్తే, మనకు తెలియని నిరోధకత R2 ను సులభంగా లెక్కించవచ్చు. ఇక్కడ మేము అనలాగ్ పిన్ A0 ను ఉపయోగించి వోల్టేజ్ విలువ Vout ను చదివాము (సర్క్యూట్ రేఖాచిత్రం చూడండి) మరియు దిగువ కోడ్లో వివరించిన విధంగా ఆ డిజిటల్ విలువలను (0 -1023) వోల్టేజ్గా మార్చాము.
తెలిసిన ప్రతిఘటన యొక్క విలువ తెలియని ప్రతిఘటన కంటే చాలా ఎక్కువ లేదా చిన్నది అయితే లోపం ఎక్కువగా ఉంటుంది. కాబట్టి తెలిసిన ప్రతిఘటన విలువను తెలియని ప్రతిఘటనకు దగ్గరగా ఉంచమని సలహా ఇస్తారు.
కోడ్ వివరణ:
పూర్తి Arduino కార్యక్రమం మరియు డెమో వీడియో ఈ ప్రాజెక్ట్ కోసం ఈ ప్రాజెక్ట్ చివరలో ఇవ్వబడుతుంది. కోడ్ చిన్న అర్ధవంతమైన భాగాలుగా విభజించబడింది మరియు క్రింద వివరించబడింది.
కోడ్ యొక్క ఈ భాగంలో, మేము 16 * 2 LCD డిస్ప్లే Arduino కి అనుసంధానించబడిన పిన్లను నిర్వచించబోతున్నాము. 16 * 2 ఎల్సిడి యొక్క ఆర్ఎస్ పిన్ ఆర్డునో యొక్క డిజిటల్ పిన్ 2 కి అనుసంధానించబడి ఉంది. 16 * 2 ఎల్సిడి పిన్ను ప్రారంభించండి ఆర్డునో యొక్క డిజిటల్ పిన్ 3 కి కనెక్ట్ చేయబడింది. 16 * 2 ఎల్సిడి యొక్క డేటా పిన్స్ (డి 4-డి 7) ఆర్డునో యొక్క 4,5,6,7 డిజిటల్ పిన్లకు అనుసంధానించబడి ఉంది.
లిక్విడ్ క్రిస్టల్ ఎల్సిడి (2,3,4,5,6,7); // rs, e, d4, d5, d6, d7
కోడ్ యొక్క ఈ భాగంలో, మేము ప్రోగ్రామ్లో ఉపయోగించే కొన్ని వేరియబుల్స్ను నిర్వచిస్తున్నాము. విన్ అంటే ఆర్డ్యునో యొక్క 5 వి పిన్ అందించిన వోల్టేజ్. Vout అనేది భూమికి సంబంధించి రెసిస్టర్ R2 వద్ద వోల్టేజ్.
R1 తెలిసిన ప్రతిఘటన యొక్క విలువ. R2 తెలియని నిరోధకత యొక్క విలువ.
int విన్ = 5; ఆర్డ్యునో ఫ్లోట్ యొక్క 5 వి పిన్ వద్ద // వోల్టేజ్ Vout = 0; ఆర్డునో ఫ్లోట్ R1 = 3300 యొక్క A0 పిన్ వద్ద // వోల్టేజ్; తెలిసిన ప్రతిఘటన ఫ్లోట్ యొక్క విలువ R2 = 0; తెలియని ప్రతిఘటన యొక్క // విలువ
కోడ్ యొక్క ఈ భాగంలో, మేము 16 * 2 ఎల్సిడి డిస్ప్లేను ప్రారంభించబోతున్నాము. స్పష్టమైన స్క్రీన్, కర్సర్ బ్లింకింగ్పై ప్రదర్శన వంటి విభిన్న సెట్టింగ్ల కోసం ఆదేశాలను 16 * 2 ఎల్సిడి డిస్ప్లేకి ఇస్తారు.
lcd.begin (16,2);
కోడ్ యొక్క ఈ భాగంలో, రెసిస్టర్ R2 (A0 పిన్) వద్ద ఉన్న అనలాగ్ వోల్టేజ్ డిజిటల్ విలువ (0 నుండి 1023) గా మార్చబడుతుంది మరియు వేరియబుల్లో నిల్వ చేయబడుతుంది.
a2d_data = అనలాగ్ రీడ్ (A0);
కోడ్ యొక్క ఈ భాగంలో, డిజిటల్ విలువ (0 నుండి 1023 వరకు) మరింత లెక్కల కోసం వోల్టేజ్గా మార్చబడుతుంది.
బఫర్ = a2d_data * విన్; వోట్ = (బఫర్) /1024.0;
Arduino Uno ADC (- 2 ^ 10 = 1024 విలువలు 0 నుండి పూర్ణాంక విలువలు కాబట్టి) 10-bit రిజల్యూషన్ ఉంది. దీని అర్థం 0 మరియు 513 వోల్ట్ల మధ్య ఇన్పుట్ వోల్టేజ్లను 0 మరియు 1023 మధ్య పూర్ణాంక విలువలుగా మ్యాప్ చేస్తుంది. కాబట్టి మనం ఇన్పుట్ అనలాగ్వాల్యూను (5/1024) కు గుణిస్తే, ఇన్పుట్ వోల్టేజ్ యొక్క డిజిటల్ విలువను పొందుతాము. Arduino లో ADC ఇన్పుట్ ఎలా ఉపయోగించాలో ఇక్కడ తెలుసుకోండి.
కోడ్ యొక్క ఈ భాగంలో, తెలియని ప్రతిఘటన యొక్క వాస్తవ విలువ పైన వివరించిన విధానాన్ని ఉపయోగించి లెక్కించబడుతుంది.
బఫర్ = వౌట్ / (విన్-వౌట్); R2 = R1 * బఫర్;
కోడ్ యొక్క ఈ భాగంలో , తెలియని నిరోధకత యొక్క విలువ 16 * 2 ఎల్సిడి డిస్ప్లేలో ముద్రించబడుతుంది.
lcd.setCursor (4,0); lcd.print ("ఓం మీటర్"); lcd.setCursor (0,1); lcd.print ("R (ohm) ="); lcd.print (R2);
Arduino ఉపయోగించి తెలియని రెసిస్టర్ యొక్క నిరోధకతను మనం సులభంగా లెక్కించవచ్చు. కూడా తనిఖీ చేయండి:
- ఆర్డునో ఫ్రీక్వెన్సీ మీటర్
- ఆర్డునో కెపాసిటెన్స్ మీటర్