AN0007 Arduino í Platinum COMM
“
Upplýsingar um vöru
Tæknilýsing
- Vöruheiti: HJÁLPARSKJAL FYRIR ARDUINO TIL PLATINUM COMMS
- Framleiðandi: Dynament Limited
- Heimilisfang: HermitagIðnaðarsvæðið e Lane, Kings Mill Way,
Mansfield, Nottinghamshire, NG18 5ER, Bretland - Tengiliður: Sími: 44 (0)1623 663636, Netfang: sales@dynamment.com,
Websíða: www.dynamment.com - Útgáfa: 1.2, Dagsetning: 09/04/2025
Notkunarleiðbeiningar fyrir vöru
Að tengja skynjarann
Þetta gagnablað notar Arduino Mega sem dæmi.ampTengdu sem
fylgir:
- 5v -> 5v Arduino pinna
- 0v -> Arduino GND
- Sendir -> Arduino RX1
- Rx -> Fer á útgang spennuskiptarans. Inntakið
fer í Arduino Tx
Voltage Samhæfni
Arduino notar 5v rökfræði á háu stigi en Platinum skynjarinn notar
3.3v. Notið hljóðstyrktagdeilir með ráðlögðum gildum fyrir R1 og R2 sem
4K7 til að koma í veg fyrir skemmdir á skynjaranum.
Arduino IDE uppsetning
- Sæktu nýjustu útgáfuna af Arduino IDE hugbúnaðinum frá
Arduinoinn websíða. - Veldu Arduino borðið, örgjörvann og tengið í verkfærunum.
fellivalmynd.
Kóðaupphleðsla
- Afritaðu gefins t.d.ampkóðann inn í Arduino IDE.
- Hladdu kóðanum inn í Arduino með því að smella á örina.
- Opnaðu raðskjáinn til að view gagnaflutningur.
Algengar spurningar
Sp.: Hvað ætti ég að gera ef ég er með Arduino Uno með aðeins einum samskiptatengi?
höfn?
A: Tengdu Platinum skynjarann við þá tengingu. Þegar þú notar
raðskjár, það mun einnig sýna sendu sextánda töluna.
“`
Umsóknarathugasemd AN0007
HJÁLPARSKJAL FYRIR ARDUINO TIL PLATINUM SAMSKIPTI
Dynament Limited
HermitagIðnaðarsvæðið e Lane, Kings Mill Way, Mansfield, Nottinghamshire, NG18 5ER, Bretland. Sími: 44 (0)1623 663636
Netfang: sales@dynamant.com www.dynamant.com
AN0007
Hefti 1.2
09/04/2025
Breytingarathugasemd 805
Síða 1 af 14
Innihald
Dynament Limited …………………………………………………………………………………………………….1 Tenging skynjarans…………………………………………………………………………………………..3 Arduino IDE ……………………………………………………………………………………………………………………5 Útskýring kóða………………………………………………………………………………………………..9 Sundurliðun pakka …………………………………………………………………………………………………..11 Notkun Serial.read() ………………………………………………………………………………………………….13
Athugasemdir um ítarlegar umbreytingar………………………………………………………………………….14
AN0007
Hefti 1.2
09/04/2025
Breytingarathugasemd 805
Síða 2 af 14
Tenging skynjarans Þetta gagnablað notar Arduino Mega sem dæmi.ampArdunio Mega býður upp á fleiri en eitt samskiptatengi, þess vegna er samskiptatengi 1 notað til að eiga samskipti við skynjarann og samskiptatengi 0 er notað til að prenta á tölvuna.
Arduino notar 5v rökrétta háspennu en Platinum skynjarinn notar 3.3v, svo til að koma í veg fyrir skemmdir á skynjaranum er hljóðstyrkur...tagNota verður deili. Ráðlagðar gildi fyrir R1 og R2 eru 4K7.
Mynd 1: Lækkar hljóðstyrkinntage að nothæfu stigi
Sendilínan fyrir skynjarann sem fer að móttökutækinu í Arduino þarf ekki skiptingu þar sem 3.3v er ásættanleg inntak fyrir Arduino.
Til að knýja skynjarann verður hann að vera tengdur við 5v og 0v. Til að gera þetta er hægt að nota pinnana á Arduino-tækinu.
Þegar þessu er lokið ættu eftirfarandi pinnar að vera tengdir við skynjarann:
5v -> 5v Arduino pinna
0v -> Arduino GND
Sendir -> Arduino RX1
Rx -> Fer á útgang spennuskiptarans. Inntakið fer á Arduino Tx
AN0007
Hefti 1.2
09/04/2025
Breytingarathugasemd 805
Síða 3 af 14
Eftir að þessu er lokið ætti Platinum skynjarinn þinn að vera tengdur eins og sýnt er:
Mynd 2: Skynjarinn er sýndur á hvolfi með lóðtengistykki
Ef þú ert að nota Arduino með aðeins einu samskiptatengi (eins og Arduino Uno) þarftu að tengja það við það, en þegar þú notar raðtengiskjáinn (sýndur síðar) mun hann einnig sýna sextándatöluna sem er send.
AN0007
Hefti 1.2
09/04/2025
Breytingarathugasemd 805
Síða 4 af 14
Arduino IDE Fara á Arduino websíðuna og sæktu nýjustu útgáfuna af Arduino IDE hugbúnaðinum. Þegar það er sett upp ættirðu að sjá eftirfarandi skjá:
Mynd 3: Heimaskjár Arduino
Í fellivalmyndinni „verkfæri“ skaltu velja Arduino borðið, örgjörvann og tengið sem þú ert að nota:
Mynd 4: Veldu valkosti fyrir borð, örgjörva og tengi
AN0007
Hefti 1.2
09/04/2025
Breytingarathugasemd 805
Síða 5 af 14
Afrit í þessu dæmiampkóðinn: void send_read_live_data_simple(); void receive_read_live_data_simple();
void setup() { Serial.begin(38400); Serial1.begin(38400);
}
void loop() { send_read_live_data_simple(); receive_read_live_data_simple(); delay(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);
}
void receive_read_live_data_simple() { meðan (Serial1.available()) { Serial.print(Serial1.read(), HEX); Serial.print("|"); } Serial.println();
}
AN0007
Hefti 1.2
09/04/2025
Breytingarathugasemd 805
Síða 6 af 14
Mynd 5: Kóði tilbúinn til upphleðslu
Smelltu á örina til að hlaða kóðanum inn í Arduino-ið. Eftir að Arduino-ið hefur verið forritað, opnaðu raðskjáinn.
AN0007
Mynd 6: Opnaðu raðskjáinn
Hefti 1.2
09/04/2025
Breytingarathugasemd 805
Síða 7 af 14
Mynd 7: Raðskjárinn sýnir pakkann sem hefur borist
AN0007
Hefti 1.2
09/04/2025
Breytingarathugasemd 805
Síða 8 af 14
Útskýring á kóða Arduino IDE notar C++ til að forrita Arduino.
Þessi lína er áframsendingarskilgreining. Hún er notuð til að segja örstýringunni að neðar í forritinu verði kallað á `send_read_live_data_simple' fallið og `receive_read_live_data_simple' fallið.
Næst er uppsetningarfallið. Þessi kóði er aðeins keyrður einu sinni við ræsingu. Hann ræsir Serial0 og Serial1 tengin. Serial0 er það sem birtist á skjánum fyrir raðtenginguna. Serial1 er tengið sem á að eiga samskipti við skynjarann.
Þetta er aðallykkjan, þessi kóði er endurtekinn í lykkjum. Þú getur séð með því að lesa nöfn fallsins að það sendir beiðni um að lesa einfaldaða útgáfu af lifandi gagnaskipaninni. Síðan les það móttökugáttina til að lesa svarið. Eftir þetta bíður örstýringin í 5000mS.
Þessi aðgerð skrifar beiðnina um að fá einfalda uppbyggingu lifandi gagna á raðtengi 1. Eins og áður hefur komið fram, ef þú ert aðeins með eitt raðtengi ættirðu að breyta Serial1 í Serial. Til að sjá allan listann yfir skipanir, vísaðu til skjalsins um Premier sensor Communications protocol. Hér er sá hluti skjalsins sem segir þér hvað á að skrifa fyrir þessa skipun:
AN0007
Hefti 1.2
09/04/2025
Breytingarathugasemd 805
Síða 9 af 14
Þessi aðgerð endurtekur lesaðgerðina á meðan enn eru gögn sem berast frá Platinum skynjaranum. Serial1.read() les gögnin úr Serial1 sem er tengdur skynjaranum og prentar þau á Serial0 svo þau sjáist á raðskjánum. Stafurinn `|` er síðan prentaður til að brjóta upp hvert bæti sem berst til að gera það skýrara á raðskjánum.
Eftir að þessu er lokið skrifar það nýja línu á raðskjáinn.
AN0007
Hefti 1.2
09/04/2025
Breytingarathugasemd 805
Síða 10 af 14
Sundurliðun pakka Mynd 8 og 9 sýna úttak raðtengds afkóðara sem er tengdur við móttöku- og sendilínurnar.
Mynd 8: Sendandi pakki
Mynd 9: Innkomandi pakki
Mynd 10 og 11 sýna útleiðandi og innleiðandi sexhyrninga skipun, talið í sömu röð, með dálki sem sýnir hvaða skipun það er.
Mynd 10: Lýsing á útsendingarpakka
AN0007
Hefti 1.2
09/04/2025
Breytingarathugasemd 805
Síða 11 af 14
Mynd 11: Lýsing á innkomandi pakka
Athugið að gasmælingin er tugabrot en ekki heiltala. Þessi tugabrotstöla er á IEEE-754 sniði og hægt er að nota breytiforrit á netinu til að umbreyta henni. Gasgildið í þessu tilfelli sýnir -250 (þar sem það var í villuham á þeim tíma).
AN0007
Hefti 1.2
09/04/2025
Breytingarathugasemd 805
Síða 12 af 14
Að nota Serial.read()
Fyrri kóðinn prentaði aðeins gögnin sem bárust á raðskjáinn, ef þú vilt vista gögnin í breytum þarftu að vinna úr þeim frekar. Pakkinn sem þú færð er skipt í bæti, þess vegna þarftu að sameina sum þessara gagna í breytur. Serial1.Read() skilar heiltölu (sem fyrir Arduino er 16 bitar), en aðeins fyrstu 8 bitarnir eru notaðir. Vegna þessa getum við afritað það í minni gagnategund sem er aðeins 8 bitar, í þessu tilfelli mun ég nota char.
Fyrir pakka sem eru aðeins einn bæti að lengd virkar þetta fínt:
Fyrir pakka sem eru 2 bæti eða 4 bæti að lengd þarftu að sameina gögnin.
Þú getur gert þetta á marga mismunandi vegu, hér ætla ég að gera það að vinstri færa gögnin og svo EÐA-a.
Með því að nota þennan kóða, ef readByte1 er 0x34 og readByte2 er 0x12.
(heilt)lesaBæti2
// þetta breytir 0x12 í 0x0012.
(heilt)lesaBæti2 << 8
// þetta færir bitana yfir um eitt bæti og gerir það 0x1200.
(int)readByte2 << 8 | readByte1 // þetta verður síðan EÐA-beitt, þar sem 0x34 gerir 0x1234.
Önnur leið til að gera þetta væri að setja gildin í fylki og breyta síðan fylkinu í þá gerð sem þú vilt:
AN0007
Hefti 1.2
09/04/2025
Breytingarathugasemd 805
Síða 13 af 14
Stafir eru einn bæti að lengd en float er fjórir bæti að lengd. Þess vegna, ef við búum til fylki með fjórum stöfum með gildunum okkar í og breytum gerðinni í float.
Í þessu tilfelli er readArray bendill á char fylki. (float*)readArray þessi hluti breytir því í bendil á float og síðan er * bætt við fremst til að fá gildi floatsins.
Ítarlegar athugasemdir um viðskipti
1. Serial.read() skilar int í stað char því villur skila neikvæðum gildum. Forritið þitt ætti að athuga þetta.
2. Nota ætti uint8_t og uint16_t í stað char og int, þar sem þessar týpur hafa ekki staðlaða stærð (á minni tölvu er int 32 bitar en á Arduino er það 16 bitar).
3. Samskiptareglurnar innihalda bætifyllta stafi (einnig þekkt sem stjórnstafir), þetta er útskýrt nánar í skjalinu tds0045 Premier sensor Communications protocol. Vegna þessa verður lesið gagnapakki stundum stærri en búist var við.
AN0007
Hefti 1.2
09/04/2025
Breytingarathugasemd 805
Síða 14 af 14
Skjöl / auðlindir
![]() |
DYNAMENT AN0007 Arduino í Platinum COMM [pdfNotendahandbók AN0007 Arduino í Platinum COMM, AN0007, Arduino í Platinum COMM, í Platinum COMM, Platinum COMM |