AN0007 ఆర్డునో నుండి ప్లాటినం COMM వరకు
“
ఉత్పత్తి సమాచారం
స్పెసిఫికేషన్లు
- ఉత్పత్తి పేరు: ARDUINO నుండి PLATINUM COMMS సహాయ పత్రం
- తయారీదారు: డైనమెంట్ లిమిటెడ్
- చిరునామా: హెర్మిtagఇ లేన్ ఇండస్ట్రియల్ ఎస్టేట్, కింగ్స్ మిల్ వే,
మాన్స్ఫీల్డ్, నాటింగ్హామ్షైర్, NG18 5ER, UK - సంప్రదించండి: ఫోన్: 44 (0)1623 663636, ఇమెయిల్: sales@dynament.com,
Webసైట్: www.dynament.com - సంచిక: 1.2, తేదీ: 09/04/2025
ఉత్పత్తి వినియోగ సూచనలు
సెన్సార్ను కనెక్ట్ చేస్తోంది
ఈ డేటా షీట్ Arduino మెగాను మాజీగా ఉపయోగిస్తుందిample. ఇలా కనెక్ట్ అవ్వండి
క్రింది:
- 5v -> 5v ఆర్డునో పిన్
- 0v -> ఆర్డునో GND
- Tx -> ఆర్డునో RX1
- Rx -> పొటెన్షియల్ డివైడర్ యొక్క అవుట్పుట్కు వెళుతుంది. ఇన్పుట్
Arduino Tx కి వెళుతుంది
వాల్యూమ్tagఇ అనుకూలత
ప్లాటినం సెన్సార్ ఉపయోగిస్తుండగా, ఆర్డునో 5v లాజిక్ హైని ఉపయోగిస్తుంది
3.3v. వాల్యూమ్ను ఉపయోగించండిtagR1 మరియు R2 లకు సూచించబడిన విలువలతో e డివైడర్
సెన్సార్ దెబ్బతినకుండా నిరోధించడానికి 4K7.
Arduino IDE సెటప్
- Arduino IDE సాఫ్ట్వేర్ యొక్క తాజా వెర్షన్ను డౌన్లోడ్ చేసుకోండి
ఆర్డుయినో webసైట్. - టూల్స్లో Arduino బోర్డు, ప్రాసెసర్ మరియు పోర్ట్ను ఎంచుకోండి.
డ్రాప్-డౌన్ మెను.
కోడ్ అప్లోడ్
- అందించిన ex ని కాపీ చేయండిampArduino IDE లోకి కోడ్ను నమోదు చేయండి.
- బాణంపై క్లిక్ చేయడం ద్వారా కోడ్ను Arduino కి అప్లోడ్ చేయండి.
- సీరియల్ మానిటర్ను తెరవండి view సమాచార ప్రసారం.
తరచుగా అడిగే ప్రశ్నలు
ప్ర: నా దగ్గర ఒకే ఒక కామ్ ఉన్న ఆర్డునో యునో ఉంటే నేను ఏమి చేయాలి?
ఓడరేవు?
A: ప్లాటినం సెన్సార్ను ఆ పోర్ట్కు కనెక్ట్ చేయండి. ఉపయోగిస్తున్నప్పుడు
సీరియల్ మానిటర్, ఇది ప్రసారం చేయబడిన హెక్స్ను కూడా చూపుతుంది.
"`
అప్లికేషన్ నోట్ AN0007
అర్డునో నుండి ప్లాటినం కామ్స్ సహాయ పత్రం
డైనమెంట్ లిమిటెడ్
హెర్మీtagఇ లేన్ ఇండస్ట్రియల్ ఎస్టేట్ కింగ్స్ మిల్ వే మాన్స్ఫీల్డ్ నాటింగ్హామ్షైర్ NG18 5ER UK. ఫోన్: 44 (0)1623 663636
ఇమెయిల్: sales@dynament.com www.dynament.com
AN0007
సంచిక 1.2
09/04/2025
నోట్ 805 మార్చండి
1లో 14వ పేజీ
కంటెంట్లు
డైనమెంట్ లిమిటెడ్ ………………………………………………………………………………………………………….1 సెన్సార్ను కనెక్ట్ చేస్తోంది………………………………………………………………………………………………………………..3 Arduino IDE ………………………………………………………………………………………………………………………… 5 కోడ్ వివరణ………………………………………………………………………………………………………………………………………..9 ప్యాకెట్ బ్రేక్డౌన్ ………….11 Serial.read()ని ఉపయోగించడం ………………………………………………………………………………………………………………….13
అధునాతన మార్పిడి గమనికలు……………………………………………………………………………………….14
AN0007
సంచిక 1.2
09/04/2025
నోట్ 805 మార్చండి
2లో 14వ పేజీ
సెన్సార్ను కనెక్ట్ చేస్తోంది ఈ డేటా షీట్ Arduino మెగాను ఎక్స్గా ఉపయోగిస్తుందిample. Ardunio Mega ఒకటి కంటే ఎక్కువ comm పోర్ట్లను అందిస్తుంది, కాబట్టి comm పోర్ట్ 1 సెన్సార్తో కమ్యూనికేట్ చేయడానికి ఉపయోగించబడుతుంది మరియు comm పోర్ట్ 0 PCకి ప్రింట్ చేయడానికి ఉపయోగించబడుతుంది.
Arduino 5v లాజిక్ హైని ఉపయోగిస్తుంది, అయితే ప్లాటినం సెన్సార్ 3.3v ని ఉపయోగిస్తుంది, కాబట్టి సెన్సార్ కు నష్టం జరగకుండా నిరోధించడానికి ఒక వాల్యూమ్tage డివైడర్ను తప్పనిసరిగా ఉపయోగించాలి. R1 మరియు R2 లకు సూచించబడిన విలువలు 4K7.
చిత్రం 1: వాల్యూమ్ను తగ్గిస్తుందిtage ఉపయోగించగల స్థాయికి
Arduino రిసీవ్కు వెళ్లే సెన్సార్ ట్రాన్స్మిట్ లైన్కు డివైడర్ అవసరం లేదు ఎందుకంటే 3.3v అనేది Arduinoకి ఆమోదయోగ్యమైన ఇన్పుట్.
సెన్సార్కు శక్తినివ్వడానికి దానిని 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వ పేజీ
Arduino IDE Arduino కి వెళ్ళండి webసైట్కి వెళ్లి Arduino IDE సాఫ్ట్వేర్ యొక్క తాజా వెర్షన్ను డౌన్లోడ్ చేసుకోండి. ఇన్స్టాల్ చేసిన తర్వాత మీకు ఈ క్రింది స్క్రీన్ కనిపిస్తుంది:
చిత్రం 3: ఆర్డునో హోమ్ స్క్రీన్
టూల్స్ డ్రాప్ డౌన్ మెనూలో మీరు ఉపయోగిస్తున్న Arduino బోర్డు, ప్రాసెసర్ మరియు పోర్ట్ను ఎంచుకోండి:
చిత్రం 4: బోర్డు, ప్రాసెసర్ మరియు పోర్ట్ ఎంపికలను ఎంచుకోండి
AN0007
సంచిక 1.2
09/04/2025
నోట్ 805 మార్చండి
5లో 14వ పేజీ
ఈ మాజీలో కాపీ చేయండిample కోడ్: void send_read_live_data_simple(); void receive_read_live_data_simple();
శూన్య సెటప్() { సీరియల్.బెగిన్(38400); సీరియల్1.బెగిన్(38400);
}
శూన్య లూప్() { send_read_live_data_simple(); receive_read_live_data_simple(); ఆలస్యం(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);
}
చెల్లదు receive_read_live_data_simple(){ while (Serial1.available()) { Serial.print(Serial1.read(), HEX); Serial.print(“|”); } Serial.println();
}
AN0007
సంచిక 1.2
09/04/2025
నోట్ 805 మార్చండి
6లో 14వ పేజీ
చిత్రం 5: కోడ్ అప్లోడ్ చేయడానికి సిద్ధంగా ఉంది
Arduino కి కోడ్ను అప్లోడ్ చేయడానికి బాణంపై క్లిక్ చేయండి. Arduino ప్రోగ్రామ్ చేయబడిన తర్వాత సీరియల్ మానిటర్ను తెరవండి.
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' ఫంక్షన్ పిలువబడతాయని మైక్రోకంట్రోలర్కు చెప్పడానికి ఇది ఉపయోగించబడుతుంది.
తదుపరిది సెటప్ ఫంక్షన్. ఈ కోడ్ స్టార్టప్లో ఒకసారి మాత్రమే రన్ అవుతుంది. ఇది సీరియల్0 మరియు సీరియల్1 పోర్ట్లను ప్రారంభిస్తుంది. సీరియల్0 అనేది సీరియల్ మానిటర్ స్క్రీన్లో చూపబడుతుంది. సీరియల్1 అనేది సెన్సార్తో కమ్యూనికేట్ చేయడానికి పోర్ట్.
ఇది ప్రధాన లూప్, ఈ కోడ్ పదే పదే లూప్ చేయబడుతుంది. ఫంక్షన్ పేర్లను చదవడం ద్వారా మీరు లైవ్ డేటా స్ట్రక్చర్ యొక్క సరళీకృత వెర్షన్ను చదవడానికి అభ్యర్థనను పంపుతున్నారని చూడవచ్చు. తరువాత అది ప్రత్యుత్తరాన్ని చదవడానికి రిసీవ్ పోర్ట్ను చదువుతుంది. దీని తర్వాత మైక్రోకంట్రోలర్ 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 బిట్లు మాత్రమే ఉన్న చిన్న డేటా రకంలోకి కాపీ చేయవచ్చు, ఈ సందర్భంలో నేను చార్ని ఉపయోగిస్తాను.
ఒక బైట్ పొడవు మాత్రమే ఉన్న ప్యాకెట్ల కోసం, ఇది బాగా పనిచేస్తుంది:
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 అనేది char array కి ఒక పాయింటర్. (float*)readArray ఈ భాగం దానిని ఫ్లోట్ కు పాయింటర్ కు కాస్ట్ చేస్తుంది మరియు తరువాత ఫ్లోట్ విలువను పొందడానికి ముందు భాగంలో * జోడించబడుతుంది.
అధునాతన మార్పిడి గమనికలు
1. Serial.read() అనేది char కు బదులుగా int ను తిరిగి ఇస్తుంది ఎందుకంటే ఎర్రర్లు ప్రతికూల విలువలను తిరిగి ఇస్తాయి. మీ ప్రోగ్రామ్ దీని కోసం తనిఖీ చేయాలి.
2. char మరియు int లకు బదులుగా uint8_t మరియు uint16_t లను ఉపయోగించాలి, ఎందుకంటే ఈ రకాలకు ప్రామాణిక పరిమాణం లేదు (నా PC లో int 32 బిట్స్ అయితే Arduino లో ఇది 16 బిట్స్).
3. కామ్స్ ప్రోటోకాల్ బైట్ స్టఫ్డ్ క్యారెక్టర్లను (కంట్రోల్ క్యారెక్టర్లు అని కూడా పిలుస్తారు) కలిగి ఉంటుంది, ఇది tds0045 ప్రీమియర్ సెన్సార్ కమ్యూనికేషన్స్ ప్రోటోకాల్ డాక్యుమెంట్లో మరింత వివరంగా వివరించబడింది. దీని కారణంగా రీడ్ లైవ్ డేటా సింపుల్ ప్యాకెట్ అప్పుడప్పుడు ఊహించిన దానికంటే పెద్దదిగా ఉంటుంది.
AN0007
సంచిక 1.2
09/04/2025
నోట్ 805 మార్చండి
14లో 14వ పేజీ
పత్రాలు / వనరులు
![]() |
DYNAMENT AN0007 Arduino నుండి ప్లాటినం COMM వరకు [pdf] యూజర్ గైడ్ AN0007 ఆర్డునో నుండి ప్లాటినం COMM, AN0007, ఆర్డునో నుండి ప్లాటినం COMM, ప్లాటినం COMM, ప్లాటినం COMM |