विषयसूची:

ADXL345 Arduino Uno R3 का उपयोग करना: 5 कदम
ADXL345 Arduino Uno R3 का उपयोग करना: 5 कदम

वीडियो: ADXL345 Arduino Uno R3 का उपयोग करना: 5 कदम

वीडियो: ADXL345 Arduino Uno R3 का उपयोग करना: 5 कदम
वीडियो: 7.2 How to use adxl345 accelerometer with Arduino 2024, जुलाई
Anonim
ADXL345 Arduino Uno R3. का उपयोग करना
ADXL345 Arduino Uno R3. का उपयोग करना

इस पाठ में, हम सीखेंगे कि त्वरण सेंसर ADXL345 का उपयोग कैसे करें।

चरण 1: अवयव

- Arduino Uno बोर्ड * 1

- यूएसबी केबल * 1

- एडीएक्सएल३४५ *१

- ब्रेडबोर्ड * १

- जम्पर तार

चरण 2: सिद्धांत

त्वरण के दौरान उत्पन्न बल को मापने के लिए एक्सेलेरोमीटर का उपयोग किया जाता है। सबसे मौलिक गुरुत्वाकर्षण का सामान्य रूप से ज्ञात त्वरण है जो 1g है।

गुरुत्वाकर्षण के कारण होने वाले त्वरण को मापकर, आप उपकरण के झुकाव कोण को समतल सतह पर परिकलित कर सकते हैं। गतिशील त्वरण का विश्लेषण करके, आप बता सकते हैं कि उपकरण कैसे चल रहा है। उदाहरण के लिए, सेल्फ-बैलेंसिंग बोर्ड या होवरबोर्ड कलमन फ़िल्टर और मुद्रा सुधार के लिए त्वरण सेंसर और गायरोस्कोप लागू करता है।

एडीएक्सएल345

ADXL345 ±16 g तक के उच्च रिज़ॉल्यूशन (13-बिट) माप के साथ एक छोटा, पतला, कम शक्ति, 3-अक्ष एक्सेलेरोमीटर है। डिजिटल आउटपुट डेटा को 16-बिट टू के पूरक के रूप में स्वरूपित किया जाता है और इसे SPI (3- या 4-वायर) या I2C डिजिटल इंटरफ़ेस के माध्यम से एक्सेस किया जा सकता है। इस प्रयोग में I2C डिजिटल इंटरफेस का उपयोग किया जाता है।

यह झुकाव-संवेदन अनुप्रयोगों में गुरुत्वाकर्षण के स्थिर त्वरण को मापने के साथ-साथ गति या झटके से उत्पन्न गतिशील त्वरण को मापने के लिए उपयुक्त है। इसका उच्च रिज़ॉल्यूशन (4 मिलीग्राम/एलएसबी) 1.0 डिग्री से कम के झुकाव परिवर्तन माप को सक्षम बनाता है। और उत्कृष्ट संवेदनशीलता (3.9mg/LSB @2g) ±16g तक का उच्च-सटीक आउटपुट प्रदान करती है।

ADXL345 कैसे काम करता है

ADXL345 सामने की तरफ सेंसिंग कंपोनेंट के साथ एक्सेलेरेशन का पता लगाता है, और फिर इलेक्ट्रिक सिग्नल सेंसिंग कंपोनेंट इसे इलेक्ट्रिक सिग्नल में बदल देता है, जो कि एनालॉग है। इसके बाद, मॉड्यूल पर एकीकृत एडी एडाप्टर एनालॉग सिग्नल को डिजिटल सिग्नल में बदल देगा।

X_OUT, Y_OUT और Z_OUT क्रमशः X, Y और Z अक्ष पर मान हैं। मॉड्यूल को ऊपर की ओर रखें: Z_OUT अधिकतम +1g तक पहुंच सकता है, न्यूनतम X_OUT, कुल्हाड़ी दिशा की ओर -1g है, और न्यूनतम Y_OUT, Ay दिशा की ओर -1g है। दूसरी ओर, मॉड्यूल को उल्टा कर दें: Z_OUT का न्यूनतम -1g है, अधिकतम X_OUT, कुल्हाड़ी दिशा की ओर +1g है, और अधिकतम Y_OUT, Ay दिशा की ओर +1g है।, जैसा कि नीचे दिया गया है। ADXL345 मॉड्यूल को घुमाएं और आप तीन मानों का परिवर्तन देखेंगे।

जब चैनल ए उच्च स्तर से निम्न स्तर में बदलता है, यदि चैनल बी उच्च स्तर है, तो यह रोटरी एन्कोडर को दक्षिणावर्त (सीडब्ल्यू) स्पिन करने का संकेत देता है; यदि उस समय चैनल B निम्न स्तर पर है, तो इसका अर्थ है कि वामावर्त (CCW) घूमता है। इसलिए यदि हम चैनल A के निम्न स्तर के होने पर चैनल B का मान पढ़ते हैं, तो हम जान सकते हैं कि रोटरी एनकोडर किस दिशा में घूमता है।

सिद्धांत: नीचे रोटरी एनकोडर मॉड्यूल का योजनाबद्ध आरेख देखें। इससे हम देख सकते हैं कि रोटरी एन्कोडर का पिन ३, अर्थात् मॉड्यूल पर सीएलके, चैनल बी है। पिन ५, जो डीटी है, चैनल ए है। रिकॉर्डर की घूर्णी दिशा जानने के लिए, बस सीएलके का मान पढ़ें और डीटी.

सर्किट में 3.3v वोल्टेज रेगुलेटर चिप है, जिससे आप मॉड्यूल को 5V या 3.3V से पावर दे सकते हैं।

चूंकि SDO को GND से जोड़ा गया है, ADXL345 का I2C पता 0x53, लिखने के लिए 0xA6, पढ़ने के लिए 0xA7 है

ADXL345 मॉड्यूल का पिन फंक्शन।

चरण 3: प्रक्रियाएं

चरण 1. सर्किट बनाएँ।

चरण 2:

github.com/primerobotics/Arduino से कोड डाउनलोड करें

चरण 3:

स्केच को Arduino Uno बोर्ड पर अपलोड करें

कोड को कंट्रोल बोर्ड पर अपलोड करने के लिए अपलोड आइकन पर क्लिक करें।

यदि विंडो के नीचे "अपलोड हो गया" दिखाई देता है, तो इसका मतलब है कि स्केच सफलतापूर्वक अपलोड किया गया है।

अपलोड करने के बाद, सीरियल मॉनिटर खोलें, जहां आप खोजे गए डेटा को देख सकते हैं। जब मॉड्यूल का त्वरण बदलता है, तो विंडो के अनुसार आंकड़ा बदल जाएगा।

चरण 4: कोड

कोड
कोड

//एडीएक्सएल३३५

/********************************

एडीएक्सएल३३५

नोट: वीसीसी5वी, लेकिन ADXL335 बनाम 3.3V. है

सर्किट:

5वी: वीसीसी

एनालॉग 0: एक्स-अक्ष

एनालॉग 1: y-अक्ष

एनालॉग 2: जेड-अक्ष

जलाने के बाद

प्रोग्राम, सीरियल मॉनिटर डिबगिंग विंडो खोलें, जहाँ आप प्रदर्शित होने वाले डेटा को देख सकते हैं। जब त्वरण बदलता है, तो आंकड़ा तदनुसार भिन्न होगा।

*********************************

/ईमेल:

// वेबसाइट: www.primerobotics.in

कॉन्स्ट इंट xpin =

ए0; // एक्सेलेरोमीटर का एक्स-अक्ष

कॉन्स्ट इंट यपिन =

ए1; // वाई-अक्ष

कॉन्स्ट इंट ज़िपिन =

ए2; // z- अक्ष (केवल 3-अक्ष मॉडल पर)

व्यर्थ व्यवस्था()

{

// सीरियल संचार को इनिशियलाइज़ करें:

सीरियल.बेगिन (९६००);

}

शून्य लूप ()

{

इंट एक्स = एनालॉगरेड (एक्सपिन); // xpin से पढ़ें

देरी(1); //

इंट वाई = एनालॉग रीड (यपिन); // यिपिन से पढ़ें

देरी(1);

इंट जेड = एनालॉगरेड (जेपिन); // जिपिन से पढ़ें

फ्लोट शून्य_जी = 338.0; //ADXL335 बिजली की आपूर्ति

बनाम 3.3V द्वारा:3.3V/5V*1024=676/2=338

// सीरियल.प्रिंट (एक्स);

// सीरियल.प्रिंट ("\ t");

// सीरियल.प्रिंट (वाई);

// सीरियल.प्रिंट ("\ t");

// सीरियल.प्रिंट (जेड);

// सीरियल.प्रिंट ("\ n");

पानी पर तैरना

Zero_Gx=331.5;//x अक्ष का शून्य_G आउटपुट:(x_max + x_min)/2

पानी पर तैरना

Zero_Gy=329.5;//y अक्ष का शून्य_G आउटपुट:(y_max + y_min)/2

फ्लोट ज़ीरो_Gz=३४०.०;//the

z अक्ष का शून्य_जी आउटपुट:(z_max + z_min)/2

फ्लोट स्केल =

67.6;//बनाम 3.3V द्वारा बिजली की आपूर्ति:3.3v/5v *1024/3.3v *330mv/g =67.6g

फ्लोट स्केल_एक्स =

65;//एक्स अक्ष का पैमाना: x_max/3.3v*330mv/g

फ्लोट स्केल_वाई =

68.5;//y अक्ष का पैमाना: y_max/3.3v*330mv/g

फ्लोट स्केल_जेड =

६८;//जेड अक्ष का पैमाना: z_max/3.3v*330mv/g

सीरियल.प्रिंट (((फ्लोट) x

- जीरो_जीएक्स)/स्केल_एक्स); // सीरियल मॉनिटर पर x मान प्रिंट करें

सीरियल.प्रिंट ("\ t");

सीरियल.प्रिंट (((फ्लोट) y

- जीरो_जी)/स्केल_वाई); // सीरियल मॉनिटर पर y मान प्रिंट करें

सीरियल.प्रिंट ("\ t");

सीरियल.प्रिंट (((फ्लोट) z

- जीरो_जीजेड)/स्केल_जेड); // सीरियल मॉनिटर पर z मान प्रिंट करें

सीरियल.प्रिंट ("\ n");

देरी (1000); // 1 सेकंड के लिए प्रतीक्षा करें

}

चरण 5: कोड विश्लेषण

ADXL345 प्रयोग के कोड में 3 भाग शामिल हैं: प्रत्येक पोर्ट और डिवाइस को इनिशियलाइज़ करें, सेंसर से भेजे गए डेटा को प्राप्त करें और स्टोर करें, और डेटा को कन्वर्ट करें।

सिफारिश की: