MCP2515 CAN-BUS Communication Board

SKU: DFR0370

The MCP2515 CAN-BUS Communication Board is an advanced Arduino shield compatible with various Arduino boards including UNO, Leonardo, and MEGA. It integrates the MCP2515 CAN-BUS chip and offers a CAN-BUS transceiver function, making it an essential tool for communication in Arduino projects. The board features an on-board DB9 connector and CAN-BUS connector for versatile port options, as well as an integrated MicroSD socket, providing a comprehensive solution for data logging applications. This makes it a valuable addition for developers and hobbyists seeking efficient data management and communication capabilities in their projects.

Front of Arduino CANBUS Shield with ports and connectors-DFRobot product sku:DFR0370 image.
  • Docs
  • Tech Specs
  • 1. CAN-BUS Node Configuration Method

    This article explains the configuration method of CAN bus nodes, the functional positioning of nodes as transceivers, the design significance of using node IDs instead of addresses, as well as the process of implementing selective data reception through dedicated initialization commands.

    2. Example Code for Arduino-Specified ID Data Frame (Interrupt Mode)

    This experiment is designed to only receive data frames with the specified ID configured during the initialization of the CAN module, and reception is implemented in interrupt mode.

    3. Example Code for Arduino-Basic CAN BUS Polling Mode

    In this section we will demonstrate basic CAN BUS receiving and sending functions. Receiving uses polling mode. You can accept any ID standard data frame or extended frame. The transmitting node sends a standard data frame which ID is 0x06 per 100ms.

    4. Example Code for Arduino-Basic CAN BUS Interrupt Mode

    Demonstrates basic CAN BUS receiving and sending functions using interrupt mode. The receiving node uses interrupts to detect incoming data, which is more efficient than polling for fast data.

    5. Example Code for Arduino-Three Node CAN Network

    The doc post offers example code for a three-node CAN network using Arduino, detailing nodes' roles in data transmission and reception, enhancing understanding of network communication.

    6. Example Code for Arduino-CAN Data Logging to SD Card

    The purpose of this experiment is as follows: the receiving node receives ten pieces of data transmitted from the transmitting node, then writes the data into the SD card of the CAN-BUS Shield, and finally reads the data out and prints it via the serial port.

    Arduino API

    The article delves into the Arduino API functions specifically for CAN-BUS Shield, detailing instructions for initializing modules, setting baud rates, sending and receiving data, configuring masks and filters, and managing errors. Examples accompany each function to aid understanding and implementation.

    Specification

    Parameter Details
    Chip MCP2515
    Power Supply 3.3~5V (Arduino board or DB9 interface)
    Dimension 76x54x19mm (2.99x2.12x0.75 inches)
    Weight 40g

    Pinout

    dfr0370

    Two power-supply modes:

    Power switch: "ON", powered by DB9 port

    Power switch: "OFF", powered by Arduino board

    Note:

    The Arduino board can be powered from a 7V source, the switch should be "ON"

    The Arduino board can be powered from the USB and DB9 simultaneously but if the Arduino board is powered by DC-Vin port, the power switch should be turned off to avoid damage to the shield and the board.

    Was this article helpful?

    TOP