Notendahandbók fyrir DYNAMENT AN0007 Arduino í Platinum COMM

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

  1. Sæktu nýjustu útgáfuna af Arduino IDE hugbúnaðinum frá
    Arduinoinn websíða.
  2. Veldu Arduino borðið, örgjörvann og tengið í verkfærunum.
    fellivalmynd.

Kóðaupphleðsla

  1. Afritaðu gefins t.d.ampkóðann inn í Arduino IDE.
  2. Hladdu kóðanum inn í Arduino með því að smella á örina.
  3. 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

Heimildir

Skildu eftir athugasemd

Netfangið þitt verður ekki birt. Nauðsynlegir reitir eru merktir *