- భాగాలు అవసరం
- ADXL335 యాక్సిలెరోమీటర్
- సర్క్యూట్ రేఖాచిత్రం
- పెడోమీటర్ ఎలా పనిచేస్తుంది?
- ఆర్డునో స్టెప్ కౌంటర్ ప్రోగ్రామింగ్
- ఆర్డునో పెడోమీటర్ను పరీక్షిస్తోంది
ఈ రోజుల్లో ఫిట్నెస్ బ్యాండ్లు బాగా ప్రాచుర్యం పొందాయి, ఇది అడుగుజాడలను లెక్కించడమే కాక, మీ కేలరీలను కాల్చివేస్తుంది, హృదయ స్పందన రేటు, షోటైం మరియు మరెన్నో ప్రదర్శిస్తుంది. మరియు ఈ IoT పరికరాలు క్లౌడ్తో సమకాలీకరించబడతాయి, తద్వారా మీరు మీ శారీరక శ్రమ చరిత్రను స్మార్ట్ఫోన్లో సులభంగా పొందవచ్చు. మేము ఒక ఐయోటి బేస్డ్ పేషెంట్ మానిటరింగ్ సిస్టమ్ను కూడా నిర్మించాము, ఇక్కడ క్లిష్టమైన డేటా ఎక్కడి నుండైనా పర్యవేక్షించడానికి థింగ్స్పీక్కు పంపబడింది.
పెడోమీటర్లు అంటే అడుగుజాడలను లెక్కించడానికి మాత్రమే ఉపయోగించే పరికరాలు. కాబట్టి ఈ ట్యుటోరియల్లో, మేము ఆర్డునో మరియు యాక్సిలెరోమీటర్ ఉపయోగించి సులభమైన మరియు చౌకైన DIY పెడోమీటర్ను నిర్మించబోతున్నాము. ఈ పెడోమీటర్ అడుగుజాడల సంఖ్యను లెక్కిస్తుంది మరియు వాటిని 16x2 LCD మాడ్యూల్లో ప్రదర్శిస్తుంది. ఈ పెడోమీటర్ను ఈ ఆర్డునో స్మార్ట్ వాచ్తో అనుసంధానించవచ్చు.
భాగాలు అవసరం
- ఆర్డునో నానో
- ADXL 335 యాక్సిలెరోమీటర్
- 16 * 2 ఎల్సిడి
- LCD I2C మాడ్యూల్
- బ్యాటరీ
ADXL335 యాక్సిలెరోమీటర్
ADXL335 పూర్తి 3-అక్షం అనలాగ్ యాక్సిలెరోమీటర్, మరియు ఇది కెపాసిటివ్ సెన్సింగ్ సూత్రంపై పనిచేస్తుంది. ఇది పాలిసిలికాన్ ఉపరితల-మైక్రో మెషిన్డ్ సెన్సార్ మరియు సిగ్నల్స్ కండిషనింగ్ సర్క్యూట్తో కూడిన చిన్న, సన్నని, తక్కువ శక్తి మాడ్యూల్. ADXL335 యాక్సిలెరోమీటర్ స్టాటిక్ మరియు డైనమిక్ త్వరణాన్ని కొలవగలదు. ఇక్కడ ఈ ఆర్డునో పెడోమీటర్ ప్రాజెక్ట్లో, ADXL335 యాక్సిలెరోమీటర్ పెడోమీటర్ సెన్సార్గా పనిచేస్తుంది.
ఒక యాక్సిలెరోమీటర్ దాని సంబంధిత వేరియబుల్ వోల్టేజ్ ఏ దిశలో త్వరణం మార్చగలదు ఇది ఒక పరికరం. కెపాసిటర్లను ఉపయోగించడం ద్వారా ఇది సాధించబడుతుంది (చిత్రం చూడండి), యాక్సెల్ కదులుతున్నప్పుడు, దాని లోపల ఉన్న కెపాసిటర్ కూడా కదలిక ఆధారంగా మార్పులకు లోనవుతుంది (చిత్రాన్ని చూడండి), కెపాసిటెన్స్ వైవిధ్యంగా ఉన్నందున, వేరియబుల్ వోల్టేజ్ కూడా పొందవచ్చు.
పిన్ వివరణతో పాటు ముందు మరియు వెనుక వైపు నుండి యాక్సిలెరోమీటర్ కోసం చిత్రాలు క్రింద ఉన్నాయి-
పిన్ యాక్సిలెరోమీటర్ వివరణ:
- Vcc- 5 వోల్ట్ సరఫరా ఈ పిన్ వద్ద కనెక్ట్ అవ్వాలి.
- X-OUT- ఈ పిన్ x దిశలో అనలాగ్ అవుట్పుట్ను ఇస్తుంది
- Y-OUT- ఈ పిన్ y దిశలో అనలాగ్ అవుట్పుట్ను ఇస్తుంది
- Z-OUT- ఈ పిన్ z దిశలో అనలాగ్ అవుట్పుట్ను ఇస్తుంది
- GND- గ్రౌండ్
- ST- సెన్సార్ యొక్క సెట్ సున్నితత్వం కోసం ఈ పిన్ ఉపయోగించబడుతుంది
సంజ్ఞ నియంత్రిత రోబోట్, భూకంప డిటెక్టర్ అలారం, పింగ్ పాంగ్ గేమ్ మొదలైన వాటితో సహా యాక్సిలెరోమీటర్ ADXL335 ను ఉపయోగించి మేము చాలా ప్రాజెక్టులను నిర్మిస్తాము.
సర్క్యూట్ రేఖాచిత్రం
ఆర్డునో యాక్సిలెరోమీటర్ స్టెప్ కౌంటర్ కోసం సర్క్యూట్ రేఖాచిత్రం క్రింద ఇవ్వబడింది.
ఈ సర్క్యూట్లో, మేము ADXL335 యాక్సిలెరోమీటర్తో Arduino నానోతో ఇంటర్ఫేస్ చేస్తున్నాము. యాక్సిలెరోమీటర్ యొక్క X, Y మరియు Z పిన్స్ ఆర్డునో నానో యొక్క అనలాగ్ పిన్స్ (A1, A2 & A3) తో అనుసంధానించబడి ఉన్నాయి. Arduino తో 16x2 LCD మాడ్యూళ్ళను ఇంటర్ఫేస్ చేయడానికి, మేము I2C మాడ్యూల్ ఉపయోగిస్తున్నాము. I2C మాడ్యూల్ యొక్క SCL & SDA పిన్స్ వరుసగా Aduino Nano యొక్క A5 మరియు A4 పిన్లకు అనుసంధానించబడి ఉన్నాయి. పూర్తి కనెక్షన్లు క్రింది పట్టికలో ఇవ్వబడ్డాయి:
ఆర్డునో నానో | ADXL335 |
3.3 వి | వీసీసీ |
GND | GND |
ఎ 1 | X. |
ఎ 2 | వై |
ఎ 3 | Z. |
ఆర్డునో నానో | LCD I2C మాడ్యూల్ |
5 వి | వీసీసీ |
GND | GND |
ఎ 4 | SDA |
A5 | ఎస్సీఎల్ |
మేము మొదట ఈ పెడోమీటర్ను బ్రెడ్బోర్డ్లో ఆర్డునో సెటప్ ఉపయోగించి నిర్మించాము
విజయవంతమైన పరీక్ష తర్వాత మేము క్రింద చూపిన విధంగా పెర్ఫ్బోర్డ్లోని అన్ని భాగాలను టంకం చేయడం ద్వారా పెర్ఫ్బోర్డ్లో ప్రతిరూపించాము:
పెడోమీటర్ ఎలా పనిచేస్తుంది?
ఒక పెడోమీటర్ ముందుకు, నిలువుగా మరియు ప్రక్కన ఉన్న కదలిక యొక్క మూడు భాగాలను ఉపయోగించి ఒక వ్యక్తి తీసుకున్న మొత్తం దశలను లెక్కిస్తుంది. ఈ విలువలను పొందడానికి పెడోమీటర్ సిస్టమ్ యాక్సిలెరోమీటర్ను ఉపయోగిస్తుంది. యాక్సిలెరోమీటర్ ప్రతి నిర్వచించిన సంఖ్య తర్వాత 3-అక్షం త్వరణం యొక్క గరిష్ట మరియు కనిష్ట విలువలను నిరంతరం నవీకరిస్తుంది. నమూనాల. ఈ 3-అక్షం (మాక్స్ + మిన్) / 2 యొక్క సగటు విలువను డైనమిక్ థ్రెషోల్డ్ స్థాయి అంటారు, మరియు ఈ థ్రెషోల్డ్ విలువ దశ తీసుకోబడిందా లేదా అని నిర్ణయించడానికి ఉపయోగించబడుతుంది.
నడుస్తున్నప్పుడు, పెడోమీటర్ ఏదైనా ధోరణిలో ఉంటుంది, కాబట్టి పెడోమీటర్ అక్షం ఉపయోగించి దశలను లెక్కిస్తుంది, దీని త్వరణం మార్పు అతిపెద్దది.
ఇప్పుడు ఈ ఆర్డునో పెడోమీటర్ యొక్క పని యొక్క శీఘ్ర నడకను మీకు ఇస్తాను:
- మొదట పెడోమీటర్ శక్తి వచ్చిన వెంటనే అమరికను ప్రారంభిస్తుంది.
- అప్పుడు శూన్య లూప్ ఫంక్షన్లో, ఇది నిరంతరం X, Y మరియు Z- అక్షం నుండి డేటాను పొందుతుంది.
- ఆ తరువాత, ఇది ప్రారంభ స్థానం నుండి మొత్తం త్వరణం వెక్టర్ను లెక్కిస్తుంది.
- త్వరణం వెక్టర్ X, Y మరియు Z- అక్షం విలువల యొక్క వర్గమూలం (x ^ 2 + y ^ 2 + z ^ 2).
- అప్పుడు ఇది దశల సంఖ్యను లెక్కించడానికి సగటు త్వరణం విలువలను ప్రవేశ విలువలతో పోలుస్తుంది.
- త్వరణం వెక్టర్ ప్రవేశ విలువను దాటితే, అది దశల సంఖ్యను పెంచుతుంది; లేకపోతే, ఇది చెల్లని ప్రకంపనలను విస్మరిస్తుంది.
ఆర్డునో స్టెప్ కౌంటర్ ప్రోగ్రామింగ్
పూర్తి ఆర్డునో స్టెప్ కౌంటర్ కోడ్ ఈ పత్రం చివరిలో ఇవ్వబడింది. ఇక్కడ మేము ఈ కోడ్ యొక్క కొన్ని ముఖ్యమైన స్నిప్పెట్లను వివరిస్తున్నాము.
ఎప్పటిలాగే, అవసరమైన అన్ని లైబ్రరీలను చేర్చడం ద్వారా కోడ్ను ప్రారంభించండి. ADXL335 యాక్సిలెరోమీటర్కు అనలాగ్ అవుట్పుట్ ఇస్తున్నందున దీనికి లైబ్రరీ అవసరం లేదు.
# చేర్చండి
ఆ తరువాత, యాక్సిలెరోమీటర్ అనుసంధానించబడిన ఆర్డునో పిన్లను నిర్వచించండి.
const int xpin = A1; const int ypin = A2; const int zpin = A3;
యాక్సిలెరోమీటర్ కోసం ప్రవేశ విలువను నిర్వచించండి. దశల సంఖ్యను లెక్కించడానికి ఈ ప్రవేశ విలువ త్వరణం వెక్టర్తో పోల్చబడుతుంది.
ఫ్లోట్ థ్రెషోల్డ్ = 6;
శూన్య సెటప్ లోపల, సిస్టమ్ శక్తినిచ్చేటప్పుడు ఫంక్షన్ క్రమాంకనం చేస్తుంది.
క్రమాంకనం ();
శూన్య లూప్ ఫంక్షన్ లోపల, ఇది 100 నమూనాల కోసం X, Y మరియు Z- అక్షం విలువలను చదువుతుంది.
(int a = 0; a <100; a ++) {xaccl = ఫ్లోట్ (అనలాగ్ రీడ్ (xpin) - 345); ఆలస్యం (1); yaccl = ఫ్లోట్ (అనలాగ్ రీడ్ (ypin) - 346); ఆలస్యం (1); zaccl = ఫ్లోట్ (అనలాగ్ రీడ్ (zpin) - 416); ఆలస్యం (1);
3-అక్షం విలువలను పొందిన తరువాత, X, Y మరియు Z- అక్షం విలువల యొక్క వర్గమూలాన్ని తీసుకొని మొత్తం త్వరణం వెక్టర్ను లెక్కించండి.
totvect = sqrt (((xaccl - xavg) * (xaccl - xavg)) + ((yaccl - yavg) * (yaccl - yavg)) + ((zval - zavg) * (zval - zavg)));
అప్పుడు గరిష్ట మరియు కనిష్ట త్వరణం వెక్టర్ విలువల సగటును లెక్కించండి.
totave = (totvect + totvect) / 2;
ఇప్పుడు సగటు త్వరణాన్ని ప్రవేశంతో పోల్చండి. ప్రవేశ స్థాయి కంటే సగటు ఎక్కువగా ఉంటే, అప్పుడు దశల సంఖ్యను పెంచండి మరియు జెండాను పెంచండి.
if (totave> ప్రవేశ && ఫ్లాగ్ == 0) {దశలు = దశలు + 1; జెండా = 1; }
సగటు కంటే ఎక్కువ అయితే జెండా ఎత్తితే, అప్పుడు ఏమీ చేయకండి.
else if (totave> ప్రవేశ && ఫ్లాగ్ == 1) {// లెక్కించవద్దు}
మొత్తం సగటు ప్రవేశ స్థాయి కంటే తక్కువగా ఉంటే మరియు జెండా పెరిగినట్లయితే, అప్పుడు జెండాను క్రిందికి ఉంచండి.
if (టోటావ్ <థ్రెషోల్డ్ && ఫ్లాగ్ == 1) {ఫ్లాగ్ = 0; }
సీరియల్ మానిటర్ మరియు ఎల్సిడిలో దశల సంఖ్యను ముద్రించండి.
సీరియల్.ప్రింట్ల్న్ (స్టెప్స్); lcd.print ("స్టెప్స్:"); lcd.print (దశలు);
ఆర్డునో పెడోమీటర్ను పరీక్షిస్తోంది
మీ హార్డ్వేర్ మరియు కోడ్ సిద్ధమైన తర్వాత, ఆర్డునోను ల్యాప్టాప్కు కనెక్ట్ చేసి, కోడ్ను అప్లోడ్ చేయండి. ఇప్పుడు మీ చేతుల్లో పెడోమీటర్ సెటప్ తీసుకొని దశల వారీగా నడవడం ప్రారంభించండి, ఇది ఎల్సిడిలో దశల సంఖ్యను ప్రదర్శిస్తుంది. పెడోమీటర్ చాలా వేగంగా లేదా చాలా నెమ్మదిగా కంపించేటప్పుడు కొన్నిసార్లు ఇది దశల సంఖ్యను పెంచుతుంది.
ADXL335 పెడోమీటర్ Arduino కోసం పూర్తి పని వీడియో మరియు కోడ్ క్రింద ఇవ్వబడ్డాయి.