Pada artikel kali ini, Arduino Indonesia akan menunjukkan cara menggunakan bus CAN yang tersedia pada Arduino UNO R4 Minima dan cara mengirim serta menerima data menggunakan library Arduino_CAN. Lalu bagaimana cara menggunakan pengontrol CAN pada papan Arduino UNO R4 Minima? Pengontrol CAN tertanam dalam mikrokontroler UNO R4 Minima (RA4M1). CAN adalah protokol serial yang biasanya digunakan dalam industri otomotif. Pengontrol CAN memerlukan transceiver eksternal agar bisa berfungsi.
Hardware dan Software
• Arduino IDE
• Arduino R4 Minima
• Inti Arduino Renesas
• Modul transceiver CAN
•
Kabel jumper
Dalam tutorial ini, kami
menggunakan modul breakout SN65HVD230.
Berikut ini kami berikan Video Unboxing dari Arduino UNO R4 Minima. Di bawah ini adalah video dari bentuk fisik dari Arduino UNO versi terbaru, yaitu Arduino UNO R4 Minima :
Jaringan Area Pengontrol
(CAN)
Bus CAN menggunakan dua
kabel, yaitu CAN HIGH dan CAN LOW. Pada Arduino UNO R4 Minima, pin ini adalah :
• D5/CANRX0 (menerima)
• D4/CANTX0 (kirim)
Namun untuk berkomunikasi dengan perangkat CAN lainnya, Anda memerlukan modul transceiver. Transceiver yang digunakan dalam tutorial ini yaitu modul breakout SN65HVD230. Untuk menghubungkan ini, Anda dapat mengikuti diagram rangkaian yang tersedia di bawah ini.
Untuk tutorial ini, kami akan menggunakan contoh sederhana yang mengirimkan pesan CAN antara dua perangkat UNO R4 Minima. Jika mau, Anda juga dapat menghubungkan perangkat CAN yang ada ke UNO R4 Minima. Untuk menyambungkan transceiver CAN, ikuti tabel dan diagram rangkaian di bawah ini :
Kemudian, di antara transceiver CAN, sambungkan yang berikut ini :
Contoh Kode
Berikut ini contoh kode yang
perlu diunggah ke masing-masing papan Arduino UNO R4 Minima. Satu akan mengirim
pesan dan satunya lagi akan menerimanya. Contoh-contoh ini tersedia di inti
Renesas dan menggunakan Arduino IDE, Anda dapat mengaksesnya dengan menavigasi
ke File > Contoh (Example) > Arduino_CAN > CANWrite/CANRead. Untuk
menginisialisasi library, gunakan CAN.begin(CanBitRate::BR_250k), dimana
kecepatan bit CAN ditentukan. Pilih diantara :
• BR_125k (125000)
• BR_250k (250000)
• BR_500k (500000)
• BR_1000k (1000000)
CAN Write (Menulis)
Untuk mengirim pesan CAN, Anda dapat membuat CanMsg objek, yang harus berisi CAN_ID, ukuran dan data pesan. Di bawah ini adalah contoh cara membuat objek tersebut.
Setelah Anda membuat pesan CAN, kami dapat mengirimkannya dengan menggunakan CAN.write() metode. Berikut ini contoh untuk membuat pesan CAN yang meningkat setiap waktu void loop() dieksekusi.
CAN Read (Membaca)
Untuk membaca pesan CAN yang masuk, gunakan terlebih dahulu CAN.available() untuk memeriksa apakah data tersedia, sebelum menggunakan CAN.read() untuk membaca pesan.
0 on: "Arduino UNO R4 Minima CAN Bus"