विषयसूची:
- चरण 1: हार्डवेयर की आवश्यकता:
- चरण 2: हार्डवेयर हुकअप:
- चरण 3: चुंबकीय क्षेत्र की तीव्रता को मापने के लिए Arduino कोड:
- चरण 4: अनुप्रयोग:
वीडियो: HMC5883 और Arduino नैनो का उपयोग करके चुंबकीय क्षेत्र मापन: 4 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
HMC5883 एक डिजिटल कंपास है जिसे लो-फील्ड मैग्नेटिक सेंसिंग के लिए डिज़ाइन किया गया है। इस डिवाइस में +/- 8 Oe की एक विस्तृत चुंबकीय क्षेत्र रेंज और 160 हर्ट्ज की आउटपुट दर है। HMC5883 सेंसर में ऑटोमैटिक डीगॉसिंग स्ट्रैप ड्राइवर, ऑफ़सेट कैंसिलेशन और एक 12-बिट ADC शामिल है जो 1° से 2° कंपास हेडिंग सटीकता को सक्षम बनाता है। सभी I²C मिनी मॉड्यूल 5VDC पर संचालित करने के लिए डिज़ाइन किए गए हैं।
इस ट्यूटोरियल में, हम Arduino नैनो के साथ HMC5883 की विस्तृत कार्यप्रणाली की व्याख्या करने जा रहे हैं।
चरण 1: हार्डवेयर की आवश्यकता:
अपने लक्ष्य को पूरा करने के लिए हमें जिन सामग्रियों की आवश्यकता होती है, उनमें निम्नलिखित हार्डवेयर घटक शामिल हैं:
1. एचएमसी5883
2. अरुडिनो नैनो
3. I2C केबल
4. Arduino नैनो के लिए I2C शील्ड
चरण 2: हार्डवेयर हुकअप:
हार्डवेयर हुकअप सेक्शन मूल रूप से सेंसर और आर्डिनो नैनो के बीच आवश्यक वायरिंग कनेक्शन की व्याख्या करता है। वांछित आउटपुट के लिए किसी भी सिस्टम पर काम करते समय सही कनेक्शन सुनिश्चित करना मूलभूत आवश्यकता है। तो, अपेक्षित कनेक्शन इस प्रकार हैं:
HMC5883 I2C पर काम करेगा। यहाँ उदाहरण वायरिंग आरेख है, जिसमें दिखाया गया है कि सेंसर के प्रत्येक इंटरफ़ेस को कैसे वायर किया जाए।
आउट-ऑफ-द-बॉक्स, बोर्ड को I2C इंटरफ़ेस के लिए कॉन्फ़िगर किया गया है, जैसे कि यदि आप अन्यथा अज्ञेयवादी हैं तो हम इस हुकअप का उपयोग करने की सलाह देते हैं। आपको बस चार तार चाहिए!
केवल चार कनेक्शन की आवश्यकता होती है Vcc, Gnd, SCL और SDA पिन और ये I2C केबल की मदद से जुड़े होते हैं।
इन कनेक्शनों को ऊपर की तस्वीरों में दिखाया गया है।
चरण 3: चुंबकीय क्षेत्र की तीव्रता को मापने के लिए Arduino कोड:
आइए अब Arduino कोड से शुरू करते हैं।
Arduino के साथ सेंसर मॉड्यूल का उपयोग करते समय, हम Wire.h लाइब्रेरी को शामिल करते हैं। "वायर" लाइब्रेरी में ऐसे कार्य होते हैं जो सेंसर और Arduino बोर्ड के बीच i2c संचार की सुविधा प्रदान करते हैं।
उपयोगकर्ता की सुविधा के लिए संपूर्ण Arduino कोड नीचे दिया गया है:
#शामिल
// HMC5883 I2C पता 0x1E (30) है
# परिभाषित करें Addr 0x1E
व्यर्थ व्यवस्था()
{
// I2C संचार को मास्टर के रूप में प्रारंभ करें
वायर.बेगिन ();
// सीरियल कम्युनिकेशन को इनिशियलाइज़ करें, बॉड रेट सेट करें = 9600
सीरियल.बेगिन (९६००);
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// कॉन्फ़िगर रजिस्टर ए चुनें
वायर.राइट (0x00);
// सामान्य माप विन्यास सेट करें, डेटा आउटपुट दर = 0.75Hz
वायर.राइट (0x60);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// मोड रजिस्टर चुनें
वायर.राइट (0x02);
// निरंतर माप सेट करें
वायर.राइट (0x00);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
देरी (300);
}
शून्य लूप ()
{
अहस्ताक्षरित इंट डेटा [6];
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr);
// डेटा रजिस्टर का चयन करें
वायर.राइट (0x03);
// I2C ट्रांसमिशन बंद करो
वायर.एंडट्रांसमिशन ();
// डेटा के 6 बाइट्स का अनुरोध करें
Wire.requestFrom (Addr, 6);
// डेटा के 6 बाइट्स पढ़ें
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
अगर (वायर.उपलब्ध () == 6)
{
डेटा [0] = वायर.रीड ();
डेटा [1] = वायर.रीड ();
डेटा [2] = वायर.रीड ();
डेटा [3] = वायर.रीड ();
डेटा [४] = वायर.रीड ();
डेटा [5] = वायर.रीड ();
}
देरी (300);
// डेटा कनवर्ट करें
int xMag = ((डेटा [0] * 256) + डेटा [1]);
int zMag = ((डेटा[2] * 256) + डेटा [3]);
int yMag = ((डेटा [4] * 256) + डेटा [5]);
// सीरियल मॉनिटर को आउटपुट डेटा
Serial.print ("एक्स-एक्सिस में चुंबकीय क्षेत्र:");
सीरियल.प्रिंट्लन (एक्समैग);
Serial.print ("Y-अक्ष में चुंबकीय क्षेत्र:");
Serial.println (yMag);
सीरियल.प्रिंट ("जेड-एक्सिस में चुंबकीय क्षेत्र:");
Serial.println (zMag);
देरी (300);
}
वायर लाइब्रेरी में वायर.राइट () और वायर.रीड () का उपयोग कमांड लिखने और सेंसर आउटपुट को पढ़ने के लिए किया जाता है। कोड का निम्नलिखित भाग सेंसर आउटपुट के पठन को दिखाता है।
// डेटा के ६ बाइट्स पढ़ें डेटा [1] = वायर.रीड (); डेटा [2] = वायर.रीड (); डेटा [3] = वायर.रीड (); डेटा [४] = वायर.रीड (); डेटा [5] = वायर.रीड (); }
Serial.print() और Serial.println() का उपयोग Arduino IDE के सीरियल मॉनीटर पर सेंसर के आउटपुट को प्रदर्शित करने के लिए किया जाता है।
सेंसर का आउटपुट ऊपर की तस्वीर में दिखाया गया है।
चरण 4: अनुप्रयोग:
HMC5883 एक सरफेस-माउंट, मल्टी-चिप मॉड्यूल है जिसे कम लागत वाले कंपासिंग और मैग्नेटोमेट्री जैसे अनुप्रयोगों के लिए डिजिटल इंटरफेस के साथ लो-फील्ड मैग्नेटिक सेंसिंग के लिए डिज़ाइन किया गया है। इसकी एक से दो डिग्री उच्च स्तरीय सटीकता और सटीकता पैदल यात्री नेविगेशन और एलबीएस अनुप्रयोगों को सक्षम बनाती है।
सिफारिश की:
HMC5883 और रास्पबेरी पाई का उपयोग करके चुंबकीय क्षेत्र का मापन: 4 चरण
HMC5883 और रास्पबेरी पाई का उपयोग कर चुंबकीय क्षेत्र मापन: HMC5883 एक डिजिटल कंपास है जिसे लो-फील्ड चुंबकीय संवेदन के लिए डिज़ाइन किया गया है। इस डिवाइस में +/- 8 Oe की एक विस्तृत चुंबकीय क्षेत्र रेंज और 160 हर्ट्ज की आउटपुट दर है। HMC5883 सेंसर में ऑटोमैटिक डीगॉसिंग स्ट्रैप ड्राइवर, ऑफ़सेट कैंसिलेशन और
HMC5883 और कण फोटॉन का उपयोग करके चुंबकीय क्षेत्र मापन: 4 चरण
HMC5883 और कण फोटॉन का उपयोग करके चुंबकीय क्षेत्र मापन: HMC5883 एक डिजिटल कंपास है जिसे निम्न-क्षेत्र चुंबकीय संवेदन के लिए डिज़ाइन किया गया है। इस डिवाइस में +/- 8 Oe की एक विस्तृत चुंबकीय क्षेत्र रेंज और 160 हर्ट्ज की आउटपुट दर है। HMC5883 सेंसर में ऑटोमैटिक डीगॉसिंग स्ट्रैप ड्राइवर, ऑफ़सेट कैंसिलेशन और
STS21 और Arduino नैनो का उपयोग करके तापमान मापन: 4 चरण
STS21 और Arduino Nano का उपयोग करके तापमान मापन: STS21 डिजिटल तापमान सेंसर बेहतर प्रदर्शन और एक अंतरिक्ष बचत पदचिह्न प्रदान करता है। यह डिजिटल, I2C प्रारूप में कैलिब्रेटेड, रेखीयकृत सिग्नल प्रदान करता है। इस सेंसर का निर्माण CMOSens तकनीक पर आधारित है, जो बेहतर
H3LIS331DL और Arduino नैनो का उपयोग करके त्वरण का मापन: 4 चरण
H3LIS331DL और Arduino नैनो का उपयोग करके त्वरण का मापन: H3LIS331DL, डिजिटल I²C सीरियल इंटरफ़ेस के साथ "नैनो" परिवार से संबंधित एक कम-शक्ति उच्च प्रदर्शन 3-अक्ष रैखिक एक्सेलेरोमीटर है। H3LIS331DL में ± 100g/±200g/±400g के उपयोगकर्ता चयन योग्य पूर्ण पैमाने हैं और यह त्वरण को मापने में सक्षम है
ADT75 और Arduino नैनो का उपयोग करके तापमान का मापन: 4 चरण
ADT75 और Arduino Nano का उपयोग करके तापमान का मापन: ADT75 एक अत्यधिक सटीक, डिजिटल तापमान सेंसर है। इसमें तापमान की निगरानी और डिजिटलीकरण के लिए एक बैंड गैप तापमान सेंसर और डिजिटल कनवर्टर के लिए एक 12-बिट एनालॉग शामिल है। इसका अत्यधिक संवेदनशील सेंसर इसे मेरे लिए काफी सक्षम बनाता है