विषयसूची:
- चरण 1: हार्डवेयर की आवश्यकता:
- चरण 2: हार्डवेयर हुकअप:
- चरण 3: चुंबकीय क्षेत्र की तीव्रता को मापने के लिए जावा कोड:
- चरण 4: अनुप्रयोग:
वीडियो: HMC5883 और रास्पबेरी पाई का उपयोग करके चुंबकीय क्षेत्र का मापन: 4 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
HMC5883 एक डिजिटल कंपास है जिसे लो-फील्ड मैग्नेटिक सेंसिंग के लिए डिज़ाइन किया गया है। इस डिवाइस में +/- 8 Oe की एक विस्तृत चुंबकीय क्षेत्र रेंज और 160 हर्ट्ज की आउटपुट दर है। HMC5883 सेंसर में ऑटोमैटिक डीगॉसिंग स्ट्रैप ड्राइवर, ऑफ़सेट कैंसिलेशन और एक 12-बिट ADC शामिल है जो 1° से 2° कंपास हेडिंग सटीकता को सक्षम बनाता है। सभी I²C मिनी मॉड्यूल 5VDC पर संचालित करने के लिए डिज़ाइन किए गए हैं।
इस ट्यूटोरियल में, हम रास्पबेरी पाई के साथ HMC5883 की विस्तृत कार्यप्रणाली और जावा प्रोग्रामिंग भाषा का उपयोग करके इसकी प्रोग्रामिंग की व्याख्या करने जा रहे हैं।
चरण 1: हार्डवेयर की आवश्यकता:
कार्य को पूरा करने के लिए आवश्यक हार्डवेयर इस प्रकार है:
1. एचएमसी5883
2. रास्पबेरी पाई
3. I2C केबल
4. रास्पबेरी पाई के लिए I2C शील्ड
5. ईथरनेट केबल
चरण 2: हार्डवेयर हुकअप:
हार्डवेयर हुकअप सेक्शन मूल रूप से सेंसर और रास्पबेरी पाई के बीच आवश्यक वायरिंग कनेक्शन की व्याख्या करता है। वांछित आउटपुट के लिए किसी भी सिस्टम पर काम करते समय सही कनेक्शन सुनिश्चित करना मूलभूत आवश्यकता है। तो, अपेक्षित कनेक्शन इस प्रकार हैं:
HMC5883 I2C पर काम करेगा। यहाँ उदाहरण वायरिंग आरेख है, जिसमें दिखाया गया है कि सेंसर के प्रत्येक इंटरफ़ेस को कैसे वायर किया जाए।
आउट-ऑफ-द-बॉक्स, बोर्ड को I2C इंटरफ़ेस के लिए कॉन्फ़िगर किया गया है, जैसे कि यदि आप अन्यथा अज्ञेयवादी हैं तो हम इस हुकअप का उपयोग करने की सलाह देते हैं। आपको बस चार तार चाहिए!
केवल चार कनेक्शन की आवश्यकता होती है Vcc, Gnd, SCL और SDA पिन और ये I2C केबल की मदद से जुड़े होते हैं।
इन कनेक्शनों को ऊपर की तस्वीरों में दिखाया गया है।
चरण 3: चुंबकीय क्षेत्र की तीव्रता को मापने के लिए जावा कोड:
रास्पबेरी पाई का उपयोग करने का लाभ यह है कि यह आपको उस प्रोग्रामिंग भाषा का लचीलापन प्रदान करता है जिसमें आप सेंसर को इंटरफेस करने के लिए बोर्ड को प्रोग्राम करना चाहते हैं। इस बोर्ड के इस लाभ का उपयोग करते हुए, हम यहां जावा में इसकी प्रोग्रामिंग का प्रदर्शन कर रहे हैं। HMC5883 के लिए जावा कोड हमारे जीथब समुदाय से डाउनलोड किया जा सकता है जो कि Dcube Store है।
साथ ही उपयोगकर्ताओं की आसानी के लिए, हम यहां कोड भी समझा रहे हैं:
कोडिंग के पहले चरण के रूप में, आपको जावा के मामले में pi4j पुस्तकालय डाउनलोड करने की आवश्यकता है, क्योंकि यह पुस्तकालय कोड में प्रयुक्त कार्यों का समर्थन करता है। तो, पुस्तकालय डाउनलोड करने के लिए आप निम्न लिंक पर जा सकते हैं:
pi4j.com/install.html
आप इस सेंसर के लिए काम कर रहे जावा कोड को यहां से भी कॉपी कर सकते हैं:
आयात com.pi4j.io.i2c. I2CBus;
आयात com.pi4j.io.i2c. I2CDउपकरण;
एमपोर्ट com.pi4j.io.i2c. I2CFactory;
आयात java.io. IOException;पब्लिक क्लास HMC5883
{
सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग तर्क ) अपवाद फेंकता है
{
// I2C बस बनाएं
I2CBus बस = I2CFactory.getInstance(I2CBus. BUS_1);
// I2C डिवाइस प्राप्त करें, HMC5883 I2C पता 0x1E (30) है
I2CDevice डिवाइस = Bus.getDevice(0x1E);
// कॉन्फ़िगरेशन रजिस्टर का चयन करें A
// सामान्य माप विन्यास, डेटा दर ओ / पी = 0.75 हर्ट्ज
device.write (0x00, (बाइट) 0x60);
// मोड रजिस्टर चुनें
// निरंतर माप मोड
डिवाइस.राइट (0x02, (बाइट) 0x00);
थ्रेड.स्लीप (500);
// 0x03 (3) से 6 बाइट्स डेटा पढ़ें
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
बाइट डेटा = नया बाइट [6];
डिवाइस.रीड (0x03, डेटा, 0, 6);
// डेटा कनवर्ट करें
int xMag = ((डेटा [0] और 0xFF) * 256 + (डेटा [1] और 0xFF));
अगर (एक्समैग> 32767)
{
एक्समैग - = ६५५३६;
}
int zMag = ((डेटा[2] और 0xFF) * 256 + (डेटा [3] और 0xFF));
अगर (zMag> ३२७६७)
{
zMag - = ६५५३६;
}
int yMag = ((डेटा [4] और 0xFF) * 256 + (डेटा [5] और 0xFF));
अगर (वाईमैग> 32767)
{
yMag - = ६५५३६;
}
// स्क्रीन पर आउटपुट डेटा
System.out.printf ("एक्स-एक्सिस में चुंबकीय क्षेत्र:% d% n", xMag);
System.out.printf ("Y-अक्ष में चुंबकीय क्षेत्र: %d %n", yMag);
System.out.printf ("जेड-एक्सिस में चुंबकीय क्षेत्र:% d% n", zMag);
}
}
लिखें () और पढ़ें () फ़ंक्शन का उपयोग क्रमशः कमांड लिखने और सेंसर आउटपुट को पढ़ने के लिए किया जाता है। निम्नलिखित भाग चुंबकीय क्षेत्र के मूल्यों के पठन को दर्शाता है।
// 0x03 (3) से 6 बाइट्स डेटा पढ़ें
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
बाइट डेटा = नया बाइट [6];
डिवाइस.रीड (0x03, डेटा, 0, 6);
आउटपुट ऊपर चित्र में दिखाया गया है।
चरण 4: अनुप्रयोग:
HMC5883 एक सरफेस-माउंट, मल्टी-चिप मॉड्यूल है जिसे कम लागत वाले कंपासिंग और मैग्नेटोमेट्री जैसे अनुप्रयोगों के लिए डिजिटल इंटरफेस के साथ लो-फील्ड मैग्नेटिक सेंसिंग के लिए डिज़ाइन किया गया है। इसकी एक से दो डिग्री उच्च स्तरीय सटीकता और सटीकता पैदल यात्री नेविगेशन और एलबीएस अनुप्रयोगों को सक्षम बनाती है।
सिफारिश की:
HMC5883 और Arduino नैनो का उपयोग करके चुंबकीय क्षेत्र मापन: 4 चरण
HMC5883 और Arduino Nano का उपयोग करके चुंबकीय क्षेत्र मापन: HMC5883 एक डिजिटल कंपास है जिसे निम्न-क्षेत्र चुंबकीय संवेदन के लिए डिज़ाइन किया गया है। इस डिवाइस में +/- 8 Oe की एक विस्तृत चुंबकीय क्षेत्र रेंज और 160 हर्ट्ज की आउटपुट दर है। HMC5883 सेंसर में ऑटोमैटिक डीगॉसिंग स्ट्रैप ड्राइवर, ऑफ़सेट कैंसिलेशन और
HMC5883 और कण फोटॉन का उपयोग करके चुंबकीय क्षेत्र मापन: 4 चरण
HMC5883 और कण फोटॉन का उपयोग करके चुंबकीय क्षेत्र मापन: HMC5883 एक डिजिटल कंपास है जिसे निम्न-क्षेत्र चुंबकीय संवेदन के लिए डिज़ाइन किया गया है। इस डिवाइस में +/- 8 Oe की एक विस्तृत चुंबकीय क्षेत्र रेंज और 160 हर्ट्ज की आउटपुट दर है। HMC5883 सेंसर में ऑटोमैटिक डीगॉसिंग स्ट्रैप ड्राइवर, ऑफ़सेट कैंसिलेशन और
ADXL345 और रास्पबेरी पाई का उपयोग करके त्वरण का मापन: 4 चरण
ADXL345 और रास्पबेरी पाई का उपयोग करके त्वरण का मापन: ADXL345 ±16 ग्राम तक के उच्च रिज़ॉल्यूशन (13-बिट) माप के साथ एक छोटा, पतला, अल्ट्रालो पावर, 3-अक्ष एक्सेलेरोमीटर है। डिजिटल आउटपुट डेटा को 16-बिट टूस पूरक के रूप में स्वरूपित किया गया है और I2 C डिजिटल इंटरफ़ेस के माध्यम से पहुँचा जा सकता है। इसे मापता है
H3LIS331DL और रास्पबेरी पाई का उपयोग करके त्वरण का मापन: 4 चरण
H3LIS331DL और रास्पबेरी पाई का उपयोग करके त्वरण का मापन: H3LIS331DL, डिजिटल I²C सीरियल इंटरफ़ेस के साथ "नैनो" परिवार से संबंधित एक कम-शक्ति वाला उच्च प्रदर्शन 3-अक्ष रैखिक एक्सेलेरोमीटर है। H3LIS331DL में ± 100g/±200g/±400g के उपयोगकर्ता चयन योग्य पूर्ण पैमाने हैं और यह त्वरण को मापने में सक्षम है
STS21 और रास्पबेरी पाई का उपयोग करके तापमान मापन: 4 चरण
STS21 और रास्पबेरी पाई का उपयोग करके तापमान मापन: STS21 डिजिटल तापमान सेंसर बेहतर प्रदर्शन और एक अंतरिक्ष बचत पदचिह्न प्रदान करता है। यह डिजिटल, I2C प्रारूप में कैलिब्रेटेड, रेखीयकृत सिग्नल प्रदान करता है। इस सेंसर का निर्माण CMOSens तकनीक पर आधारित है, जो बेहतर