DINAMAN AN0007 Arduino ke Panduan Pengguna COMM Platinum

AN0007 Arduino kepada Platinum COMM

Maklumat Produk

Spesifikasi

  • Nama Produk: ARDUINO to PLATINUM COMMS BANTUAN DOKUMEN
  • Pengilang: Dynament Limited
  • Alamat: HermitagKawasan Perindustrian e Lane, Kings Mill Way,
    Mansfield, Nottinghamshire, NG18 5ER, UK
  • Hubungi: Tel: 44 (0)1623 663636, E-mel: sales@dynament.com,
    Weblaman web: www.dynament.com
  • Isu: 1.2, Tarikh: 09/04/2025

Arahan Penggunaan Produk

Menyambungkan Sensor

Helaian data ini menggunakan Arduino Mega sebagai bekasample. Sambung sebagai
berikut:

  • 5v -> 5v pin Arduino
  • 0v -> Arduino GND
  • Tx -> Arduino RX1
  • Rx -> Pergi ke output pembahagi berpotensi. Input
    pergi ke Arduino Tx

Voltage Keserasian

Arduino menggunakan logik 5v tinggi manakala Platinum Sensor menggunakan
3.3v. Gunakan voltage pembahagi dengan nilai yang dicadangkan untuk R1 dan R2 sebagai
4K7 untuk mengelakkan kerosakan pada Sensor.

Persediaan IDE Arduino

  1. Muat turun versi terbaru perisian Arduino IDE dari
    Arduino itu webtapak.
  2. Pilih papan Arduino, pemproses dan port dalam alatan
    menu lungsur.

Muat Naik Kod

  1. Salin ex yang disediakanampkod ke dalam IDE Arduino.
  2. Muat naik kod ke Arduino dengan mengklik anak panah.
  3. Buka monitor bersiri ke view penghantaran data.

Soalan Lazim

S: Apakah yang perlu saya lakukan jika saya mempunyai Arduino Uno dengan hanya satu kom
pelabuhan?

A: Sambungkan Platinum Sensor ke port itu. Apabila menggunakan
monitor bersiri, ia juga akan menunjukkan hex yang dihantar.

“`

Nota Permohonan AN0007
DOKUMEN BANTUAN ARDUINO kepada PLATINUM COMMS

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

AN0007

Isu 1.2

09/04/2025

Tukar Nota 805

Muka surat 1 daripada 14

kandungan
Dynament Limited …………………………………………………………………………………………………..1 Menyambungkan Penderia…………………………………………………………………………………………..3 Arduino IDE ………………………………………………………………………………………………5 Penjelasan Kod………………………………………………………………………………………………..9 Pecahan Paket …………………………………………………………………………………………………..11 Menggunakan Serial..………………………………………………………….13 Menggunakan Serial..………………………………………………………….
Nota Penukaran Lanjutan…………………………………………………………………………………….14

AN0007

Isu 1.2

09/04/2025

Tukar Nota 805

Muka surat 2 daripada 14

Menyambung Penderia Helaian data ini menggunakan Arduino Mega sebagai bekasample. Ardunio Mega menyediakan lebih daripada satu port comm, oleh itu port comm 1 digunakan untuk berkomunikasi dengan sensor dan port comm 0 digunakan untuk mencetak ke PC.
Arduino menggunakan logik 5v tinggi manakala Platinum Sensor menggunakan 3.3v, jadi untuk mengelakkan kerosakan pada Sensor voltage pembahagi mesti digunakan. Nilai yang dicadangkan untuk R1 dan R2 ialah 4K7.

Rajah 1: Menurunkan voltage ke tahap yang boleh digunakan
Talian penghantaran Sensor yang menuju ke terima Arduino tidak memerlukan pembahagi kerana 3.3v adalah input yang boleh diterima kepada Arduino.
Untuk menghidupkan Sensor, ia mesti disambungkan kepada 5v dan 0v. Untuk melakukan ini, anda boleh menggunakan pin pada Arduino.
Selepas ini selesai, sensor kini sepatutnya mempunyai pin berikut disambungkan:
5v -> 5v pin Arduino
0v -> Arduino GND
Tx -> Arduino RX1
Rx -> Pergi ke output pembahagi berpotensi. Input pergi ke Arduino Tx

AN0007

Isu 1.2

09/04/2025

Tukar Nota 805

Muka surat 3 daripada 14

Selepas ini selesai, Platinum Sensor anda harus disambungkan seperti yang ditunjukkan:
Rajah 2: Penderia ditunjukkan terbalik dengan penyesuai pateri
Jika anda menggunakan Arduino dengan hanya satu port comm (seperti Arduino Uno) anda perlu menyambungkannya, namun apabila anda menggunakan monitor bersiri (ditunjukkan kemudian) ia juga akan menunjukkan hex yang dihantar.

AN0007

Isu 1.2

09/04/2025

Tukar Nota 805

Muka surat 4 daripada 14

Arduino IDE Pergi ke Arduino webtapak dan muat turun versi terbaru perisian Arduino IDE. Setelah dipasang anda akan melihat skrin berikut:
Rajah 3: Skrin utama Arduino
Dalam menu lungsur alat pilih papan Arduino, pemproses dan port yang anda gunakan:

Rajah 4: Pilih pilihan Papan, Pemproses dan Port

AN0007

Isu 1.2

09/04/2025

Tukar Nota 805

Muka surat 5 daripada 14

Salin dalam bekas iniampkod: 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(); kelewatan(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(){ manakala (Serial1.available()) { Serial.print(Serial1.read(), HEX); Serial.print(“|”); } Serial.println();
}

AN0007

Isu 1.2

09/04/2025

Tukar Nota 805

Muka surat 6 daripada 14

Rajah 5: Kod sedia untuk dimuat naik
Klik anak panah untuk memuat naik kod ke Arduino. Selepas Arduino telah diprogramkan, buka monitor bersiri.

AN0007

Rajah 6: Buka Monitor Bersiri

Isu 1.2

09/04/2025

Tukar Nota 805

Muka surat 7 daripada 14

Rajah 7: Montor Bersiri menunjukkan paket yang telah diterima

AN0007

Isu 1.2

09/04/2025

Tukar Nota 805

Muka surat 8 daripada 14

Penjelasan Kod IDE Arduino menggunakan C++ untuk memprogramkan Arduino.
Baris ini ialah pengisytiharan hadapan. Ini digunakan untuk memberitahu Pengawal Mikro bahawa di bawah program fungsi `send_read_live_data_simple' dan fungsi `receive_read_live_data_simple' akan dipanggil.
Seterusnya ialah fungsi persediaan. Kod ini dijalankan sekali sahaja pada permulaan. Ia memulakan port Serial0 dan Serial1. Serial0 ialah apa yang ditunjukkan dalam skrin monitor bersiri. Serial1 ialah port untuk berkomunikasi dengan sensor.
Ini adalah gelung utama, kod ini berulang kali digelung. Anda boleh melihat dengan membaca nama fungsi bahawa ia menghantar permintaan untuk membaca versi ringkas struct data langsung. Kemudian ia membaca port terima untuk membaca balasan. Selepas ini Pengawal Mikro menunggu 5000mS.
Fungsi ini menulis permintaan untuk mendapatkan struct ringkas data langsung ke port bersiri 1. Seperti yang dinyatakan sebelum ini jika anda hanya mempunyai satu port bersiri, anda harus menukar Serial1 kepada Serial. Untuk melihat senarai penuh arahan, rujuk dokumen protokol Komunikasi sensor Premier. Berikut ialah bahagian dokumen yang memberitahu anda apa yang perlu ditulis untuk arahan ini:

AN0007

Isu 1.2

09/04/2025

Tukar Nota 805

Muka surat 9 daripada 14

Fungsi ini menggelungkan fungsi baca sementara masih terdapat data yang akan diterima daripada Platinum Sensor. Serial1.read() membaca data daripada Serial1 yang disambungkan kepada penderia dan mencetaknya pada Serial0 supaya ia boleh dilihat pada monitor bersiri. Watak `|' kemudian dicetak untuk memecahkan setiap bait yang diterima untuk menjadikannya lebih jelas pada monitor bersiri.
Selepas ini selesai ia menulis baris baru ke monitor bersiri.

AN0007

Isu 1.2

09/04/2025

Tukar Nota 805

Muka surat 10 daripada 14

Pecahan Paket Rajah 8 dan 9 menunjukkan output penyahkod bersiri yang disambungkan kepada talian terima dan hantar.
Rajah 8: Paket Keluar
Rajah 9: Paket Masuk
Rajah 10 dan 11 menunjukkan hex keluar dan masuk masing-masing dengan lajur yang menunjukkan arahan yang mana.

Rajah 10: Penerangan Paket Keluar

AN0007

Isu 1.2

09/04/2025

Tukar Nota 805

Muka surat 11 daripada 14

Rajah 11: Penerangan Paket Masuk
Sila ambil perhatian bahawa bacaan Gas ialah perpuluhan bukan integer. Perpuluhan ini dalam format IEEE-754, anda boleh menggunakan penukar dalam talian seperti ini untuk menukarnya. Nilai gas dalam kes ini menunjukkan -250 (kerana ia berada dalam mod ralat pada masa itu).

AN0007

Isu 1.2

09/04/2025

Tukar Nota 805

Muka surat 12 daripada 14

Menggunakan Serial.read()
Kod sebelumnya hanya mencetak data yang diterima ke monitor bersiri, jika anda ingin menyimpan data dalam pembolehubah anda perlu melakukan beberapa pemprosesan selanjutnya. Paket yang anda terima dibahagikan kepada bait, kerana ini anda perlu menggabungkan beberapa data ini ke dalam pembolehubah. Serial1.Read() mengembalikan int (yang untuk Arduino ialah 16 bit), namun, hanya 8 bit pertama digunakan. Oleh kerana itu kita boleh menyalinnya ke dalam jenis data yang lebih kecil iaitu hanya 8 bit, dalam kes ini saya akan menggunakan char.
untuk paket yang hanya satu bait panjang, ini berfungsi dengan baik:
Untuk paket yang panjangnya 2 bait atau 4 bait, anda perlu menggabungkan data.

Anda boleh melakukan ini dalam banyak cara yang berbeza, di sini apa yang saya akan lakukan ialah meninggalkan mengalihkan data dan kemudian ATAU ia.

Menggunakan kod ini, jika readByte1 ialah 0x34 dan readByte2 ialah 0x12.

(int)readByte2

// ini menukarkan 0x12 kepada 0x0012.

(int)readByte2 << 8

// ini mengalihkan bit dengan bait menjadikannya 0x1200.

(int)readByte2 << 8 | readByte1 // ini kemudian mendapat OR, dengan 0x34 menjadikan 0x1234.

Satu lagi cara untuk melakukan ini ialah meletakkan nilai ke dalam tatasusunan dan kemudian menukar tatasusunan ke dalam jenis yang anda mahu:

AN0007

Isu 1.2

09/04/2025

Tukar Nota 805

Muka surat 13 daripada 14

aksara ialah bait panjang, manakala apungan ialah 4 bait panjang. Kerana ini jika kita membuat tatasusunan 4 aksara dengan nilai kita di dalamnya dan menukar jenis untuk terapung.
Dalam kes ini readArray ialah penunjuk kepada tatasusunan char. (float*)readArray bahagian ini melemparkannya ke penunjuk ke float dan kemudian * ditambah ke hadapan untuk mendapatkan nilai float.
Nota Penukaran Lanjutan
1. Serial.read() mengembalikan int dan bukannya char kerana ralat akan mengembalikan nilai negatif. Program anda harus menyemak ini.
2. uint8_t dan uint16_t harus digunakan sebagai ganti char dan int masing-masing, kerana jenis ini tidak mempunyai saiz standard (pada PC saya int ialah 32 bit manakala pada Arduino ia adalah 16 bit).
3. Protokol comms mengandungi aksara disumbat bait (juga dikenali sebagai aksara kawalan), ini dijelaskan dengan lebih terperinci dalam dokumen protokol Komunikasi sensor Premier tds0045. Oleh sebab itu, paket ringkas data langsung baca kadang-kadang lebih besar daripada yang dijangkakan.

AN0007

Isu 1.2

09/04/2025

Tukar Nota 805

Muka surat 14 daripada 14

Dokumen / Sumber

DINAMAN AN0007 Arduino kepada Platinum COMM [pdf] Panduan Pengguna
AN0007 Arduino kepada Platinum COMM, AN0007, Arduino kepada Platinum COMM, kepada Platinum COMM, Platinum COMM

Rujukan

Tinggalkan komen

Alamat e-mel anda tidak akan diterbitkan. Medan yang diperlukan ditanda *