AN0007 Arduino-Platinum COMM
“
Termékinformáció
Műszaki adatok
- Terméknév: ARDUINO - PLATINUM KOMMUNIKÁCIÓS SÚGÓDOKUMENTUM
- Gyártó: Dynament Limited
- Cím: Hermitage Lane Ipari Park, Kings Mill Way,
Mansfield, Nottinghamshire, NG18 5ER, Egyesült Királyság - Kapcsolat: Tel.: +44 (0)1623 663636, E-mail: sales@dynament.com,
Webweboldal: www.dynament.com - Kiadás: 1.2, Dátum: 09.
A termék használati útmutatója
Az érzékelő csatlakoztatása
Ez az adatlap az Arduino Megát használja példakéntample. Csatlakozás mint
következik:
- 5v -> 5v Arduino csatlakozó
- 0v -> Arduino földelés
- Adás -> Arduino RX1
- Rx -> A feszültségosztó kimenetére megy. A bemenet
Arduino adóra megy
Voltage Kompatibilitás
Az Arduino 5V-os logikát használ magas feszültségen, míg a Platinum Sensor
3.3 V. Használjon volume-mérőttagaz osztó javasolt R1 és R2 értékeivel, mint
4K7 az érzékelő károsodásának elkerülése érdekében.
Arduino IDE beállítás
- Töltsd le az Arduino IDE szoftver legújabb verzióját innen:
az Arduino webtelek. - Válaszd ki az Arduino kártyát, a processzort és a portot az eszközökben.
legördülő menüből.
Kódfeltöltés
- Másolja ki a megadott ex-etample kódot az Arduino IDE-be.
- Töltsd fel a kódot az Arduino-ra a nyílra kattintva.
- Nyissa meg a soros monitort view adatátvitel.
GYIK
K: Mit tegyek, ha csak egy kommunikációs porttal rendelkező Arduino Unóm van?
kikötő?
A: Csatlakoztassa a Platinum Sensort ehhez a porthoz. Használat közben a
soros monitoron, akkor az átvitt hexadecimális értéket is mutatja.
"`
Alkalmazási megjegyzés AN0007
ARDUINO-ról PLATINUM-ra KOMMUNIKÁCIÓS SEGÍTSÉGDOKUMENTUM
Dynament Limited
Hermitage Lane Ipari Park, Kings Mill Way, Mansfield, Nottinghamshire, NG18 5ER, Egyesült Királyság. Tel.: +44 (0)1623 663636
email: sales@dynament.com www.dynament.com
AN0007
1.2. szám
09/04/2025
805. módosítási megjegyzés
1/14. oldal
Tartalom
Dynament Limited ………………………………………………………………………………………………….1 Az érzékelő csatlakoztatása……………………………………………………………………………………..3 Arduino IDE ………………………………………………………………………………………………………………5 Kód magyarázata…………………………………………………………………………………………………………..9 Csomagok lebontása ………………………………………………………………………………………………….11 A Serial.read() használata ………………………………………………………………………………………………….13
Speciális konverziós megjegyzések………………………………………………………………………….14
AN0007
1.2. szám
09/04/2025
805. módosítási megjegyzés
2/14. oldal
Az érzékelő csatlakoztatása Ez az adatlap az Arduino Megát használja példakéntampPéldául az Ardunio Mega egynél több kommunikációs porttal rendelkezik, ezért az 1-es kommunikációs portot használják az érzékelővel való kommunikációra, a 0-s kommunikációs portot pedig a PC-re történő nyomtatásra.
Az Arduino 5 V-os logikai feszültséget használ, míg a Platinum Sensor 3.3 V-ot, így az érzékelő károsodásának elkerülése érdekében a feszültséget csökkenteni kell.tagAz osztót kell használni. Az R1 és R2 javasolt értéke 4K7.
1. ábra: Csökkenti a hangerőttaghasználható szintre
Az Arduino vételéhez menő érzékelő adóvezetékének nincs szüksége elválasztóra, mivel a 3.3 V elfogadható bemenete az Arduinonak.
A szenzor tápellátásához 5V-ra és 0V-ra kell csatlakoztatni. Ehhez használhatod az Arduino csatlakozóit.
Miután ez megtörtént, az érzékelőnek a következő csatlakozókkal kell rendelkeznie:
5v -> 5v Arduino csatlakozó
0v -> Arduino földelés
Adás -> Arduino RX1
Rx -> A feszültségosztó kimenetére megy. A bemenet az Arduino adóra megy.
AN0007
1.2. szám
09/04/2025
805. módosítási megjegyzés
3/14. oldal
Miután ez megtörtént, a Platinum Sensort az ábrán látható módon kell csatlakoztatni:
2. ábra: Az érzékelő fejjel lefelé, forrasztóadapterrel látható
Ha csak egy kommunikációs porttal rendelkező Arduino-t használsz (mint például az Arduino Uno), akkor ahhoz kell csatlakoztatnod, azonban ha a soros monitort használod (lásd később), az is mutatja az átvitt hexadecimális portot.
AN0007
1.2. szám
09/04/2025
805. módosítási megjegyzés
4/14. oldal
Arduino IDE Menj az Arduino oldalra webweboldalt, és töltse le az Arduino IDE szoftver legújabb verzióját. A telepítés után a következő képernyőt kell látnia:
3. ábra: Arduino kezdőképernyője
Az eszközök legördülő menüben válaszd ki a használt Arduino kártyát, processzort és portot:
4. ábra: Alaplap, processzor és portbeállítások kiválasztása
AN0007
1.2. szám
09/04/2025
805. módosítási megjegyzés
5/14. oldal
Másolás ebben az ex-benample kód: void send_read_live_data_simple(); void receive_read_live_data_simple();
void setup() { Sorozat38400.begin(1);
}
void ciklus() { 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(){ while (Serial1.available()) { Serial.print(Serial1.read(), HEX); Serial.print(“|”); } Serial.println(); } `While (SerialXNUMX.available())` `Or: Serial.print` `Serial.println();` `While (SerialXNUMX.available())` `While (Serial.println();` `While (SerialXNUMX.read(); `HEX
}
AN0007
1.2. szám
09/04/2025
805. módosítási megjegyzés
6/14. oldal
5. ábra: Feltöltésre kész kód
Kattints a nyílra a kód Arduinoba való feltöltéséhez. Miután az Arduino programozása befejeződött, nyisd meg a soros monitort.
AN0007
6. ábra: Nyissa meg a soros monitort
1.2. szám
09/04/2025
805. módosítási megjegyzés
7/14. oldal
7. ábra: A soros monitor mutatja a fogadott csomagot
AN0007
1.2. szám
09/04/2025
805. módosítási megjegyzés
8/14. oldal
Kód Magyarázat Az Arduino IDE C++-t használ az Arduino programozásához.
Ez a sor egy előre deklarált sor. Ezzel közöljük a mikrokontrollerrel, hogy a programban később a `send_read_live_data_simple' és a `receive_read_live_data_simple' függvények is meghívódnak.
Következő a beállító függvény. Ez a kód csak egyszer fut le indításkor. Elindítja a Serial0 és Serial1 portokat. A Serial0 az, ami a soros monitor képernyőjén látható. A Serial1 az érzékelővel való kommunikációhoz használt port.
Ez a fő ciklus, a kód ismételten ciklusba kerül. A függvénynevek kiolvasásával látható, hogy egy kérést küld az élő adatstruktúra egy egyszerűsített verziójának beolvasására. Ezután beolvassa a fogadó portot a válasz beolvasásához. Ezután a mikrokontroller 5000 ms-t vár.
Ez a függvény az élő adatok egyszerű struktúrájának lekérésére vonatkozó kérést az 1-es soros portra írja. Ahogy korábban említettük, ha csak egy soros portod van, akkor a Serial1-et Serial-ra kell cserélned. A parancsok teljes listájának megtekintéséhez lásd a Premier sensor Communications protocol dokumentumot. A dokumentumnak itt a része, amely leírja, hogy mit kell írni ehhez a parancshoz:
AN0007
1.2. szám
09/04/2025
805. módosítási megjegyzés
9/14. oldal
Ez a függvény végigjátssza az olvasási függvényt, amíg még várunk adatot a Platinum Sensor felől. A Serial1.read() beolvassa az adatokat a szenzorhoz csatlakoztatott Serial1 portról, és kinyomtatja azokat a Serial0 portra, hogy látható legyen a soros monitoron. Ezután a `|' karakter kerül kinyomtatásra, hogy minden fogadott bájtot felbontson, és ezáltal tisztábban látható legyen a soros monitoron.
Miután ez befejeződött, új sort ír a soros monitorra.
AN0007
1.2. szám
09/04/2025
805. módosítási megjegyzés
10/14. oldal
Csomagbontás A 8. és 9. ábra a vételi és adási vonalakhoz csatlakoztatott soros dekóder kimenetét mutatja.
8. ábra: Kimenő csomag
9. ábra: Bejövő csomag
A 10. és 11. ábra a kimenő és bejövő hexadecimális értékeket mutatja, egy oszlopban jelezve, hogy melyik parancsról van szó.
10. ábra: Kimenő csomag leírása
AN0007
1.2. szám
09/04/2025
805. módosítási megjegyzés
11/14. oldal
11. ábra: Bejövő csomag leírása
Felhívjuk figyelmét, hogy a gázérték decimális, nem egész szám. Ez a decimális érték IEEE-754 formátumú, egy online konverterrel átváltható. A gáz értéke ebben az esetben -250-et mutat (mivel akkoriban hiba üzemmódban volt).
AN0007
1.2. szám
09/04/2025
805. módosítási megjegyzés
12/14. oldal
A Serial.read() használata
Az előző kód csak a fogadott adatokat nyomtatta ki a soros monitorra, ha változókba szeretnéd menteni az adatokat, akkor további feldolgozásra lesz szükséged. A fogadott csomag bájtokra van osztva, emiatt az adatok egy részét változókba kell összefűznöd. A Serial1.Read() egy int értéket ad vissza (ami Arduino esetén 16 bites), azonban csak az első 8 bitet használja fel. Emiatt egy kisebb, csak 8 bites adattípusba másolhatjuk, ebben az esetben char-t fogok használni.
Az egy bájt hosszú csomagok esetében ez jól működik:
A 2 vagy 4 bájt hosszú csomagok esetében össze kell fűzni az adatokat.
Ezt sokféleképpen megteheted, én itt az adat balra eltolását, majd VAGY műveletet alkalmazok rá.
Ezzel a kóddal, ha a readByte1 értéke 0x34 és a readByte2 értéke 0x12.
(int)olvasottBájt2
// ez a 0x12-t 0x0012-vé alakítja.
(int)olvashatóBájt2 << 8
// ez egy bájttal eltolja a biteket, így 0x1200 lesz az érték.
(int)readByte2 << 8 | readByte1 // ez ezután VAGY műveletet kap, 0x34-gyel, ami 0x1234-et eredményez.
Egy másik módja ennek az, hogy az értékeket egy tömbbe helyezzük, majd a tömböt a kívánt típusra konvertáljuk:
AN0007
1.2. szám
09/04/2025
805. módosítási megjegyzés
13/14. oldal
A karakterek egy bájt hosszúak, míg a float 4 bájt hosszú. Emiatt, ha létrehozunk egy 4 karakterből álló tömböt az értékeinkkel, és a típust float-ra változtatjuk.
Ebben az esetben a readArray egy char tömbre mutató mutató. (float*)readArray Ez a rész egy float tömbre mutató mutatóvá konvertálja azt, majd egy * karaktert adunk az elejéhez, hogy megkapjuk a float tömb értékét.
Speciális konverziós megjegyzések
1. A Serial.read() függvény int értéket ad vissza char helyett, mivel a hibák negatív értékeket adnak vissza. A programodnak ezt ellenőriznie kell.
2. Az uint8_t és uint16_t típusokat kell használni a char és int helyett, mivel ezeknek a típusoknak nincs szabványos mérete (a PC-men az int 32 bit, míg az Arduinón 16 bit).
3. A kommunikációs protokoll bájtokkal kitöltött karaktereket (más néven vezérlőkaraktereket) tartalmaz, ezt részletesebben a tds0045 Premier érzékelő kommunikációs protokoll dokumentuma ismerteti. Emiatt a beolvasott élő adatcsomagok időnként nagyobbak lehetnek a vártnál.
AN0007
1.2. szám
09/04/2025
805. módosítási megjegyzés
14/14. oldal
Dokumentumok / Források
![]() |
DYNAMENT AN0007 Arduino-Platinum COMM [pdf] Felhasználói útmutató AN0007 Arduino - Platinum COMM, AN0007, Arduino - Platinum COMM, - Platinum COMM, Platinum COMM |