Transmit and Receive Data Using Arduino CAN Blocks
This example shows how to use Simulink® Support Package for Arduino® Hardware to transmit and receive data from the CAN network using the specified CAN device.
Supported Hardware
Arduino Mega 2560
Arduino Mega ADK
Arduino Uno
Arduino Due
Arduino MKR1000
Arduino MKR WIFI 1010
Arduino ZERO
Arduino Micro
Arduino Leonardo
Arduino Nano 33 IoT
Introduction
In this example, the Arduino CAN Transmit model with a CAN Transmit block is used to transmit data. The Arduino CAN Receive model with a CAN Receive block is used to receive data.
Prerequisites
Before you start this example, you must:
Required Hardware
To run this example, you must have the following hardware:
Supported Arduino board
Connecting wires
OBD (On-board diagnostics) connector
MCP2515 based CAN shield
Configure CAN Hardware
1. Connect the CAN Shield on the Arduino board.
2. Connect the OBD Connector from the vehicle to the MCP2515 based CAN shield. For more information on MCP2515, see MCP2515.
Configure Simulink Model for Supported Arduino Hardware
1. In your Simulink model, click Modeling tab and then select Model Settings to open the Configuration Parameters dialog box.
2. Select the Hardware Implementation pane and select your required Arduino hardware from the Hardware board parameter list. Do not change any other settings. For information on setting or modifying the CAN properties, see Model Configuration Parameters for Simulink Support Package for Arduino Hardware.
3. Click OK.
Transmit Data from Arduino Hardware
This example uses the Arduino CAN Transmit model, with a CAN Transmit block, to transmit 1 byte of data from the Arduino hardware.
Open the arduino_CAN_transmit
Simulink model.
1. Set the CAN Transmit block parameters as shown in this image.
2. In your Simulink model, click the Hardware tab and then click Monitor & Tune to transmit the data.
Receive Data with Arduino Hardware
This example uses the Arduino CAN Receive model, with a CAN Receive block, to receive 1 byte of data by the Arduino hardware.
Open the arduino_CAN_receive
Simulink model.
1. Set the CAN Receive block parameters as shown.
2. On the Hardware tab of the Simulink model, in the Mode section, select Run on board and then click Monitor & Tune to receive the data. The Scope block displays the received data in the target hardware.