DYNAMENT AN0007 Arduino کان پلاٽينم COMM يوزر گائيڊ

AN0007 Arduino کان پلاٽينم COMM تائين

پيداوار جي ڄاڻ

وضاحتون

  • پراڊڪٽ جو نالو: آرڊوينو کان پليٽينم ڪامز مدد دستاويز
  • ٺاهيندڙ: Dynament Limited
  • پتو: هرميtagاي لين انڊسٽريل اسٽيٽ، ڪنگز مل وي،
    مينسفيلڊ، ناٽنگهم شائر، اين جي 18 5ER، برطانيه
  • رابطو: ٽيليفون: 44 (0)1623 663636، اي ميل: sales@dynament.com،
    Webسائيٽ: www.dynament.com
  • مسئلو: 1.2، تاريخ: 09/04/2025

پيداوار جي استعمال جون هدايتون

سينسر سان ڳنڻ

هي ڊيٽا شيٽ آرڊينو ميگا کي اڳوڻي طور استعمال ڪري ٿيample. ڳنڍيو جيئن
هيٺ ڏنل:

  • 5v -> 5v آرڊينو پن
  • 0v -> آرڊينو GND
  • Tx -> آرڊينو RX1
  • Rx -> امڪاني ورهائيندڙ جي آئوٽ پُٽ ڏانهن ويندو آهي. ان پٽ
    Arduino Tx ڏانهن وڃي ٿو

جلدtage مطابقت

آرڊينو 5v لاجڪ هاءِ استعمال ڪري ٿو جڏهن ته پلاٽينم سينسر استعمال ڪري ٿو
3.3v. وولٽ استعمال ڪريوtagاي ورهائيندڙ R1 ۽ R2 لاءِ تجويز ڪيل قدرن سان جيئن
سينسر کي نقصان کان بچائڻ لاءِ 4K7.

Arduino IDE سيٽ اپ

  1. آرڊينو IDE سافٽ ويئر جو جديد ترين نسخو ڊائون لوڊ ڪريو تان
    آرڊينو webسائيٽ.
  2. اوزارن ۾ آرڊينو بورڊ، پروسيسر، ۽ پورٽ چونڊيو.
    ڊراپ-ڊائون مينيو.

ڪوڊ اپلوڊ

  1. ڏنل اڳوڻي ڪاپي ڪريوampآرڊينو IDE ۾ ڪوڊ داخل ڪريو.
  2. تير تي ڪلڪ ڪري آرڊينو تي ڪوڊ اپلوڊ ڪريو.
  3. سيريل مانيٽر کي کوليو ته view ڊيٽا جي منتقلي.

FAQ

سوال: جيڪڏهن مون وٽ صرف هڪ ڪمانڊ سان آرڊينو يونو هجي ته مون کي ڇا ڪرڻ گهرجي؟
بندرگاهه؟

الف: پلاٽينم سينسر کي ان پورٽ سان ڳنڍيو. استعمال ڪندي
سيريل مانيٽر، اهو منتقل ٿيل هيڪس پڻ ڏيکاريندو.

“`

ايپليڪيشن نوٽ AN0007
آرڊوينو کان پليٽينم ڪامز مدد دستاويز

ڊينامينٽ لميٽيڊ
هرميtagاي لين انڊسٽريل اسٽيٽ ڪنگز مل وي مينسفيلڊ ناٽنگهم شائر NG18 5ER برطانيه. ٽيليفون: 44 (0)1623 663636
اي ميل: sales@dynament.com www.dynament.com

AN0007

مسئلو 1.2

09/04/2025

نوٽ 805 تبديل ڪريو

صفحو 1 مان 14

مواد
ڊائنامٽ لميٽيڊ …………………………………………………………………………………………………………….1 سينسر کي ڳنڍڻ………………………………………………………………………………………………..3 آرڊينو آئي ڊي اي ……………………………………………………………………………………………………………5 ڪوڊ وضاحت………………………………………………………………………………………………..9 پيڪٽ بريڪ ڊائون …………………………………………………………………………………………………………….11 سيريل.ريڊ استعمال ڪندي() …………………………………………………………………………………………………………….13
ترقي يافته تبديلي جا نوٽس…………………………………………………………………………………….14

AN0007

مسئلو 1.2

09/04/2025

نوٽ 805 تبديل ڪريو

صفحو 2 مان 14

سينسر کي ڳنڍڻ هي ڊيٽا شيٽ آرڊينو ميگا کي اڳوڻي طور استعمال ڪري ٿيample. Ardunio Mega هڪ کان وڌيڪ ڪميونيڪيشن پورٽ فراهم ڪري ٿو، تنهن ڪري ڪميونيڪيشن پورٽ 1 سينسر سان رابطو ڪرڻ لاءِ استعمال ڪيو ويندو آهي ۽ ڪميونيڪيشن پورٽ 0 پي سي تي پرنٽ ڪرڻ لاءِ استعمال ڪيو ويندو آهي.
آرڊينو 5v لاجڪ هاءِ استعمال ڪري ٿو جڏهن ته پلاٽينم سينسر 3.3v استعمال ڪري ٿو، تنهن ڪري سينسر کي نقصان کان بچائڻ لاءِ هڪ وولtagاي ڊيوائيڊر استعمال ڪرڻ گهرجي. R1 ۽ R2 لاءِ تجويز ڪيل قدر 4K7 آهن.

شڪل 1: وول کي گھٽائي ٿوtagاي کان استعمال لائق سطح تائين
سينسر ٽرانسمٽ لائن جيڪا آرڊينو رسيور ڏانهن وڃي ٿي ان کي ڊويزنر جي ضرورت ناهي ڇو ته 3.3v آرڊينو لاءِ قابل قبول ان پٽ آهي.
سينسر کي پاور ڏيڻ لاءِ ان کي 5v ۽ 0v سان ڳنڍڻو پوندو. ان لاءِ توهان Arduino تي پن استعمال ڪري سگهو ٿا.
هن جي مڪمل ٿيڻ کان پوءِ، سينسر ۾ هاڻي هيٺيان پن ڳنڍيل هجڻ گهرجن:
5v -> 5v آرڊينو پن
0v -> آرڊينو GND
Tx -> آرڊينو RX1
Rx -> پوٽينشل ڊويزنر جي آئوٽ پُٽ ڏانهن ويندو آهي. ان پٽ Arduino Tx ڏانهن ويندو آهي.

AN0007

مسئلو 1.2

09/04/2025

نوٽ 805 تبديل ڪريو

صفحو 3 مان 14

هن جي مڪمل ٿيڻ کان پوءِ توهان جو پلاٽينم سينسر ڳنڍيل هجڻ گهرجي جيئن ڏيکاريل آهي:
شڪل 2: سينسر کي سولڊر اڊاپٽر سان الٽو ڏيکاريو ويو آهي.
جيڪڏهن توهان صرف هڪ ڪميونيڪيشن پورٽ سان آرڊينو استعمال ڪري رهيا آهيو (جهڙوڪ آرڊينو يونو) ته توهان کي ان سان ڳنڍڻو پوندو، جڏهن ته جڏهن توهان سيريل مانيٽر استعمال ڪندا آهيو (بعد ۾ ڏيکاريل آهي) ته اهو منتقل ٿيل هيڪس پڻ ڏيکاريندو.

AN0007

مسئلو 1.2

09/04/2025

نوٽ 805 تبديل ڪريو

صفحو 4 مان 14

آرڊينو آئي ڊي اي آرڊينو ڏانهن وڃو webسائيٽ تي وڃو ۽ Arduino IDE سافٽ ويئر جو نئون ورجن ڊائون لوڊ ڪريو. انسٽال ٿيڻ کان پوءِ توهان کي هيٺ ڏنل اسڪرين ڏسڻ گهرجي:
شڪل 3: آرڊينو هوم اسڪرين
ٽولز ڊراپ ڊائون مينيو ۾، آرڊينو بورڊ، پروسيسر ۽ پورٽ چونڊيو جيڪو توهان استعمال ڪري رهيا آهيو:

شڪل 4: بورڊ، پروسيسر ۽ پورٽ آپشن چونڊيو

AN0007

مسئلو 1.2

09/04/2025

نوٽ 805 تبديل ڪريو

صفحو 5 مان 14

هن اڳوڻي ۾ ڪاپي ڪريوampڪوڊ: خالي موڪليو_پڙهو_رهيو_ڊيٽا_سادي(); خالي وصول_پڙهو_رهيو_ڊيٽا_سادي();
خالي سيٽ اپ () { سيريل.بيگن (38400)؛ سيريل1.بيگن (38400)؛
}
خالي لوپ () { موڪليو_پڙهو_رهيو_ڊيٽا_سادو()؛ وصول ڪريو_پڙهو_رهيو_ڊيٽا_سادو()؛ دير (5000)؛
}
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);
}
خالي وصول_پڙهڻ_لائيو_ڊيٽا_سادي(){ جڏهن ته (سيريل1.ايس ايبل()) { سيريل.پرنٽ(سيريل1.ريڊ(), هيڪس); سيريل.پرنٽ(“|”); } سيريل.پرنٽ ايل اين();
}

AN0007

مسئلو 1.2

09/04/2025

نوٽ 805 تبديل ڪريو

صفحو 6 مان 14

شڪل 5: ڪوڊ اپلوڊ ڪرڻ لاءِ تيار آهي
آرڊينو تي ڪوڊ اپلوڊ ڪرڻ لاءِ تير تي ڪلڪ ڪريو. آرڊينو پروگرام ٿيڻ کان پوءِ سيريل مانيٽر کوليو.

AN0007

شڪل 6: سيريل مانيٽر کوليو

مسئلو 1.2

09/04/2025

نوٽ 805 تبديل ڪريو

صفحو 7 مان 14

شڪل 7: سيريل مونٽر اهو پيڪٽ ڏيکاري ٿو جيڪو وصول ڪيو ويو آهي.

AN0007

مسئلو 1.2

09/04/2025

نوٽ 805 تبديل ڪريو

صفحو 8 مان 14

ڪوڊ جي وضاحت Arduino IDE Arduino کي پروگرام ڪرڻ لاءِ C++ استعمال ڪري ٿو.
هي لائن هڪ فارورڊ ڊڪليئريشن آهي. هي مائڪرو ڪنٽرولر کي ٻڌائڻ لاءِ استعمال ڪيو ويندو آهي ته پروگرام ۾ وڌيڪ هيٺ `send_read_live_data_simple` فنڪشن ۽ `receive_read_live_data_simple` فنڪشن سڏيو ويندو.
اڳيان سيٽ اپ فنڪشن آهي. هي ڪوڊ صرف هڪ ڀيرو شروع ٿيڻ تي هلندو آهي. اهو Serial0 ۽ Serial1 پورٽ شروع ڪري ٿو. Serial0 اهو آهي جيڪو سيريل مانيٽر اسڪرين ۾ ڏيکاريل آهي. Serial1 سينسر سان رابطو ڪرڻ لاءِ پورٽ آهي.
هي مکيه لوپ آهي، هي ڪوڊ بار بار لوپ ٿيندو آهي. توهان فنڪشن جا نالا پڙهڻ سان ڏسي سگهو ٿا ته اهو لائيو ڊيٽا اسٽرڪچر جي هڪ آسان ورزن کي پڙهڻ لاءِ درخواست موڪلي ٿو. پوءِ اهو جواب پڙهڻ لاءِ وصول ڪندڙ پورٽ کي پڙهي ٿو. ان کان پوءِ مائڪرو ڪنٽرولر 5000mS انتظار ڪري ٿو.
هي فنڪشن لائيو ڊيٽا سادي جوڙجڪ کي سيريل پورٽ 1 ۾ حاصل ڪرڻ جي درخواست لکي ٿو. جيئن اڳ ذڪر ڪيو ويو آهي جيڪڏهن توهان وٽ صرف هڪ سيريل پورٽ آهي ته توهان کي سيريل 1 کي سيريل ۾ تبديل ڪرڻ گهرجي. ڪمانڊن جي مڪمل فهرست ڏسڻ لاءِ، پريميئر سينسر ڪميونيڪيشن پروٽوڪول دستاويز جو حوالو ڏيو. هتي دستاويز جو حصو آهي جيڪو توهان کي ٻڌائي ٿو ته هن حڪم لاءِ ڇا لکڻو آهي:

AN0007

مسئلو 1.2

09/04/2025

نوٽ 805 تبديل ڪريو

صفحو 9 مان 14

هي فنڪشن پڙهڻ واري فنڪشن کي لوپ ڪري ٿو جڏهن ته پلاٽينم سينسر مان ڊيٽا اڃا تائين حاصل ٿيڻو آهي. Serial1.read() Serial1 مان ڊيٽا پڙهي ٿو جيڪو سينسر سان ڳنڍيل آهي ۽ ان کي Serial0 تي پرنٽ ڪري ٿو ته جيئن اهو سيريل مانيٽر تي ڏسي سگهجي. پوءِ ڪردار `|' پرنٽ ڪيو ويندو آهي ته جيئن هر بائيٽ کي ٽوڙي سگهجي جيڪا حاصل ٿئي ٿي ته جيئن ان کي سيريل مانيٽر تي واضح ڪري سگهجي.
ان جي مڪمل ٿيڻ کان پوءِ اهو سيريل مانيٽر ڏانهن هڪ نئين لائن لکي ٿو.

AN0007

مسئلو 1.2

09/04/2025

نوٽ 805 تبديل ڪريو

صفحو 10 مان 14

پيڪٽ بريڪ ڊائون شڪل 8 ۽ 9 ۾ وصول ۽ منتقل لائينن سان ڳنڍيل هڪ سيريل ڊيڪوڊر جو آئوٽ پُٽ ڏيکاريو ويو آهي.
شڪل 8: ٻاهر نڪرندڙ پيڪٽ
شڪل 9: ايندڙ پيڪٽ
شڪل 10 ۽ 11 ۾ هڪ ڪالم سان ترتيب وار ٻاهر نڪرندڙ ۽ ايندڙ هيڪس ڏيکاريو ويو آهي جيڪو ڏيکاري ٿو ته اهو ڪهڙو حڪم آهي.

شڪل 10: ٻاهر نڪرندڙ پيڪٽ جي وضاحت

AN0007

مسئلو 1.2

09/04/2025

نوٽ 805 تبديل ڪريو

صفحو 11 مان 14

شڪل 11: ايندڙ پيڪٽ جي وضاحت
مهرباني ڪري نوٽ ڪريو ته گيس ريڊنگ هڪ ڊيسيمل آهي هڪ انٽيجر نه. هي ڊيسيمل IEEE-754 فارميٽ ۾ آهي، توهان ان کي تبديل ڪرڻ لاءِ هن جهڙو آن لائن ڪنورٽر استعمال ڪري سگهو ٿا. هن صورت ۾ گيس ويليو -250 ڏيکاري ٿو (جيئن اهو ان وقت ايرر موڊ ۾ هو).

AN0007

مسئلو 1.2

09/04/2025

نوٽ 805 تبديل ڪريو

صفحو 12 مان 14

Serial.read() استعمال ڪندي
پوئين ڪوڊ صرف سيريل مانيٽر تي حاصل ڪيل ڊيٽا کي پرنٽ ڪندو هو، جيڪڏهن توهان ڊيٽا کي متغيرن ۾ محفوظ ڪرڻ چاهيو ٿا ته توهان کي ڪجهه وڌيڪ پروسيسنگ ڪرڻ جي ضرورت پوندي. توهان کي جيڪو پيڪٽ ملي ٿو اهو بائيٽس ۾ ورهايل آهي، ان جي ڪري توهان کي هن ڊيٽا مان ڪجهه کي متغيرن ۾ ڳنڍڻ جي ضرورت پوندي. Serial1.Read() هڪ int واپس ڪري ٿو (جيڪو Arduino لاءِ 16 بِٽ آهي)، جڏهن ته، صرف پهرين 8 بِٽ استعمال ڪيا ويندا آهن. ان جي ڪري اسان ان کي هڪ ننڍڙي ڊيٽا ٽائپ ۾ ڪاپي ڪري سگهون ٿا جيڪو صرف 8 بِٽ آهي، هن صورت ۾ مان char استعمال ڪندس.
انهن پيڪٽن لاءِ جيڪي صرف هڪ بائيٽ ڊگها آهن، هي ٺيڪ ڪم ڪري ٿو:
2 بائيٽ يا 4 بائيٽ ڊگھا پيڪٽس لاءِ توهان کي ڊيٽا کي گڏ ڪرڻ جي ضرورت پوندي.

توهان اهو ڪيترن ئي مختلف طريقن سان ڪري سگهو ٿا، هتي مان جيڪو ڪرڻ وارو آهيان اهو آهي ته ڊيٽا کي کاٻي پاسي شفٽ ڪريو ۽ پوءِ ان کي OR ڪريو.

هن ڪوڊ کي استعمال ڪندي، جيڪڏهن readByte1 0x34 آهي ۽ readByte2 0x12 آهي.

(انٽ) ريڊ بائيٽ 2

// هي 0x12 کي 0x0012 ۾ تبديل ڪري ٿو.

(انٽ) ريڊ بائيٽ 2 << 8

// هي بِٽس کي هڪ بائيٽ سان تبديل ڪري ٿو ۽ ان کي 0x1200 بڻائي ٿو.

(int)readByte2 << 8 | readByte1 // هي پوءِ OR'ed ٿيندو، 0x34 سان 0x1234 ٺاهيندو.

ان کي ڪرڻ جو ٻيو طريقو اهو هوندو ته قدرن کي هڪ صف ۾ رکيو وڃي ۽ پوءِ صف کي ان قسم ۾ تبديل ڪيو وڃي جيڪو توهان چاهيو ٿا:

AN0007

مسئلو 1.2

09/04/2025

نوٽ 805 تبديل ڪريو

صفحو 13 مان 14

چار هڪ بائيٽ ڊگھا آهن، جڏهن ته فلوٽ 4 بائيٽ ڊگهو آهي. ان ڪري جيڪڏهن اسان 4 ڪردارن جي هڪ صف ٺاهيندا آهيون جنهن ۾ اسان جون قيمتون آهن ۽ قسم کي فلوٽ ۾ تبديل ڪندا آهيون.
هن صورت ۾ readArray هڪ چار صف ڏانهن هڪ پوائنٽر آهي. (float*)readArray هي حصو ان کي فلوٽ ڏانهن هڪ پوائنٽر ڏانهن اڇلائي ٿو ۽ پوءِ فلوٽ جي قيمت حاصل ڪرڻ لاءِ اڳيان هڪ * شامل ڪيو ويندو آهي.
ترقي يافته تبديلي جا نوٽس
1. Serial.read() char جي بدران int واپس ڪري ٿو ڇاڪاڻ ته غلطيون منفي قدرون واپس ڪنديون. توهان جي پروگرام کي هن جي جانچ ڪرڻ گهرجي.
2. uint8_t ۽ uint16_t کي ترتيب وار char ۽ int جي جاءِ تي استعمال ڪرڻ گهرجي، ڇاڪاڻ ته انهن قسمن جو ڪو معياري سائيز ناهي (منهنجي PC تي int 32 بِٽ آهي جڏهن ته Arduino تي اهو 16 بِٽ آهي).
3. ڪمز پروٽوڪول ۾ بائيٽ اسٽفڊ اکر شامل آهن (جن کي ڪنٽرول اکر پڻ چيو ويندو آهي)، اهو tds0045 پريميئر سينسر ڪميونيڪيشن پروٽوڪول دستاويز ۾ وڌيڪ تفصيل سان بيان ڪيو ويو آهي. ان جي ڪري پڙهڻ وارو لائيو ڊيٽا سادو پيڪٽ ڪڏهن ڪڏهن توقع کان وڏو هوندو.

AN0007

مسئلو 1.2

09/04/2025

نوٽ 805 تبديل ڪريو

صفحو 14 مان 14

دستاويز / وسيلا

ڊائنامٽ AN0007 آرڊينو کان پلاٽينم COMM تائين [pdf] استعمال ڪندڙ ھدايت
AN0007 آردوينو کان پلاٽينم COMM، AN0007، آردوينو کان پلاٽينم COMM، کان پلاٽينم COMM، پلاٽينم COMM

حوالو

تبصرو ڇڏي ڏيو

توهان جو اي ميل پتو شايع نه ڪيو ويندو. گهربل فيلڊ نشان لڳل آهن *