DYNAMENT AN0007 Arduino ngadto sa Platinum COMM User Guide

AN0007 Arduino ngadto sa Platinum COMM

Impormasyon sa Produkto

Mga detalye

  • Ngalan sa Produkto: ARDUINO hangtod sa PLATINUM COMMS HELP DOCUMENT
  • Manufacturer: Dynament Limited
  • Address: Hermitage Lane Industrial Estate, Kings Mill Way,
    Mansfield, Nottinghamshire, NG18 5ER, UK
  • Kontaka: Tel: 44 (0)1623 663636, Email: sales@dynament.com,
    Website: www.dynament.com
  • Isyu: 1.2, Petsa: 09/04/2025

Mga Instruksyon sa Paggamit sa Produkto

Pagkonektar sa Sensor

Kini nga data sheet naggamit sa Arduino Mega isip example. Sumpaysumpaya ingon
mosunod:

  • 5v -> 5v Arduino pin
  • 0v -> Arduino GND
  • Tx -> Arduino RX1
  • Rx -> Moadto sa output sa potensyal nga divider. Ang input
    moadto sa Arduino Tx

Voltage Pagkaangay

Ang Arduino naggamit sa 5v logic nga taas samtang ang Platinum Sensor naggamit
3.3v. Gamit ug voltage divider nga adunay gisugyot nga mga kantidad alang sa R1 ug R2 ingon
4K7 aron malikayan ang kadaot sa Sensor.

Arduino IDE Setup

  1. I-download ang pinakabag-o nga bersyon sa Arduino IDE software gikan sa
    ang Arduino website.
  2. Pilia ang Arduino board, processor, ug port sa mga himan
    drop-down nga menu.

Pag-upload sa Code

  1. Kopyaha ang gihatag nga example code ngadto sa Arduino IDE.
  2. I-upload ang code sa Arduino pinaagi sa pag-klik sa arrow.
  3. Ablihi ang serial monitor sa view pagpadala sa datos.

FAQ

P: Unsa ang akong buhaton kung ako adunay Arduino Uno nga adunay usa ra ka comm
pantalan?

A: Ikonektar ang Platinum Sensor sa maong pantalan. Kung gigamit ang
serial monitor, ipakita usab niini ang gipasa nga hex.

“`

Nota sa Aplikasyon AN0007
ARDUINO ngadto sa PLATINUM COMMS HELP DOCUMENT

Limitado nga Dynament
Hermitage Lane Industrial Estate Kings Mill Way Mansfield Nottinghamshire NG18 5ER UK. Tel: 44 (0)1623 663636
email: sales@dynament.com www.dynament.com

AN0007

Isyu 1.2

09/04/2025

Usba ang Note 805

Page 1 sa 14

Mga sulod
Dynament Limited …………………………………………………………………………………………………..1 Pagkonektar sa Sensor………………………………………………………………………………………………..3 Arduino IDE ………………………………………………………………………………………………5 Pagpasabot sa Kodigo…………………………………………………………………………………………..9 Packet Breakdown …………………………………………………………………………………………………..11 Paggamit sa Serial. …………………………………………………………………..
Abanteng mga Nota sa Pagkakabig………………………………………………………………………….14

AN0007

Isyu 1.2

09/04/2025

Usba ang Note 805

Page 2 sa 14

Pagkonektar sa Sensor Kini nga data sheet naggamit sa Arduino Mega isip example. Ang Ardunio Mega naghatag ug labaw sa usa ka comm port, busa ang comm port 1 gigamit sa pagpakigsulti sa sensor ug ang comm port 0 gigamit sa pag-print sa PC.
Ang Arduino naggamit sa 5v logic high samtang ang Platinum Sensor naggamit sa 3.3v, aron malikayan ang kadaot sa Sensor usa ka voltage divider kinahanglan gamiton. Gisugyot nga mga kantidad alang sa R1 ug R2 mao ang 4K7.

Figure 1: Gipaubos ang voltage sa magamit nga lebel
Ang linya sa pagpadala sa Sensor nga moadto sa nadawat sa Arduino wala magkinahanglan usa ka divider tungod kay ang 3.3v usa ka madawat nga input sa Arduino.
Aron sa gahum sa Sensor kinahanglan kini konektado sa 5v ug 0v. Aron mahimo kini mahimo nimong gamiton ang mga pin sa Arduino.
Pagkahuman niini, ang sensor kinahanglan nga adunay mga mosunod nga mga pin nga konektado:
5v -> 5v Arduino pin
0v -> Arduino GND
Tx -> Arduino RX1
Rx -> Moadto sa output sa potensyal nga divider. Ang input moadto sa Arduino Tx

AN0007

Isyu 1.2

09/04/2025

Usba ang Note 805

Page 3 sa 14

Human kini makompleto ang imong Platinum Sensor kinahanglan nga konektado sama sa gipakita:
Figure 2: Ang sensor gipakita nga baligtad gamit ang solder adapter
Kung naggamit ka usa ka Arduino nga adunay usa ra ka comm port (sama sa Arduino Uno) kinahanglan nimo nga ikonektar kana, bisan pa kung gigamit nimo ang serial monitor (gipakita sa ulahi) kini usab magpakita sa hex nga gipasa.

AN0007

Isyu 1.2

09/04/2025

Usba ang Note 805

Page 4 sa 14

Arduino IDE Lakaw ngadto sa Arduino website ug i-download ang pinakabag-o nga bersyon sa Arduino IDE software. Kung na-install kinahanglan nimo nga makita ang mosunud nga screen:
Hulagway 3: Arduino home screen
Sa tool drop down menu pilia ang Arduino board, processor ug port nga imong gigamit:

Figure 4: Pilia ang mga opsyon sa Board, Processor ug Port

AN0007

Isyu 1.2

09/04/2025

Usba ang Note 805

Page 5 sa 14

Kopyaha ning example code: 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(); paglangan(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(){ samtang (Serial1.available()) { Serial.print(Serial1.read(), HEX); Serial.print(“|”); } Serial.println();
}

AN0007

Isyu 1.2

09/04/2025

Usba ang Note 805

Page 6 sa 14

Figure 5: Ang code andam na nga i-upload
I-klik ang arrow aron ma-upload ang code sa Arduino. Human maprograma ang Arduino ablihi ang serial monitor.

AN0007

Figure 6: Ablihi ang Serial Monitor

Isyu 1.2

09/04/2025

Usba ang Note 805

Page 7 sa 14

Figure 7: Ang Serial Montor nagpakita sa packet nga nadawat

AN0007

Isyu 1.2

09/04/2025

Usba ang Note 805

Page 8 sa 14

Code Explanation Ang Arduino IDE naggamit sa C++ sa pagprograma sa Arduino.
Kini nga linya usa ka unahan nga deklarasyon. Kini gigamit sa pagsulti sa Microcontroller nga sa ubos sa programa ang `send_read_live_data_simple' function ug ang `receive_read_live_data_simple' function tawgon.
Sunod mao ang setup function. Kini nga code modagan kausa ra sa pagsugod. Nagsugod kini sa Serial0 ug Serial1 nga mga pantalan. Ang Serial0 mao ang gipakita sa serial monitor screen. Ang Serial1 mao ang pantalan aron makigkomunikar sa sensor.
Kini ang nag-unang loop, kini nga code balik-balik nga gi-loop. Makita nimo pinaagi sa pagbasa sa mga ngalan sa function nga nagpadala kini usa ka hangyo nga basahon ang usa ka gipasimple nga bersyon sa live data struct. Dayon gibasa niini ang receive port aron mabasa ang tubag. Human niini ang Microcontroller naghulat 5000mS.
Kini nga function nagsulat sa hangyo aron makuha ang buhi nga datos nga simple nga struct sa serial port 1. Sama sa nahisgotan na kung ikaw adunay usa lamang ka serial port kinahanglan nimo nga usbon ang Serial1 ngadto sa Serial. Aron makita ang kompletong listahan sa mga sugo, tan-awa ang Premier sensor Communications protocol nga dokumento. Ania ang bahin sa dokumento nga nagsulti kanimo kung unsa ang isulat alang niini nga mando:

AN0007

Isyu 1.2

09/04/2025

Usba ang Note 805

Page 9 sa 14

Kini nga function nag-loop sa read function samtang aduna pa'y data nga madawat gikan sa Platinum Sensor. Ang Serial1.read() nagbasa sa datos gikan sa Serial1 nga konektado sa sensor ug nag-imprinta niini sa Serial0 aron kini makita sa serial monitor. Ang karakter `|' unya giimprinta aron mabungkag ang matag byte nga nadawat aron mas klaro sa serial monitor.
Pagkahuman niini nagsulat kini usa ka bag-ong linya sa serial monitor.

AN0007

Isyu 1.2

09/04/2025

Usba ang Note 805

Page 10 sa 14

Ang Packet Breakdown Figure 8 ug 9 nagpakita sa output sa serial decoder nga konektado sa receive ug transmit lines.
Hulagway 8: Outgoing Packet
Hulagway 9: Nag-abot nga Packet
Ang Figure 10 ug 11 nagpakita sa outgoing ug incoming hex matag usa nga adunay usa ka kolum nga nagpakita kung unsang sugo kini.

Figure 10: Outgoing Packet Deskripsyon

AN0007

Isyu 1.2

09/04/2025

Usba ang Note 805

Page 11 sa 14

Figure 11: Ang umaabot nga Packet Deskripsyon
Palihug timan-i nga ang pagbasa sa Gas usa ka decimal dili usa ka integer. Kini nga desimal naa sa format nga IEEE-754, mahimo nimong gamiton ang usa ka online converter nga sama niini aron mabag-o kini. Ang bili sa gas niini nga kaso nagpakita -250 (ingon nga kini anaa sa error mode niadtong panahona).

AN0007

Isyu 1.2

09/04/2025

Usba ang Note 805

Page 12 sa 14

Gamit ang Serial.read()
Ang miaging code nag-imprinta lamang sa datos nga nadawat sa serial monitor, kung gusto nimo nga i-save ang data sa mga variable kinahanglan nimo nga buhaton ang dugang nga pagproseso. Ang pakete nga imong nadawat gibahin sa mga byte, tungod niini kinahanglan nimo nga i-concatenate ang pipila niini nga data sa mga variable. Ang Serial1.Read() mibalik ug int (nga para sa Arduino 16 bits), bisan pa niana, ang unang 8 bits lang ang gigamit. Tungod niini mahimo natong kopyahon kini ngadto sa mas gamay nga tipo sa datos nga 8 bits lamang, sa kini nga kaso gamiton ko ang char.
alang sa mga pakete nga usa lang ka byte ang gitas-on, kini maayo nga molihok:
Alang sa mga packet nga 2 bytes o 4 bytes ang gitas-on kinahanglan nimo nga i-concatenate ang data.

Mahimo nimo kini sa daghang lainlaing mga paagi, dinhi kung unsa ang akong buhaton mao ang nahabilin nga pagbalhin sa datos ug dayon O kini.

Gamit kini nga code, kung ang readByte1 kay 0x34 ug ang readByte2 kay 0x12.

(int)readByte2

// kini nag-convert sa 0x12 ngadto sa 0x0012.

(int)readByte2 << 8

// gibalhin niini ang mga piraso pinaagi sa usa ka byte nga naghimo niini nga 0x1200.

(int)readByte2 << 8 | readByte1 // kini dayon ma-OR'ed, nga adunay 0x34 nga naghimo sa 0x1234.

Ang laing paagi sa pagbuhat niini mao ang pagbutang sa mga bili ngadto sa usa ka laray ug dayon i-convert ang laray ngadto sa tipo nga imong gusto:

AN0007

Isyu 1.2

09/04/2025

Usba ang Note 805

Page 13 sa 14

Ang mga karakter usa ka byte ang gitas-on, samtang ang float 4 bytes ang gitas-on. Tungod niini kung maghimo kami usa ka han-ay sa 4 nga mga karakter nga adunay among mga kantidad niini ug usbon ang tipo aron molutaw.
Niini nga kaso ang readArray usa ka pointer sa usa ka char array. (float*)readArray kini nga bahin isalibay kini ngadto sa usa ka pointer ngadto sa usa ka float ug unya ang usa ka * idugang sa atubangan aron makuha ang bili sa float.
Advanced nga mga Nota sa Pagkakabig
1. Ang Serial.read() mibalik sa int imbes sa char tungod kay ang mga kasaypanan mobalik sa negatibo nga mga bili. Kinahanglan nga susihon kini sa imong programa.
2. uint8_t ug uint16_t kinahanglan gamiton sa dapit sa char ug int sa tinagsa, tungod kay kini nga mga matang walay standard nga gidak-on (sa akong PC int mao ang 32 bits samtang sa Arduino kini mao ang 16 bits).
3. Ang comms protocol naglangkob sa byte stuffed characters (nailhan usab nga control characters), kini gipatin-aw sa mas detalyado sa tds0045 Premier sensor Communications protocol nga dokumento. Tungod niini ang read live data simple nga pakete usahay mas dako pa kay sa gipaabot.

AN0007

Isyu 1.2

09/04/2025

Usba ang Note 805

Page 14 sa 14

Mga Dokumento / Mga Kapanguhaan

DYNAMENT AN0007 Arduino ngadto sa Platinum COMM [pdf] Giya sa Gumagamit
AN0007 Arduino ngadto sa Platinum COMM, AN0007, Arduino ngadto sa Platinum COMM, ngadto sa Platinum COMM, Platinum COMM

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *