AN0007 Arduino hadi Platinum COMM
“
Taarifa ya Bidhaa
Vipimo
- Jina la Bidhaa: ARDUINO hadi PLATINUM COMMS WARAKA WA USAIDIZI
- Mtengenezaji: Dynament Limited
- Anwani: Hermitage Lane Industrial Estate, Kings Mill Way,
Mansfield, Nottinghamshire, NG18 5ER, Uingereza - Mawasiliano: Simu: 44 (0)1623 663636, Barua pepe: sales@dynament.com,
Webtovuti: www.dynament.com - Toleo: 1.2, Tarehe: 09/04/2025
Maagizo ya Matumizi ya Bidhaa
Kuunganisha Sensor
Laha hii ya data hutumia Arduino Mega kama toleo la zamaniample. Unganisha kama
ifuatavyo:
- 5v -> 5v pini ya Arduino
- 0v -> Arduino GND
- Tx -> Arduino RX1
- Rx -> Huenda kwa matokeo ya kigawanyaji kinachowezekana. Ingizo
huenda kwa Arduino Tx
Voltage Utangamano
Arduino hutumia mantiki ya 5v juu huku Kihisi cha Platinamu kikitumia
3.3v. Tumia juzuutagkigawanyiko cha e chenye thamani zilizopendekezwa za R1 na R2 kama
4K7 ili kuzuia uharibifu wa Sensor.
Usanidi wa IDE ya Arduino
- Pakua toleo jipya zaidi la programu ya Arduino IDE kutoka
Arduino webtovuti. - Chagua ubao wa Arduino, kichakataji, na mlango kwenye zana
menyu kunjuzi.
Upakiaji wa Msimbo
- Nakili ex iliyotolewaample code ndani ya Arduino IDE.
- Pakia msimbo kwenye Arduino kwa kubofya kishale.
- Fungua ufuatiliaji wa serial kwa view usambazaji wa data.
Maswali Yanayoulizwa Mara kwa Mara
Swali: Nifanye nini ikiwa nina Arduino Uno yenye comm moja tu
bandari?
J: Unganisha Kihisi cha Platinamu kwenye bandari hiyo. Wakati wa kutumia
ufuatiliaji wa serial, itaonyesha pia hex iliyopitishwa.
"`
Kumbuka Maombi AN0007
ARDUINO hadi PLATINUM COMMS HATI YA MSAADA
Dynament Limited
Hermitage Lane Industrial Estate Kings Mill Way Mansfield Nottinghamshire NG18 5ER UK. Simu: 44 (0)1623 663636
barua pepe: sales@dynament.com www.dynament.com
AN0007
Toleo la 1.2
09/04/2025
Badilisha Kumbuka 805
Ukurasa wa 1 wa 14
Yaliyomo
Dynament Limited …………………………………………………………………………………………………….1 Kuunganisha Kitambuzi………………………………………………………………………………………..3 Arduino IDE ……………………………………………………………………………………………………………….5 Maelezo ya Kanuni………………………………………………………………………………………………………… …………………………………………………………………………………………………….9 Kwa kutumia Serial.read() ……………………………………………………………………………………………….11.
Vidokezo vya Kina vya Uongofu………………………………………………………………………………….14
AN0007
Toleo la 1.2
09/04/2025
Badilisha Kumbuka 805
Ukurasa wa 2 wa 14
Kuunganisha Kihisi Laha hii ya data hutumia Arduino Mega kama toleo la zamaniample. Ardunio Mega hutoa zaidi ya bandari moja ya comm, kwa hivyo comm port 1 inatumika kuwasiliana na kihisi na comm port 0 inatumika kuchapisha kwa Kompyuta.
Arduino hutumia mantiki ya 5v juu ilhali Sensor ya Platinamu hutumia 3.3v, kwa hivyo kuzuia uharibifu wa Sensor a vol.tage divider lazima itumike. Thamani zinazopendekezwa za R1 na R2 ni 4K7.
Kielelezo cha 1: Hupunguza ujazotage kwa kiwango kinachoweza kutumika
Laini ya kusambaza ya Sensor inayoenda kwenye kipokezi cha Arduino haihitaji kigawanyaji kwani 3.3v ni ingizo linalokubalika kwa Arduino.
Ili kuwasha Sensor lazima iunganishwe kwa 5v na 0v. Ili kufanya hivyo, unaweza kutumia pini kwenye Arduino.
Baada ya hii kukamilika, sensor inapaswa kuwa na pini zifuatazo zilizounganishwa:
5v -> 5v pini ya Arduino
0v -> Arduino GND
Tx -> Arduino RX1
Rx -> Huenda kwa matokeo ya kigawanyaji kinachowezekana. Ingizo huenda kwa Arduino Tx
AN0007
Toleo la 1.2
09/04/2025
Badilisha Kumbuka 805
Ukurasa wa 3 wa 14
Baada ya hii kukamilika Sensor yako ya Platinamu inapaswa kuunganishwa kama inavyoonyeshwa:
Kielelezo cha 2: Sensor inaonyeshwa juu chini na adapta ya solder
Ikiwa unatumia Arduino iliyo na bandari moja tu ya comm (kama Arduino Uno) itabidi uiunganishe na hiyo, hata hivyo unapotumia kifuatiliaji cha serial (kilichoonyeshwa baadaye) pia kitaonyesha hex inayopitishwa.
AN0007
Toleo la 1.2
09/04/2025
Badilisha Kumbuka 805
Ukurasa wa 4 wa 14
Arduino IDE Nenda kwa Arduino webtovuti na upakue toleo jipya zaidi la programu ya Arduino IDE. Mara tu ikiwa imewekwa unapaswa kuona skrini ifuatayo:
Kielelezo cha 3: Skrini ya nyumbani ya Arduino
Katika menyu kunjuzi ya zana chagua ubao wa Arduino, kichakataji na bandari unayotumia:
Kielelezo cha 4: Chagua chaguzi za Bodi, Kichakata na Bandari
AN0007
Toleo la 1.2
09/04/2025
Badilisha Kumbuka 805
Ukurasa wa 5 wa 14
Nakili katika ex hiiampnambari ya le: send_read_live_data_simple(); batili receive_read_live_data_rahisi();
usanidi utupu() { Serial.begin(38400); Serial1.begin(38400);
}
kitanzi utupu() { send_read_live_data_simple(); receive_read_live_data_rahisi(); kuchelewa (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);
}
batili receive_read_live_data_simple(){ huku (Serial1.available()) { Serial.print(Serial1.read(), HEX); Serial.print(“|”); } Serial.println();
}
AN0007
Toleo la 1.2
09/04/2025
Badilisha Kumbuka 805
Ukurasa wa 6 wa 14
Kielelezo cha 5: Msimbo uko tayari kupakiwa
Bofya kishale ili kupakia msimbo kwenye Arduino. Baada ya kupangwa kwa Arduino, fungua ufuatiliaji wa serial.
AN0007
Kielelezo cha 6: Fungua Kifuatiliaji cha Ufuatiliaji
Toleo la 1.2
09/04/2025
Badilisha Kumbuka 805
Ukurasa wa 7 wa 14
Kielelezo cha 7: Serial Montor inaonyesha pakiti ambayo imepokelewa
AN0007
Toleo la 1.2
09/04/2025
Badilisha Kumbuka 805
Ukurasa wa 8 wa 14
Ufafanuzi wa Kanuni Kitambulisho cha Arduino hutumia C++ kupanga Arduino.
Mstari huu ni tamko la mbele. Hii inatumika kumwambia Kidhibiti Kidogo kwamba chini zaidi katika programu kitendakazi cha `send_read_live_data_simple' na kitendakazi cha `receive_read_live_data_simple' kitaitwa.
Ifuatayo ni kazi ya usanidi. Nambari hii inaendeshwa mara moja tu inapoanzisha. Huanzisha bandari za Serial0 na Serial1. Serial0 ndio inayoonyeshwa kwenye skrini ya ufuatiliaji wa serial. Serial1 ni mlango wa kuwasiliana na kihisi.
Hiki ndicho kitanzi kikuu, msimbo huu unafungwa mara kwa mara. Unaweza kuona kwa kusoma majina ya kazi ambayo inatuma ombi la kusoma toleo lililorahisishwa la muundo wa data ya moja kwa moja. Kisha inasoma bandari ya kupokea ili kusoma jibu. Baada ya hii Microcontroller inasubiri 5000mS.
Chaguo hili la kukokotoa huandika ombi la kupata muundo rahisi wa data ya moja kwa moja hadi mlango wa serial wa 1. Kama ilivyotajwa hapo awali ikiwa una mlango mmoja wa mfululizo unapaswa kubadilisha Serial1 hadi Serial. Ili kuona orodha kamili ya amri, rejelea hati ya itifaki ya Mawasiliano ya kihisi kikuu. Hapa kuna sehemu ya hati ambayo inakuambia nini cha kuandika kwa amri hii:
AN0007
Toleo la 1.2
09/04/2025
Badilisha Kumbuka 805
Ukurasa wa 9 wa 14
Chaguo hili la kukokotoa huunganisha utendakazi wa kusoma wakati bado kuna data ya kupokewa kutoka kwa Kihisi cha Platinum. Serial1.read() husoma data kutoka kwa Serial1 ambayo imeunganishwa kwa kitambuzi na kuichapisha kwenye Serial0 ili iweze kuonekana kwenye kifuatiliaji cha mfululizo. Mhusika `|' kisha huchapishwa ili kuvunja kila baiti inayopokelewa ili kuifanya iwe wazi zaidi kwenye kifuatiliaji cha mfululizo.
Baada ya hii kukamilika inaandika laini mpya kwa mfuatiliaji wa serial.
AN0007
Toleo la 1.2
09/04/2025
Badilisha Kumbuka 805
Ukurasa wa 10 wa 14
Uchanganuzi wa Pakiti Mchoro 8 na 9 unaonyesha matokeo ya avkodare ya mfululizo iliyounganishwa kwa njia za kupokea na kusambaza.
Kielelezo 8: Kifurushi Kinachotoka
Kielelezo cha 9: Pakiti inayoingia
Kielelezo cha 10 na 11 kinaonyesha heksi inayotoka na inayoingia mtawalia na safu wima inayoonyesha ni amri ipi.
Kielelezo cha 10: Maelezo ya Pakiti Zinazotoka
AN0007
Toleo la 1.2
09/04/2025
Badilisha Kumbuka 805
Ukurasa wa 11 wa 14
Kielelezo cha 11: Maelezo ya Pakiti inayoingia
Tafadhali kumbuka usomaji wa Gesi ni desimali sio nambari kamili. Desimali hii iko katika umbizo la IEEE-754, unaweza kutumia kigeuzi mtandaoni kama hiki ili kuibadilisha. Thamani ya gesi katika kesi hii inaonyesha -250 (kama ilivyokuwa katika hali ya makosa wakati huo).
AN0007
Toleo la 1.2
09/04/2025
Badilisha Kumbuka 805
Ukurasa wa 12 wa 14
Kwa kutumia Serial.read()
Nambari iliyotangulia ilichapisha tu data iliyopokelewa kwa kifuatiliaji cha serial, ikiwa unataka kuhifadhi data katika anuwai utahitaji kufanya usindikaji zaidi. Pakiti unayopokea imegawanywa katika baiti, kwa sababu hii utahitaji kubatilisha baadhi ya data hii katika vigeu. Serial1.Read() inarudisha int (ambayo kwa Arduino ni bits 16), hata hivyo, bits 8 tu za kwanza hutumiwa. Kwa sababu hii tunaweza kuinakili katika aina ndogo ya data ambayo ni bits 8 tu, katika kesi hii nitatumia char.
kwa pakiti ambazo ni ndefu tu, hii inafanya kazi vizuri:
Kwa pakiti ambazo zina urefu wa ka 2 au baiti 4 utahitaji kubatilisha data.
Unaweza kufanya hivi kwa njia nyingi tofauti, hapa ninachoenda kufanya ni kushoto kuhamisha data na kisha AU.
Kwa kutumia msimbo huu, ikiwa readByte1 ni 0x34 na readByte2 ni 0x12.
(int)readByte2
// hii inabadilisha 0x12 kuwa 0x0012.
(int)readByte2 << 8
// hii hubadilisha bits juu kwa byte kuifanya 0x1200.
(int)readByte2 << 8 | readByte1 // hii basi inapata OR'ed, na 0x34 kutengeneza 0x1234.
Njia nyingine ya kufanya hivyo itakuwa kuweka maadili katika safu na kisha kubadilisha safu kuwa aina unayotaka:
AN0007
Toleo la 1.2
09/04/2025
Badilisha Kumbuka 805
Ukurasa wa 13 wa 14
chars ni baiti ndefu, ambapo kuelea ni baiti 4 kwa urefu. Kwa sababu hii ikiwa tutafanya safu ya herufi 4 na maadili yetu ndani yake na kubadilisha aina kuelea.
Katika kesi hii readArray ni pointer kwa safu ya char. (float*)readArray sehemu hii inaitupa kwa kielekezi kwa kuelea na kisha * inaongezwa mbele ili kupata thamani ya kuelea.
Vidokezo vya Juu vya Uongofu
1. Serial.read() hurejesha int badala ya char kwa sababu makosa yatarudisha thamani hasi. Programu yako inapaswa kuangalia hii.
2. uint8_t na uint16_t zinapaswa kutumika badala ya char na int mtawalia, kwani aina hizi hazina saizi ya kawaida (kwenye Kompyuta yangu int ni biti 32 ambapo kwenye Arduino ni biti 16).
3. Itifaki ya comms ina herufi zilizojazwa baiti (pia hujulikana kama herufi za kudhibiti), hii inafafanuliwa kwa undani zaidi katika hati ya itifaki ya tds0045 Premier Sensor Communications. Kwa sababu hii pakiti rahisi ya data ya moja kwa moja iliyosomwa itakuwa mara kwa mara kubwa kuliko inavyotarajiwa.
AN0007
Toleo la 1.2
09/04/2025
Badilisha Kumbuka 805
Ukurasa wa 14 wa 14
Nyaraka / Rasilimali
![]() |
DYNAMENT AN0007 Arduino hadi Platinum COMM [pdf] Mwongozo wa Mtumiaji AN0007 Arduino hadi Platinum COMM, AN0007, Arduino hadi Platinum COMM, hadi Platinum COMM, Platinum COMM |