Panduan Pengguna Arduino ke Platinum COMM DYNAMENT AN0007

AN0007 Arduino ke Platinum COMM

Informasi Produk

Spesifikasi

  • Nama Produk: DOKUMEN BANTUAN KOMUNIKASI ARDUINO ke PLATINUM
  • Produsen: Dynament Limited
  • Alamat: HermitagKawasan Industri e Lane, Kings Mill Way,
    Mansfield, Nottinghamshire, NG18 5ER, Inggris
  • Kontak: Telp: 44 (0)1623 663636, Email: sales@dynament.com,
    Websitus: www.dynament.com
  • Edisi: 1.2, Tanggal: 09/04/2025

Petunjuk Penggunaan Produk

Menghubungkan Sensor

Lembar data ini menggunakan Arduino Mega sebagai example. Hubungkan sebagai
sebagai berikut:

  • 5v -> pin Arduino 5v
  • 0v -> GND Arduino
  • Tx -> Arduino RX1
  • Rx -> Menuju ke keluaran pembagi potensial. Masukan
    menuju ke Arduino Tx

Jil.tage Kompatibilitas

Arduino menggunakan logika 5v tinggi sedangkan Sensor Platinum menggunakan
3.3v. Gunakan voltagpembagi e dengan nilai yang disarankan untuk R1 dan R2 sebagai
4K7 untuk mencegah kerusakan pada Sensor.

Pengaturan Arduino IDE

  1. Unduh versi terbaru perangkat lunak Arduino IDE dari
    Arduino weblokasi.
  2. Pilih papan Arduino, prosesor, dan port di alat
    menu tarik-turun.

Unggah Kode

  1. Salin contoh yang disediakanampkode ke dalam Arduino IDE.
  2. Unggah kode ke Arduino dengan mengeklik tanda panah.
  3. Buka monitor serial untuk view transmisi data.

Tanya Jawab Umum

T: Apa yang harus saya lakukan jika saya memiliki Arduino Uno dengan hanya satu komunikasi?
pelabuhan?

A: Hubungkan Sensor Platinum ke port tersebut. Saat menggunakan
monitor serial, ia juga akan menampilkan hex yang dikirimkan.

Catatan Aplikasi AN0007
DOKUMEN BANTUAN KOMUNIKASI ARDUINO KE PLATINUM

Dynament Terbatas
HermitagKawasan Industri e Lane Kings Mill Way Mansfield Nottinghamshire NG18 5ER Inggris Raya. Telp: 44 (0)1623 663636
surel: sales@dynament.com www.dynament.com

AN0007

Edisi 1.2

09/04/2025

Catatan Perubahan 805

Halaman 1 dari 14

Isi
Dynament Limited …………………………………………………………………………………………………………….1 Menghubungkan Sensor………………………………………………………………………………………………………..3 Arduino IDE ………………………………………………………………………………………………………………5 Penjelasan Kode…………………………………………………………………………………………………………………….9 Rincian Paket ……………………………………………………………………………………………………….11 Menggunakan Serial.read() ……………………………………………………………………………………………………….13
Catatan Konversi Lanjutan……………………………………………………………………………………….14

AN0007

Edisi 1.2

09/04/2025

Catatan Perubahan 805

Halaman 2 dari 14

Menghubungkan Sensor Lembar data ini menggunakan Arduino Mega sebagai example. Ardunio Mega menyediakan lebih dari satu port komunikasi, oleh karena itu port komunikasi 1 digunakan untuk berkomunikasi dengan sensor dan port komunikasi 0 digunakan untuk mencetak ke PC.
Arduino menggunakan logika 5v tinggi sedangkan Sensor Platinum menggunakan 3.3v, jadi untuk mencegah kerusakan pada Sensor, tegangan tinggi digunakan.tagPembagi e harus digunakan. Nilai yang disarankan untuk R1 dan R2 adalah 4K7.

Gambar 1: Menurunkan voltage ke tingkat yang dapat digunakan
Saluran transmisi Sensor yang menuju penerima Arduino tidak memerlukan pembagi karena 3.3v merupakan input yang dapat diterima oleh Arduino.
Untuk memberi daya pada sensor, sensor harus terhubung ke tegangan 5V dan 0V. Untuk melakukan ini, Anda dapat menggunakan pin pada Arduino.
Setelah ini selesai, sensor sekarang harus memiliki pin berikut yang terhubung:
5v -> pin Arduino 5v
0v -> GND Arduino
Tx -> Arduino RX1
Rx -> Menuju ke keluaran pembagi potensial. Masukan menuju ke Arduino Tx

AN0007

Edisi 1.2

09/04/2025

Catatan Perubahan 805

Halaman 3 dari 14

Setelah ini selesai, Sensor Platinum Anda akan terhubung seperti yang ditunjukkan:
Gambar 2: Sensor ditampilkan terbalik dengan adaptor solder
Jika Anda menggunakan Arduino dengan hanya satu port komunikasi (seperti Arduino Uno), Anda harus menghubungkannya ke port tersebut, namun saat Anda menggunakan monitor serial (ditampilkan kemudian), ia juga akan menampilkan hex yang dikirimkan.

AN0007

Edisi 1.2

09/04/2025

Catatan Perubahan 805

Halaman 4 dari 14

Arduino IDE Buka Arduino websitus dan unduh versi terbaru perangkat lunak Arduino IDE. Setelah terinstal, Anda akan melihat layar berikut:
Gambar 3: Layar beranda Arduino
Pada menu tarik-turun alat, pilih papan Arduino, prosesor, dan port yang Anda gunakan:

Gambar 4: Pilih opsi Papan, Prosesor, dan Port

AN0007

Edisi 1.2

09/04/2025

Catatan Perubahan 805

Halaman 5 dari 14

Salin di ex iniampkode le: void kirim_baca_data_langsung_simple(); void terima_baca_data_langsung_simple();
batal setup() { Serial.mulai(38400); Serial1.mulai(38400);
}
void loop() { kirim_baca_data_langsung_sederhana(); terima_baca_data_langsung_sederhana(); tunda(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 menerima_baca_data_langsung_sederhana(){ sementara (Serial1.tersedia()) { Serial.cetak(Serial1.baca(), HEX); Serial.cetak("|"); } Serial.println();
}

AN0007

Edisi 1.2

09/04/2025

Catatan Perubahan 805

Halaman 6 dari 14

Gambar 5: Kode siap diunggah
Klik tanda panah untuk mengunggah kode ke Arduino. Setelah Arduino diprogram, buka monitor serial.

AN0007

Gambar 6: Buka Serial Monitor

Edisi 1.2

09/04/2025

Catatan Perubahan 805

Halaman 7 dari 14

Gambar 7: Serial Monitor menunjukkan paket yang telah diterima

AN0007

Edisi 1.2

09/04/2025

Catatan Perubahan 805

Halaman 8 dari 14

Penjelasan Kode Arduino IDE menggunakan C++ untuk memprogram Arduino.
Baris ini merupakan deklarasi maju. Ini digunakan untuk memberi tahu Mikrokontroler bahwa di bagian bawah program, fungsi `send_read_live_data_simple' dan fungsi `receive_read_live_data_simple' akan dipanggil.
Berikutnya adalah fungsi pengaturan. Kode ini hanya dijalankan sekali saat startup. Fungsi ini mengaktifkan port Serial0 dan Serial1. Serial0 adalah yang ditampilkan di layar monitor serial. Serial1 adalah port untuk berkomunikasi dengan sensor.
Ini adalah loop utama, kode ini berulang kali diulang. Anda dapat melihat dengan membaca nama fungsi bahwa ia mengirimkan permintaan untuk membaca versi sederhana dari struct data langsung. Kemudian, ia membaca port penerima untuk membaca balasan. Setelah ini, Mikrokontroler menunggu 5000 mS.
Fungsi ini menulis permintaan untuk mendapatkan struct sederhana data langsung ke port serial 1. Seperti yang telah disebutkan sebelumnya, jika Anda hanya memiliki satu port serial, Anda harus mengubah Serial1 menjadi Serial. Untuk melihat daftar lengkap perintah, silakan merujuk ke dokumen protokol Komunikasi Sensor Premier. Berikut adalah bagian dari dokumen yang menjelaskan apa yang harus ditulis untuk perintah ini:

AN0007

Edisi 1.2

09/04/2025

Catatan Perubahan 805

Halaman 9 dari 14

Fungsi ini mengulang fungsi baca saat masih ada data yang harus diterima dari Sensor Platinum. Serial1.read() membaca data dari Serial1 yang terhubung ke sensor dan mencetaknya di Serial0 agar dapat dilihat di monitor serial. Karakter `|' kemudian dicetak untuk memecah setiap byte yang diterima agar lebih jelas di monitor serial.
Setelah ini selesai, ia menulis baris baru ke monitor serial.

AN0007

Edisi 1.2

09/04/2025

Catatan Perubahan 805

Halaman 10 dari 14

Rincian Paket Gambar 8 dan 9 menunjukkan keluaran dekoder serial yang terhubung ke jalur terima dan kirim.
Gambar 8: Paket Keluar
Gambar 9: Paket Masuk
Gambar 10 dan 11 masing-masing menunjukkan heksadesimal yang keluar dan masuk, beserta kolom yang menunjukkan perintahnya.

Gambar 10: Deskripsi Paket Keluar

AN0007

Edisi 1.2

09/04/2025

Catatan Perubahan 805

Halaman 11 dari 14

Gambar 11: Deskripsi Paket Masuk
Harap perhatikan bahwa pembacaan Gas adalah desimal, bukan bilangan bulat. Desimal ini dalam format IEEE-754, Anda dapat menggunakan konverter daring seperti ini untuk mengonversinya. Nilai gas dalam kasus ini menunjukkan -250 (karena saat itu dalam mode kesalahan).

AN0007

Edisi 1.2

09/04/2025

Catatan Perubahan 805

Halaman 12 dari 14

Menggunakan Serial.read()
Kode sebelumnya hanya mencetak data yang diterima ke monitor serial. Jika Anda ingin menyimpan data dalam variabel, Anda perlu melakukan pemrosesan lebih lanjut. Paket yang Anda terima dibagi menjadi byte, sehingga Anda perlu menggabungkan sebagian data ini ke dalam variabel. Serial1.Read() mengembalikan int (yang untuk Arduino adalah 16 bit), namun hanya 8 bit pertama yang digunakan. Oleh karena itu, kita dapat menyalinnya ke tipe data yang lebih kecil, yaitu hanya 8 bit. Dalam hal ini, saya akan menggunakan char.
untuk paket yang panjangnya hanya satu byte, ini berfungsi dengan baik:
Untuk paket yang panjangnya 2 byte atau 4 byte, Anda perlu menggabungkan data.

Anda dapat melakukan ini dengan banyak cara berbeda, di sini yang akan saya lakukan adalah menggeser data ke kiri, lalu OR.

Menggunakan kode ini, jika readByte1 adalah 0x34 dan readByte2 adalah 0x12.

(int)bacaByte2

// ini mengubah 0x12 menjadi 0x0012.

(int)bacaByte2 << 8

// ini menggeser bit sebanyak satu byte sehingga menjadi 0x1200.

(int)readByte2 << 8 | readByte1 // ini kemudian di-OR, dengan 0x34 menghasilkan 0x1234.

Cara lain untuk melakukan ini adalah dengan memasukkan nilai ke dalam array dan kemudian mengubah array tersebut menjadi tipe yang Anda inginkan:

AN0007

Edisi 1.2

09/04/2025

Catatan Perubahan 805

Halaman 13 dari 14

Karakter memiliki panjang satu byte, sedangkan float memiliki panjang 4 byte. Oleh karena itu, jika kita membuat array berisi 4 karakter dengan nilai-nilai kita di dalamnya dan mengubah tipenya menjadi float.
Dalam kasus ini readArray adalah penunjuk ke array char. (float*)readArray bagian ini melemparkannya ke penunjuk ke float dan kemudian * ditambahkan di depan untuk mendapatkan nilai float.
Catatan Konversi Lanjutan
1. Serial.read() mengembalikan int, bukan char, karena kesalahan akan mengembalikan nilai negatif. Program Anda harus memeriksa hal ini.
2. uint8_t dan uint16_t harus digunakan sebagai pengganti char dan int, karena tipe ini tidak memiliki ukuran standar (pada PC saya int adalah 32 bit sedangkan pada Arduino adalah 16 bit).
3. Protokol komunikasi berisi karakter byte-in-the-filled (juga dikenal sebagai karakter kontrol), hal ini dijelaskan lebih detail dalam dokumen protokol Komunikasi sensor Premier tds0045. Oleh karena itu, paket data langsung yang dibaca terkadang lebih besar dari yang diharapkan.

AN0007

Edisi 1.2

09/04/2025

Catatan Perubahan 805

Halaman 14 dari 14

Dokumen / Sumber Daya

DINAMEN AN0007 Arduino ke Platinum KOMUNIKASI [Bahasa Indonesia:] Panduan Pengguna
AN0007 Arduino ke Platinum COMM, AN0007, Arduino ke Platinum COMM, ke Platinum COMM, Platinum COMM

Referensi

Tinggalkan komentar

Alamat email Anda tidak akan dipublikasikan. Bidang yang wajib diisi ditandai *