- అవసరమైన భాగాలు:
- పని వివరణ:
- సర్క్యూట్ వివరణ:
- ప్రోగ్రామింగ్ వివరణ:
- EasyEDA ఉపయోగించి సర్క్యూట్ మరియు PCB డిజైన్:
- నమూనాలను ఆన్లైన్లో లెక్కించడం మరియు క్రమం చేయడం:
భూకంపం అనూహ్య ప్రకృతి విపత్తు, ఇది ప్రాణాలకు, ఆస్తికి నష్టం కలిగిస్తుంది. ఇది అకస్మాత్తుగా జరుగుతుంది మరియు మేము దానిని ఆపలేము కాని దాని నుండి మనం అప్రమత్తం కావచ్చు. నేటి కాలంలో, చిన్న వణుకు మరియు కొట్టులను గుర్తించడానికి అనేక సాంకేతికతలు ఉపయోగపడతాయి, తద్వారా భూమిలోని కొన్ని పెద్ద ప్రకంపనలకు ముందు జాగ్రత్తలు తీసుకోవచ్చు. భూకంపానికి పూర్వపు ప్రకంపనలను గుర్తించడానికి ఇక్కడ మేము యాక్సిలెరోమీటర్ ADXL335 ను ఉపయోగిస్తున్నాము. యాక్సిలెరోమీటర్ ADXL335 మూడు అక్షాలతో పాటు షేక్స్ మరియు వైబ్రేషన్లకు చాలా సున్నితంగా ఉంటుంది. ఇక్కడ మేము యాక్సిలెరోమీటర్ ఉపయోగించి ఆర్డునో ఆధారిత భూకంప డిటెక్టర్ను నిర్మిస్తున్నాము.
మేము ఇక్కడ ఈ భూకంప డిటెక్టర్ను పిసిబిలో ఆర్డునో షీల్డ్గా నిర్మిస్తున్నాము మరియు ప్రాసెసింగ్ ఉపయోగించి కంప్యూటర్లో వైబ్రేషన్స్ గ్రాఫ్ను కూడా చూపుతాము.
అవసరమైన భాగాలు:
- ఆర్డునో UNO
- యాక్సిలెరోమీటర్ ADXL335
- 16x2 LCD
- బజర్
- BC547 ట్రాన్సిస్టర్
- 1 కె రెసిస్టర్లు
- 10 కె పాట్
- LED
- విద్యుత్ సరఫరా 9v / 12v
- బెర్గ్ మగ / ఆడ అంటుకుంటుంది
యాక్సిలెరోమీటర్:
పిన్ యాక్సిలెరోమీటర్ వివరణ:
- Vcc 5 వోల్ట్ సరఫరా ఈ పిన్ వద్ద కనెక్ట్ అవ్వాలి.
- X-OUT ఈ పిన్ x దిశలో అనలాగ్ అవుట్పుట్ను ఇస్తుంది
- Y-OUT ఈ పిన్ y దిశలో అనలాగ్ అవుట్పుట్ను ఇస్తుంది
- Z-OUT ఈ పిన్ z దిశలో అనలాగ్ అవుట్పుట్ను ఇస్తుంది
- GND గ్రౌండ్
- ST ఈ పిన్ సెన్సార్ యొక్క సెట్ సున్నితత్వం కోసం ఉపయోగించబడుతుంది
యాక్సిలెరోమీటర్ ఉపయోగించి మా ఇతర ప్రాజెక్టులను కూడా తనిఖీ చేయండి:
- ఆర్డునో ఉపయోగించి పింగ్ పాంగ్ గేమ్
- యాక్సిలెరోమీటర్ బేస్డ్ హ్యాండ్ సంజ్ఞ నియంత్రిత రోబోట్.
- జిపిఎస్, జిఎస్ఎమ్ మరియు యాక్సిలెరోమీటర్ ఉపయోగించి ఆర్డునో బేస్డ్ వెహికల్ యాక్సిడెంట్ అలర్ట్ సిస్టమ్
పని వివరణ:
ఈ భూకంప డిటెక్టర్ యొక్క పని చాలా సులభం. మూడు అక్షాలతో పాటు భూకంప ప్రకంపనలను గుర్తించడానికి మేము యాక్సిలెరోమీటర్ను ఉపయోగించామని ఇంతకుముందు చెప్పినట్లుగా, కంపనాలు సంభవించినప్పుడల్లా యాక్సిలెరోమీటర్ ఇంద్రియాలను ప్రకటిస్తుంది మరియు వాటిని సమానమైన ADC విలువగా మారుస్తుంది. అప్పుడు ఈ ADC విలువలు Arduino చే చదవబడతాయి మరియు 16x2 LCD పై చూపబడతాయి. ప్రాసెసింగ్ ఉపయోగించి గ్రాఫ్లో కూడా ఈ విలువలను చూపించాము. మా ఇతర యాక్సిలెరోమీటర్ ప్రాజెక్టుల ద్వారా ఇక్కడ యాక్సిలెరోమీటర్ గురించి మరింత తెలుసుకోండి.
మొదట మనం ఆర్డునో పవర్స్ చేసినప్పుడు ఎప్పుడు చుట్టుపక్కల కంపనాల నమూనాలను తీసుకొని యాక్సిలెరోమీటర్ను క్రమాంకనం చేయాలి. అప్పుడు మేము నిజమైన రీడింగులను పొందడానికి ఆ నమూనా విలువలను వాస్తవ రీడింగుల నుండి తీసివేయాలి. ఈ క్రమాంకనం అవసరం, తద్వారా దాని సాధారణ పరిసర ప్రకంపనలకు సంబంధించి హెచ్చరికలను చూపించదు. నిజమైన రీడింగులను కనుగొన్న తరువాత, ఆర్డునో ఈ విలువలను ముందే నిర్వచించిన గరిష్ట మరియు కనిష్ట విలువలతో పోలుస్తుంది. ఆర్డునో ఏదైనా మార్పు విలువలు ఎక్కువ లేదా అంతకంటే తక్కువ అని కనుగొంటే, రెండు అక్షాల యొక్క ముందే నిర్వచించిన విలువలు (నెగటివ్ మరియు పాజిటివ్) అప్పుడు ఆర్డునో బజర్ను ప్రేరేపిస్తుంది మరియు 16x2 ఎల్సిడిపై హెచ్చరిక యొక్క స్థితిని చూపిస్తుంది మరియు ఒక ఎల్ఇడి కూడా ఆన్ చేయబడింది. ఆర్డునో కోడ్లో ముందే నిర్వచించిన విలువలను మార్చడం ద్వారా మేము భూకంప డిటెక్టర్ యొక్క సున్నితత్వాన్ని సర్దుబాటు చేయవచ్చు.
ప్రదర్శన వీడియో మరియు ఆర్డునో కోడ్ వ్యాసం చివరిలో ఇవ్వబడ్డాయి.
సర్క్యూట్ వివరణ:
ఈ భూకంప డిటెక్టర్ యొక్క సర్క్యూట్ ఆర్డునో షీల్డ్ పిసిబికూడా సులభం. ఈ ప్రాజెక్ట్లో, యాక్సిలెరోమీటర్ యొక్క అనలాగ్ వోల్టేజ్ను చదివి వాటిని డిజిటల్ విలువలుగా మార్చే ఆర్డునోను ఉపయోగించాము. Arduino కూడా బజర్, LED, 16x2 LCD ని నడుపుతుంది మరియు విలువలను లెక్కించి సరిపోల్చండి మరియు తగిన చర్య తీసుకుంటుంది. తదుపరి భాగం యాక్సిలెరోమీటర్, ఇది భూమి యొక్క ప్రకంపనలను గుర్తించి 3 అక్షాలలో (X, Y మరియు Z) అనలాగ్ వోల్టేజ్లను ఉత్పత్తి చేస్తుంది. విలువలలో X, Y మరియు Z అక్షం యొక్క మార్పును చూపించడానికి మరియు దానిపై హెచ్చరిక సందేశాన్ని చూపించడానికి LCD ఉపయోగించబడుతుంది. ఈ LCD 4-బిట్ మోడ్లో Arduino కి జతచేయబడింది. RS, GND, మరియు EN పిన్లు నేరుగా 9, GND మరియు 8 పిన్స్ ఆర్డునోతో అనుసంధానించబడి ఉన్నాయి మరియు మిగిలిన 4 డేటా పిన్లు D4, D5, D6 మరియు D7 లు నేరుగా డిజిటల్ పిన్ 7, 6, 5 మరియు 4 ఆర్డునోతో అనుసంధానించబడి ఉన్నాయి.. బజర్ NPN BC547 ట్రాన్సిస్టర్ ద్వారా Arduino యొక్క పిన్ 12 కి అనుసంధానించబడి ఉంది. LCD యొక్క ప్రకాశాన్ని నియంత్రించడానికి 10k పాట్ కూడా ఉపయోగించబడుతుంది.
ప్రోగ్రామింగ్ వివరణ:
ఈ భూకంప డిటెక్టర్ ఆర్డునో షీల్డ్లో, మేము రెండు కోడ్లను చేసాము: ఒకటి భూకంపాన్ని గుర్తించడానికి ఆర్డునోకు మరియు మరొకటి కంప్యూటర్లోని గ్రాఫ్లో భూకంప కంపనాలను ప్లాట్ చేయడానికి ఐడిఇ ప్రాసెసింగ్ కోసం. మేము రెండు సంకేతాల గురించి ఒక్కొక్కటిగా నేర్చుకుంటాము:
ఆర్డునో కోడ్:
అన్నింటిలో మొదటిది , యాక్సిలెరోమీటర్ను దాని ఉంచే ఉపరితలానికి సంబంధించి మేము క్రమాంకనం చేస్తాము, తద్వారా దాని సాధారణ పరిసర ప్రకంపనలకు సంబంధించి హెచ్చరికలను చూపించదు. ఈ అమరికలో, మేము కొన్ని నమూనాలను తీసుకొని, ఆపై వాటిలో సగటును తీసుకుంటాము మరియు వేరియబుల్లో నిల్వ చేస్తాము.
(int i = 0; i
ఇప్పుడు యాక్సిలెరోమీటర్ రీడింగులను తీసుకున్నప్పుడల్లా, మేము ఆ నమూనా విలువలను రీడింగుల నుండి తీసివేస్తాము, తద్వారా ఇది పరిసరాల కంపనాలను విస్మరిస్తుంది.
పూర్ణాంక విలువ 1 = అనలాగ్ రీడ్ (x); // పఠనం x అవుట్ పూర్ణాంక విలువ 2 = అనలాగ్ రీడ్ (y); // పఠనం y అవుట్ పూర్ణాంక విలువ 3 = అనలాగ్ రీడ్ (z); // పఠనం z అవుట్ int xValue = xsample-value1; // x int yValue = ysample-value2 లో మార్పును కనుగొనడం; // y int zValue = zsample-value3 లో మార్పును కనుగొనడం; // lcd * / lcd.setCursor (0,1) కంటే x, y మరియు z అక్షం విలువలలో z / * వివాదాస్పద మార్పును కనుగొనడం; lcd.print (zValue); lcd.setCursor (6,1); lcd.print (yValue); lcd.setCursor (12,1); lcd.print (zValue); ఆలస్యం (100)
అప్పుడు ఆర్డునో ఆ క్రమాంకనం చేసిన (తీసివేసిన) విలువలను ముందే నిర్వచించిన పరిమితులతో పోలుస్తుంది. మరియు తదనుగుణంగా చర్య తీసుకోండి. విలువలు ముందే నిర్వచించిన విలువల కంటే ఎక్కువగా ఉంటే, అది బజర్ను బీప్ చేస్తుంది మరియు ప్రాసెసింగ్ ఉపయోగించి కంప్యూటర్లో వైబ్రేషన్ గ్రాఫ్ను ప్లాట్ చేస్తుంది.
/ * మార్పును ముందే నిర్వచించిన పరిమితులతో పోల్చడం * / if (xValue <minVal - xValue> maxVal - yValue <minVal - yValue> maxVal - zValue <minVal - zValue> maxVal) {if (buz == 0) start = మిల్లిస్ (); // టైమర్ ప్రారంభం buz = 1; // బజర్ / లీడ్ ఫ్లాగ్ యాక్టివేట్} else if (buz == 1) // బజర్ ఫ్లాగ్ యాక్టివేట్ అయితే భూకంపాన్ని హెచ్చరిస్తుంది {lcd.setCursor (0,0); lcd.print ("భూకంప హెచ్చరిక"); if (మిల్లిస్ ()> = ప్రారంభం + బజ్టైమ్) buz = 0; }
ప్రాసెసింగ్ కోడ్:
ప్రాసెసింగ్ కోడ్ జతచేయబడింది క్రింద, మీరు ఈ క్రింది లింక్ నుండి కోడ్ను డౌన్లోడ్ చేసుకోవచ్చు:
ఎర్త్ క్వాక్ డిటెక్టర్ ప్రాసెసింగ్ కోడ్
మేము భూకంప ప్రకంపనల కోసం ప్రాసెసింగ్ ఉపయోగించి గ్రాఫ్ను రూపొందించాము, దీనిలో మేము విండో పరిమాణం, యూనిట్లు, ఫాంట్ పరిమాణం, నేపథ్యం, సీరియల్ పోర్ట్లను చదవడం మరియు ప్రదర్శించడం, ఎంచుకున్న సీరియల్ పోర్ట్ మొదలైనవాటిని నిర్వచించాము.
// విండో పరిమాణాన్ని సెట్ చేయండి: మరియు ఫాంట్ పరిమాణం f6 = createFont ("ఏరియల్", 6, నిజం); f8 = క్రియేట్ ఫాంట్ ("ఏరియల్", 8, ట్రూ); f10 = క్రియేట్ ఫాంట్ ("ఏరియల్", 10, ట్రూ); f12 = క్రియేట్ ఫాంట్ ("ఏరియల్", 12, ట్రూ); f24 = క్రియేట్ ఫాంట్ ("ఏరియల్", 24, ట్రూ); పరిమాణం (1200, 700); // అందుబాటులో ఉన్న అన్ని సీరియల్ పోర్టులను జాబితా చేయండి println (Serial.list ()); myPort = క్రొత్త సీరియల్ (ఇది, "COM43", 9600); println (myPort); myPort.bufferUntil ('\ n'); నేపథ్యం (80)
దిగువ ఫంక్షన్లో, మేము సీరియల్ పోర్ట్ నుండి డేటాను అందుకున్నాము మరియు అవసరమైన డేటాను సంగ్రహిస్తాము మరియు దానిని గ్రాఫ్ పరిమాణంతో మ్యాప్ చేసాము.
// మూడు అక్షం యొక్క అవసరమైన అన్ని విలువలను సంగ్రహిస్తుంది: int l1 = inString.indexOf ("x =") + 2; స్ట్రింగ్ temp1 = inString.substring (l1, l1 + 3); l1 = inString.indexOf ("y =") + 2; స్ట్రింగ్ temp2 = inString.substring (l1, l1 + 3); l1 = inString.indexOf ("z =") + 2; స్ట్రింగ్ temp3 = inString.substring (l1, l1 + 3); గ్రాఫ్ కొలతలతో x మ్యాపింగ్ x, y మరియు z విలువ inByte1 = float (temp1 + (char) 9); inByte1 = పటం (inByte1, -80,80, 0, ఎత్తు -80); ఫ్లోట్ ఇన్బైట్ 2 = ఫ్లోట్ (టెంప్ 2 + (చార్) 9); inByte2 = పటం (inByte2, -80,80, 0, ఎత్తు -80); float inByte3 = ఫ్లోట్ (టెంప్ 3 + (చార్) 9); inByte3 = పటం (inByte3, -80,80, 0, ఎత్తు -80); ఫ్లోట్ x = మ్యాప్ (xPos, 0,1120,40, వెడల్పు -40);
దీని తరువాత, మేము యూనిట్ స్థలం, గరిష్ట మరియు కనిష్ట పరిమితులు, x, y మరియు z- అక్షం యొక్క విలువలను ప్లాట్ చేసాము.
// ప్లాటింగ్ గ్రాఫ్ విండో, యూనిట్ స్ట్రోక్వైట్ (2); స్ట్రోక్ (175); లైన్ (0,0,0,100); టెక్స్ట్ ఫాంట్ (f24); పూరక (0,00,255); టెక్స్ట్అలైన్ (కుడి); xmargin ("సర్క్యూట్ డైజెస్ట్ ద్వారా ఎర్త్క్వేక్ గ్రాఫ్", 200,100); పూరక (100); స్ట్రోక్వైట్ (100); లైన్ (1050,80,1200,80);………………
దీని తరువాత మేము x- అక్షం విలువకు నీలం వలె 3 వేర్వేరు రంగులను ఉపయోగించడం ద్వారా గ్రాఫ్ పై విలువలను ప్లాట్ చేస్తాము, y అక్షం మరియు z కోసం ఆకుపచ్చ రంగు ఎరుపు రంగు ద్వారా సూచించబడుతుంది.
స్ట్రోక్ (0,0,255); if (y1 == 0) y1 = height-inByte1-shift; పంక్తి (x, y1, x + 2, ఎత్తు-ఇన్బైట్ 1-షిఫ్ట్); y1 = ఎత్తు-ఇన్బైట్ 1-షిఫ్ట్; స్ట్రోక్ (0,255,0); if (y2 == 0) y2 = ఎత్తు-ఇన్బైట్ 2-షిఫ్ట్; పంక్తి (x, y2, x + 2, ఎత్తు-ఇన్బైట్ 2-షిఫ్ట్); y2 = ఎత్తు-ఇన్బైట్ 2-షిఫ్ట్; స్ట్రోక్ (255,0,0); if (y2 == 0) y3 = height-inByte3-shift; పంక్తి (x, y3, x + 2, ఎత్తు-ఇన్బైట్ 3-షిఫ్ట్); y3 = ఎత్తు-ఇన్బైట్ 3-షిఫ్ట్;
మా ఇతర ప్రాసెసింగ్ ప్రాజెక్టుల ద్వారా వెళ్లడం ద్వారా ప్రాసెసింగ్ గురించి మరింత తెలుసుకోండి.
EasyEDA ఉపయోగించి సర్క్యూట్ మరియు PCB డిజైన్:
స్కీమాటిక్ క్యాప్చర్, సర్క్యూట్ సిమ్యులేషన్ మరియు పిసిబి డిజైన్ కోసం ఈజీఇడిఎ ఒక స్టాప్ పరిష్కారం మాత్రమే కాదు, అవి తక్కువ ఖర్చుతో పిసిబి ప్రోటోటైప్ మరియు కాంపోనెంట్స్ సోర్సింగ్ సేవలను కూడా అందిస్తున్నాయి. వారు ఇటీవల తమ కాంపోనెంట్ సోర్సింగ్ సేవను ప్రారంభించారు, అక్కడ వారు పెద్ద మొత్తంలో ఎలక్ట్రానిక్ భాగాలను కలిగి ఉన్నారు మరియు వినియోగదారులు పిసిబి ఆర్డర్తో పాటు వారి అవసరమైన భాగాలను ఆర్డర్ చేయవచ్చు.
మీ సర్క్యూట్లు మరియు పిసిబిలను రూపకల్పన చేసేటప్పుడు, మీరు మీ సర్క్యూట్ మరియు పిసిబి డిజైన్లను కూడా పబ్లిక్ చేయవచ్చు, తద్వారా ఇతర వినియోగదారులు వాటిని కాపీ చేయవచ్చు లేదా సవరించవచ్చు మరియు అక్కడ నుండి ప్రయోజనం పొందవచ్చు, ఈ భూకంప సూచిక షీల్డ్ కోసం మా మొత్తం సర్క్యూట్ మరియు పిసిబి లేఅవుట్లను కూడా పబ్లిక్ చేసాము. Arduino UNO, ఈ క్రింది లింక్ను తనిఖీ చేయండి:
easyeda.com/circuitdigest/EarthQuake_Detector-380c29e583b14de8b407d06ab0bbf70f
ఈజీఇడిఎ నుండి పిసిబి లేఅవుట్ యొక్క టాప్ లేయర్ యొక్క స్నాప్షాట్ క్రింద ఉంది, మీరు పొరను 'లేయర్స్' విండోగా ఎంచుకోవడం ద్వారా పిసిబి యొక్క ఏదైనా లేయర్ (టాప్, బాటమ్, టాప్సిల్క్, బాటమ్సిల్క్ మొదలైనవి) చూడవచ్చు.
EasyEDA ని ఉపయోగించి మీరు PCB యొక్క ఫోటో వీక్షణను కూడా చూడవచ్చు:
నమూనాలను ఆన్లైన్లో లెక్కించడం మరియు క్రమం చేయడం:
పిసిబి రూపకల్పనను పూర్తి చేసిన తర్వాత, మీరు ఫ్యాబ్రికేషన్ అవుట్పుట్ యొక్క చిహ్నాన్ని క్లిక్ చేయవచ్చు, ఇది మిమ్మల్ని పిసిబి ఆర్డర్ పేజీలో తీసుకెళుతుంది. ఇక్కడ మీరు మీ పిసిబిని గెర్బెర్ వ్యూయర్లో చూడవచ్చు లేదా మీ పిసిబి యొక్క గెర్బెర్ ఫైళ్ళను డౌన్లోడ్ చేసుకోవచ్చు. ఇక్కడ మీరు ఆర్డర్ చేయదలిచిన పిసిబిల సంఖ్య, మీకు ఎన్ని రాగి పొరలు అవసరం, పిసిబి మందం, రాగి బరువు మరియు పిసిబి రంగును కూడా ఎంచుకోవచ్చు. మీరు అన్ని ఎంపికలను ఎంచుకున్న తర్వాత, “కార్ట్కు సేవ్ చేయి” క్లిక్ చేసి, మీ ఆర్డర్ను పూర్తి చేయండి. ఇటీవల వారు తమ పిసిబి రేట్లను గణనీయంగా తగ్గించారు మరియు ఇప్పుడు మీరు 10 పిసిలు 2-లేయర్ పిసిబిని 10 సెం.మీ x 10 సెం.మీ పరిమాణంతో కేవలం $ 2 కు ఆర్డర్ చేయవచ్చు.
ఈజీఇడిఎ నుండి నాకు లభించిన పిసిబిలు ఇక్కడ ఉన్నాయి:
పిసిబిలోని భాగాలను టంకం చేసిన తరువాత తుది షీల్డ్ యొక్క చిత్రాలు క్రింద ఉన్నాయి: