DYNAMENT AN0007 Arduino ते प्लॅटिनम COMM वापरकर्ता मार्गदर्शक

AN0007 Arduino ते प्लॅटिनम COMM

उत्पादन माहिती

तपशील

  • उत्पादनाचे नाव: आर्डूइनो ते प्लॅटिनम कॉम्स मदत दस्तऐवज
  • निर्माता: डायनामेंट लिमिटेड
  • पत्ता:: हर्मीtagई लेन इंडस्ट्रियल इस्टेट, किंग्ज मिल वे,
    मॅन्सफील्ड, नॉटिंगहॅमशायर, एनजी१८ ५ईआर, यूके
  • संपर्क: दूरध्वनी: ४४ (०)१६२३ ६६३६३६, ईमेल: sales@dynament.com,
    Webसाइट: www.dynament.com
  • अंक: १.२, तारीख: ०९/०४/२०२५

उत्पादन वापर सूचना

सेन्सर कनेक्ट करत आहे

या डेटा शीटमध्ये अर्दूइनो मेगा हा एक उदाहरण म्हणून वापरला आहे.ampले. म्हणून कनेक्ट करा
खालीलप्रमाणे

  • ५ व्ही -> ५ व्ही आर्डिनो पिन
  • ० व्ही -> आर्डिनो जीएनडी
  • Tx -> Arduino RX1
  • Rx -> संभाव्य विभाजकाच्या आउटपुटवर जाते. इनपुट
    Arduino Tx वर जाते

खंडtage सुसंगतता

Arduino 5v लॉजिक हाय वापरते तर प्लॅटिनम सेन्सर वापरते
३.३ व्ही. व्हॉल्यूम वापराtagR1 आणि R2 साठी सुचवलेल्या मूल्यांसह e विभाजक
सेन्सरला नुकसान टाळण्यासाठी 4K7.

Arduino IDE सेटअप

  1. Arduino IDE सॉफ्टवेअरची नवीनतम आवृत्ती येथून डाउनलोड करा.
    अर्दूइनो webसाइट
  2. टूल्समध्ये Arduino बोर्ड, प्रोसेसर आणि पोर्ट निवडा.
    ड्रॉप-डाउन मेनू.

कोड अपलोड

  1. दिलेले एक्स कॉपी कराampArduino IDE मध्ये कोड.
  2. बाणावर क्लिक करून Arduino वर कोड अपलोड करा.
  3. सिरीयल मॉनिटर उघडा view डेटा ट्रान्समिशन.

वारंवार विचारले जाणारे प्रश्न

प्रश्न: जर माझ्याकडे फक्त एकच कम्युनिकेशन असलेला Arduino Uno असेल तर मी काय करावे?
बंदर?

अ: प्लॅटिनम सेन्सरला त्या पोर्टशी जोडा. वापरताना
सिरीयल मॉनिटर, तो प्रसारित हेक्स देखील दर्शवेल.

"`

अर्ज टीप AN0007
आर्डूइनो ते प्लॅटिनम कॉम मदत दस्तऐवज

डायनामेंट लिमिटेड
हर्मीtagई लेन इंडस्ट्रियल इस्टेट किंग्ज मिल वे मॅन्सफील्ड नॉटिंगहॅमशायर एनजी१८ ५ईआर यूके. दूरध्वनी: ४४ (०)१६२३ ६६३६३६
ईमेल: sales@dynament.com www.dynament.com

AN0007

अंक 1.2

२०२०/१०/२३

नोट ८०५ बदला

पृष्ठ 1 पैकी 14

सामग्री
डायनामेंट लिमिटेड ………………………………………………………………………………………………….१ सेन्सर कनेक्ट करणे………………………………………………………………………………………………..३ आर्डिनो आयडीई ……………………………………………………………………………………………………………५ कोड स्पष्टीकरण………………………………………………………………………………………………..९ पॅकेट ब्रेकडाउन ………………………………………………………………………………………………….११ सिरियल.रीड वापरणे() …………………………………………………………………………………………………………….१३
प्रगत रूपांतरण नोट्स………………………………………………………………………….१४

AN0007

अंक 1.2

२०२०/१०/२३

नोट ८०५ बदला

पृष्ठ 2 पैकी 14

सेन्सर कनेक्ट करणे हे डेटा शीट आर्डूइनो मेगाला एक्स म्हणून वापरतेampले. अर्डुनियो मेगा एकापेक्षा जास्त कम्युनिकेशन पोर्ट प्रदान करते, म्हणून सेन्सरशी संवाद साधण्यासाठी कम्युनिकेशन पोर्ट १ वापरला जातो आणि पीसीवर प्रिंट करण्यासाठी कम्युनिकेशन पोर्ट ० वापरला जातो.
आर्डूइनो ५ व्ही लॉजिक हाय वापरते तर प्लॅटिनम सेन्सर ३.३ व्ही वापरते, त्यामुळे सेन्सरला होणारे नुकसान टाळण्यासाठी व्हॉल्यूमtage डिव्हायडर वापरणे आवश्यक आहे. R1 आणि R2 साठी सुचवलेली मूल्ये 4K7 आहेत.

आकृती १: व्हॉल्यूम कमी करतेtagवापरण्यायोग्य पातळीपर्यंत e
आर्डूइनो रिसीव्हरला जाणाऱ्या सेन्सर ट्रान्समिट लाईनला डिव्हायडरची आवश्यकता नसते कारण आर्डूइनोसाठी 3.3v स्वीकार्य इनपुट आहे.
सेन्सरला पॉवर देण्यासाठी तो 5v आणि 0v ला जोडलेला असणे आवश्यक आहे. हे करण्यासाठी तुम्ही Arduino वरील पिन वापरू शकता.
हे पूर्ण झाल्यानंतर, सेन्सरमध्ये आता खालील पिन जोडलेले असावेत:
५ व्ही -> ५ व्ही आर्डिनो पिन
० व्ही -> आर्डिनो जीएनडी
Tx -> Arduino RX1
Rx -> संभाव्य विभाजकाच्या आउटपुटवर जाते. इनपुट Arduino Tx वर जाते.

AN0007

अंक 1.2

२०२०/१०/२३

नोट ८०५ बदला

पृष्ठ 3 पैकी 14

हे पूर्ण झाल्यानंतर तुमचा प्लॅटिनम सेन्सर दाखवल्याप्रमाणे जोडला गेला पाहिजे:
आकृती २: सोल्डर अॅडॉप्टरसह सेन्सर उलटा दाखवला आहे.
जर तुम्ही फक्त एकाच कम्युनिकेशन पोर्टसह Arduino वापरत असाल (जसे की Arduino Uno), तर तुम्हाला ते त्याच्याशी कनेक्ट करावे लागेल, परंतु जेव्हा तुम्ही सिरीयल मॉनिटर वापरता (नंतर दाखवला जाईल) तेव्हा तो प्रसारित होणारा हेक्स देखील दर्शवेल.

AN0007

अंक 1.2

२०२०/१०/२३

नोट ८०५ बदला

पृष्ठ 4 पैकी 14

Arduino IDE Arduino वर जा. webसाइटवर जा आणि Arduino IDE सॉफ्टवेअरची नवीनतम आवृत्ती डाउनलोड करा. एकदा स्थापित केल्यानंतर तुम्हाला खालील स्क्रीन दिसेल:
आकृती ३: आर्डूइनो होम स्क्रीन
टूल्स ड्रॉप डाउन मेनूमध्ये तुम्ही वापरत असलेला Arduino बोर्ड, प्रोसेसर आणि पोर्ट निवडा:

आकृती ४: बोर्ड, प्रोसेसर आणि पोर्ट पर्याय निवडा

AN0007

अंक 1.2

२०२०/१०/२३

नोट ८०५ बदला

पृष्ठ 5 पैकी 14

या एक्समध्ये कॉपी कराampकोड: व्हॉइड सेंड_रीड_लाइव्ह_डेटा_सिंपल(); व्हॉइड रिसीव्ह_रीड_लाइव्ह_डेटा_सिंपल();
व्हॉइड सेटअप() { सिरीयल.बिगिन(३८४००); सिरीयल१.बिगिन(३८४००);
}
व्हॉइड लूप() { लाइव्ह डेटा सिंपल वाचण्यासाठी पाठवा(); लाइव्ह डेटा सिंपल वाचण्यासाठी प्राप्त करा(); विलंब(५०००);
}
void send_read_live_data_simple(){ // 0x10, 0x13, 0x06, 0x10, 0x1F, 0x00, 0x58 Serial1.write(0x10); Serial1.write(0x13); Serial1.write(0x06); Serial1.write(0x10); Serial1.write(0x1F); Serial1.write(0x00); Serial1.write(0x58);
}
व्हॉइड रिसीव्ह_रीड_लाइव्ह_डेटा_सिंपल(){ तर (सिरियल१.उपलब्ध()) { सिरियल.प्रिंट(सिरियल१.रीड(), हेक्स); सिरियल.प्रिंट(“|”); } सिरियल.प्रिंटएलएन();
}

AN0007

अंक 1.2

२०२०/१०/२३

नोट ८०५ बदला

पृष्ठ 6 पैकी 14

आकृती ५: अपलोड करण्यासाठी तयार कोड
Arduino वर कोड अपलोड करण्यासाठी बाणावर क्लिक करा. Arduino प्रोग्राम केल्यानंतर सिरीयल मॉनिटर उघडा.

AN0007

आकृती ६: सिरीयल मॉनिटर उघडा

अंक 1.2

२०२०/१०/२३

नोट ८०५ बदला

पृष्ठ 7 पैकी 14

आकृती ७: सिरीयल मॉन्टर प्राप्त झालेले पॅकेट दाखवते.

AN0007

अंक 1.2

२०२०/१०/२३

नोट ८०५ बदला

पृष्ठ 8 पैकी 14

कोड स्पष्टीकरण: Arduino IDE Arduino प्रोग्राम करण्यासाठी C++ वापरते.
ही ओळ एक फॉरवर्ड डिक्लेरेशन आहे. याचा वापर मायक्रोकंट्रोलरला सांगण्यासाठी केला जातो की प्रोग्राममध्ये आणखी खाली `send_read_live_data_simple' फंक्शन आणि `receive_read_live_data_simple' फंक्शन कॉल केले जाईल.
पुढे सेटअप फंक्शन आहे. हा कोड स्टार्टअपवर फक्त एकदाच रन होतो. तो Serial0 आणि Serial1 पोर्ट सुरू करतो. Serial0 हे सिरीयल मॉनिटर स्क्रीनवर दाखवले जाते. Serial1 हे सेन्सरशी संवाद साधण्यासाठी पोर्ट आहे.
हा मुख्य लूप आहे, हा कोड वारंवार लूप केला जातो. फंक्शनची नावे वाचून तुम्ही पाहू शकता की ते लाईव्ह डेटा स्ट्रक्चरची सरलीकृत आवृत्ती वाचण्यासाठी विनंती पाठवते. नंतर ते उत्तर वाचण्यासाठी रिसीव्ह पोर्ट वाचते. यानंतर मायक्रोकंट्रोलर 5000mS वाट पाहतो.
हे फंक्शन लाइव्ह डेटा सिंपल स्ट्रक्चरला सिरीयल पोर्ट १ वर आणण्याची विनंती लिहिते. आधी सांगितल्याप्रमाणे जर तुमच्याकडे फक्त एकच सिरीयल पोर्ट असेल तर तुम्ही सिरीयल १ ला सिरीयल मध्ये बदलावे. कमांडची संपूर्ण यादी पाहण्यासाठी, प्रीमियर सेन्सर कम्युनिकेशन्स प्रोटोकॉल डॉक्युमेंट पहा. या कमांडसाठी काय लिहायचे ते सांगणारा डॉक्युमेंटचा भाग येथे आहे:

AN0007

अंक 1.2

२०२०/१०/२३

नोट ८०५ बदला

पृष्ठ 9 पैकी 14

प्लॅटिनम सेन्सरकडून डेटा प्राप्त व्हायचा असताना हे फंक्शन रीड फंक्शनला लूप करते. Serial1.read() सेन्सरशी जोडलेल्या Serial1 मधील डेटा वाचतो आणि तो Serial0 वर प्रिंट करतो जेणेकरून तो सिरीयल मॉनिटरवर पाहता येईल. त्यानंतर `|' हा कॅरेक्टर प्रिंट केला जातो जेणेकरून प्राप्त झालेल्या प्रत्येक बाइटचे विभाजन करून ते सिरीयल मॉनिटरवर स्पष्ट होईल.
हे पूर्ण झाल्यानंतर ते सिरीयल मॉनिटरला एक नवीन ओळ लिहिते.

AN0007

अंक 1.2

२०२०/१०/२३

नोट ८०५ बदला

पृष्ठ 10 पैकी 14

पॅकेट ब्रेकडाउन आकृती ८ आणि ९ मध्ये रिसीव्ह आणि ट्रान्समिट लाईन्सशी जोडलेल्या सिरीयल डीकोडरचे आउटपुट दाखवले आहे.
आकृती ८: जाणारे पॅकेट
आकृती ९: येणारे पॅकेट
आकृती १० आणि ११ मध्ये अनुक्रमे आउटगोइंग आणि इनकमिंग हेक्स दाखवले आहेत ज्यामध्ये एका कॉलमचा समावेश आहे जो तो कोणता कमांड आहे हे दर्शवितो.

आकृती १०: आउटगोइंग पॅकेटचे वर्णन

AN0007

अंक 1.2

२०२०/१०/२३

नोट ८०५ बदला

पृष्ठ 11 पैकी 14

आकृती ११: येणारे पॅकेट वर्णन
कृपया लक्षात घ्या की गॅस रीडिंग हे पूर्णांक नसून दशांश आहे. हे दशांश IEEE-754 फॉरमॅटमध्ये आहे, तुम्ही ते रूपांतरित करण्यासाठी यासारखे ऑनलाइन कन्व्हर्टर वापरू शकता. या प्रकरणात गॅस व्हॅल्यू -250 दर्शवते (जसे की ते त्यावेळी एरर मोडमध्ये होते).

AN0007

अंक 1.2

२०२०/१०/२३

नोट ८०५ बदला

पृष्ठ 12 पैकी 14

Serial.read() वापरणे
मागील कोडमध्ये फक्त सिरीयल मॉनिटरवर मिळालेला डेटा प्रिंट केला जात असे, जर तुम्हाला डेटा व्हेरिएबल्समध्ये सेव्ह करायचा असेल तर तुम्हाला आणखी काही प्रक्रिया करावी लागेल. तुम्हाला मिळणारे पॅकेट बाइट्समध्ये विभागले गेले आहे, त्यामुळे तुम्हाला या डेटाचा काही भाग व्हेरिएबल्समध्ये जोडावा लागेल. Serial1.Read() एक int परत करतो (जे Arduino साठी 16 बिट्स आहे), तथापि, फक्त पहिले 8 बिट्स वापरले जातात. यामुळे आपण ते फक्त 8 बिट्स असलेल्या लहान डेटा प्रकारात कॉपी करू शकतो, या प्रकरणात मी char वापरेन.
फक्त एक बाइट लांब असलेल्या पॅकेटसाठी, हे चांगले काम करते:
२ बाइट्स किंवा ४ बाइट्स लांबीच्या पॅकेटसाठी तुम्हाला डेटा एकत्र करावा लागेल.

तुम्ही हे अनेक वेगवेगळ्या प्रकारे करू शकता, येथे मी डेटा डावीकडे शिफ्ट करणार आहे आणि नंतर तो OR करणार आहे.

या कोडचा वापर करून, जर readByte1 0x34 असेल आणि readByte2 0x12 असेल.

(इंट)रीडबाइट२

// हे 0x12 ला 0x0012 मध्ये रूपांतरित करते.

(इंट)रीडबाइट२ << ८

// हे बिट्स एका बाइटने बदलून ते 0x1200 बनवते.

(int)readByte2 << 8 | readByte1 // हे नंतर OR'ed होते, 0x34 सह 0x1234 बनते.

हे करण्याचा दुसरा मार्ग म्हणजे व्हॅल्यूज अ‍ॅरेमध्ये ठेवणे आणि नंतर अ‍ॅरेला तुम्हाला हव्या असलेल्या प्रकारात रूपांतरित करणे:

AN0007

अंक 1.2

२०२०/१०/२३

नोट ८०५ बदला

पृष्ठ 13 पैकी 14

अक्षरे एक बाइट लांब असतात, तर फ्लोट ४ बाइट लांब असतात. म्हणूनच जर आपण आपल्या व्हॅल्यूजसह ४ अक्षरांचा अ‍ॅरे बनवला आणि तो प्रकार फ्लोटमध्ये बदलला तर.
या प्रकरणात readArray हा char array चा पॉइंटर आहे. (float*)readArray हा भाग तो float च्या पॉइंटरवर टाकतो आणि नंतर float ची व्हॅल्यू मिळविण्यासाठी समोर * जोडला जातो.
प्रगत रूपांतरण नोट्स
१. Serial.read() char ऐवजी int परत करते कारण एरर्स नकारात्मक मूल्ये परत करतील. तुमच्या प्रोग्रामने हे तपासले पाहिजे.
२. char आणि int च्या जागी अनुक्रमे uint2_t आणि uint8_t वापरावेत, कारण या प्रकारांना मानक आकार नाही (माझ्या PC वर int 16 बिट्स आहे तर Arduino वर 32 बिट्स आहे).
३. कॉम प्रोटोकॉलमध्ये बाइट स्टफ्ड कॅरेक्टर असतात (ज्याला कंट्रोल कॅरेक्टर असेही म्हणतात), हे tds3 प्रीमियर सेन्सर कम्युनिकेशन्स प्रोटोकॉल डॉक्युमेंटमध्ये अधिक तपशीलवार स्पष्ट केले आहे. यामुळे रीड लाईव्ह डेटा सिंपल पॅकेट कधीकधी अपेक्षेपेक्षा मोठे असेल.

AN0007

अंक 1.2

२०२०/१०/२३

नोट ८०५ बदला

पृष्ठ 14 पैकी 14

कागदपत्रे / संसाधने

DYNAMENT AN0007 Arduino ते प्लॅटिनम COMM [pdf] वापरकर्ता मार्गदर्शक
AN0007 Arduino ते Platinum COMM, AN0007, Arduino ते Platinum COMM, ते Platinum COMM, Platinum COMM

संदर्भ

एक टिप्पणी द्या

तुमचा ईमेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित आहेत *