डिजिटल कंपास HMC5883 को Arduino से कैसे कनेक्ट करें

विषयसूची:

डिजिटल कंपास HMC5883 को Arduino से कैसे कनेक्ट करें
डिजिटल कंपास HMC5883 को Arduino से कैसे कनेक्ट करें

वीडियो: डिजिटल कंपास HMC5883 को Arduino से कैसे कनेक्ट करें

वीडियो: डिजिटल कंपास HMC5883 को Arduino से कैसे कनेक्ट करें
वीडियो: hmc5883l arduino compass,magnetometer sensor,compass navigation"Arduino Project for beginners 2024, दिसंबर
Anonim

आइए हनीवेल HMC5883L थ्री-एक्सिस डिजिटल कंपास के साथ GY-273 मॉड्यूल के कनेक्शन पर विचार करें। यदि उच्च माप सटीकता की आवश्यकता नहीं है (1 … 2 डिग्री की त्रुटि और अंशांकन की संभावना के साथ) नेविगेशन में, इस माइक्रोक्रिकिट का उपयोग मैग्नेटोमेट्रिक माप के लिए किया जा सकता है। डिवाइस I2C इंटरफ़ेस के माध्यम से जुड़ा हुआ है।

डिजिटल कम्पास HMC5883
डिजिटल कम्पास HMC5883

ज़रूरी

  • - डिजिटल कम्पास HMC5883;
  • - अरुडिनो;
  • - प्रोटोटाइप बोर्ड और कनेक्टिंग वायर;
  • - संगणक।

अनुदेश

चरण 1

ये चुंबकीय कंपास की मुख्य विशेषताएं हैं:

- 3-अक्ष चुंबकीय रूप से संवेदनशील सेंसर;

- 2 मिलीग्राम (मिलीगॉस) के संकल्प के साथ 12-बिट एडीसी;

- अंतर्निहित आत्म-परीक्षण;

- कम ऑपरेटिंग वोल्टेज और कम खपत;

- डिजिटल इंटरफ़ेस I2C;

- उच्च मतदान दर - प्रति सेकंड 160 बार तक (एक माप का समय लगभग 6 एमएस है);

- दिशा निर्धारित करने की सटीकता 1 °… 2 ° है;

- मजबूत चुंबकीय क्षेत्रों (± 8 गॉस तक) में इस्तेमाल किया जा सकता है।

HMC5883L चुंबकीय संवेदक को Arduino से जोड़ने का आरेख चित्र में दिखाया गया है। यह बहुत कॉम्पैक्ट और सरल है, क्योंकि दो-तार I2C इंटरफ़ेस बहुत अच्छा है क्योंकि इसके लिए कुछ कनेक्शन की आवश्यकता होती है। आप ब्रेडबोर्ड का उपयोग कर सकते हैं।

HMC5883 डिजिटल कंपास को Arduino से कनेक्ट करना
HMC5883 डिजिटल कंपास को Arduino से कनेक्ट करना

चरण दो

यह फोटो जैसा कुछ दिखना चाहिए। मैं Arduino और HMC5883 मॉड्यूल के बीच सूचना के आदान-प्रदान की निगरानी के लिए SCL और SDA बसों के लिए एक तर्क विश्लेषक को भी जोड़ूंगा। यह अनिवार्य नहीं है।

ब्रेडबोर्ड पर Arduino से जुड़ा HMC5883 डिजिटल कंपास
ब्रेडबोर्ड पर Arduino से जुड़ा HMC5883 डिजिटल कंपास

चरण 3

पहले परिचित के रूप में, आइए डिजिटल कम्पास HMC5883 के पहचान रजिस्टर 10 (0xA), 11 (0xB) और 12 (0xC) को पढ़ने का प्रयास करें और इस तरह का एक स्केच लिखें जैसा कि चित्र में है। यह विस्तृत टिप्पणियों के साथ प्रदान किया गया है।

HMC5883. के पहचान रजिस्टरों को पढ़ते हुए स्केच
HMC5883. के पहचान रजिस्टरों को पढ़ते हुए स्केच

चरण 4

तर्क विश्लेषक के साथ प्राप्त संकेत चित्रण में दिखाए गए अनुसार होगा।

इसका क्या मतलब है? पहला बाइट I2C पता है जिसके साथ हम (मास्टर डिवाइस, Arduino) संचार स्थापित करते हैं (उच्च 7 बिट 0x1E), और लेखन मोड (निम्न बिट - 0x0); संख्या 0x3C है। दूसरा बाइट नंबर 0xA है, जिसे हमने 0x1E को संबोधित करने के लिए लिखा था और HMC5883L सेंसर से पुष्टि बिट, जो कि गुलाम है। यह रजिस्टर नंबर है जिससे हम डेटा पढ़ना शुरू करेंगे। यह पहला लेनदेन समाप्त करता है। अगला शुरू होता है। तीसरा बाइट दास से एक पढ़ने का अनुरोध है (सबसे महत्वपूर्ण 7 बिट पता 0x1E है, 8 वां बिट रीड ऑपरेशन 0x1 है; परिणामी संख्या 0x3D है)। अंतिम 3 तीन बाइट्स क्रमशः 0xA, 0xB, और 0xC रजिस्टरों से HMC5883L गुलाम की प्रतिक्रिया हैं।

डिजिटल कम्पास HMC5883L निरंतर पढ़ने के दौरान स्वतंत्र रूप से रजिस्टरों के माध्यम से चलता है। वो। हर बार मामले को निर्दिष्ट करना आवश्यक नहीं है (लेकिन निषिद्ध नहीं)। उदाहरण के लिए, यदि 0xA के बजाय हम 0x3 लिखेंगे और 10 बार पढ़ेंगे, तो हमें 10 रजिस्टरों में मान मिलेगा, जो 3 से 12 तक शुरू होगा।

और ये तीन संख्याएँ क्या हैं - 0x48, 0x34, 0x33? HMC5883L डिजिटल कंपास के लिए फिर से डेटा शीट का उपयोग करते हुए, हम देखेंगे कि ये तीन पहचान रजिस्टरों के लिए डिफ़ॉल्ट मान हैं।

HMC5883 डिजिटल कंपास के साथ I2C एक्सचेंज का टाइमिंग डायग्राम
HMC5883 डिजिटल कंपास के साथ I2C एक्सचेंज का टाइमिंग डायग्राम

चरण 5

चुंबकीय क्षेत्र पर डिजिटल कंपास डेटा प्राप्त करने के लिए, आपको रजिस्टरों को 3 से 8 तक पढ़ना होगा, जैसे हम पहचान रजिस्टरों को पढ़ते हैं। अंतर केवल इतना है कि तीन अक्षों X, Y और Z में से प्रत्येक के लिए डेटा को डबल-बाइट संख्या के रूप में प्रस्तुत किया जाता है। उन्हें दशमलव संख्याओं में बदलने पर, हमें तीनों अक्षों में से प्रत्येक के साथ दिशाएँ मिलती हैं।

सिफारिश की: