Arkisin ennen klo 14.00 tilatut tuotteet lähetetään samana päivänä ja ovat 98 %:ssa tapauksista perillä seuraavana päivänä. Ilmainen palautus 30 päivän harkinta-aika 1 vuoden takuu

Kytkentäkaavio ja koodiesimerkki

Näin kytket CAN-väylämoduuli MCP2515 SPI 5V:n Arduino UNOon tai ESP32:een, mukana esimerkkisketsi, jonka voit ladata heti.

CAN-väyläviestintä MCP2515:llä

Yhdistää MCP2515 CAN-väylämoduulin Arduino Uno -korttiin hardware SPI:n avulla. Sketch alustaa CAN-ohjaimen nopeudelle 500 kbps, lähettää testi-CAN-viestin 2 sekunnin välein ja tulostaa kaikki vastaanotetut frame:t Serial Monitoriin.

Kytkentäkaavio: CAN-väylämoduuli MCP2515 SPI 5V laitteessa Arduino UNO
Kytkentäkaavio · Klikkaa suurentaaksesi
Kytkentätaulukko: CAN-väylämoduuli MCP2515 SPI 5V laitteessa Arduino UNO
Kytkentätaulukko · Klikkaa suurentaaksesi
CAN_Bus_Communication_with_MCP2515.ino · käännetty ja testattu
/*
 * ==================================================================
 *  Generated by Codey.online  —  https://www.codey.online
 * ==================================================================
 *  Project   : CAN Bus Communication with MCP2515
 *  Board     : Arduino UNO (arduino:avr:uno)
 *  Parts     : CAN-bus module MCP2515 SPI 5V
 *  Libraries : mcp_can 1.5.1
 *
 *  Codey Online is an AI-powered browser IDE for Arduino and ESP32.
 *  Describe your project and Codey writes the code, draws the wiring
 *  diagram and uploads it to your board, straight from the browser.
 *  This code is free to use, modify and share, without warranty.
 * ==================================================================
 */

#include <SPI.h>
#include <mcp_can.h>

const byte CAN_CS_PIN = 10;
const byte CAN_INT_PIN = 2;

MCP_CAN CAN(CAN_CS_PIN);

unsigned long lastSend = 0;

void setup() {
  Serial.begin(115200);
  pinMode(CAN_INT_PIN, INPUT);

  // Initialize MCP2515 with standard 8MHz crystal at 500 kbps
  if (CAN.begin(MCP_ANY, CAN_500KBPS, MCP_8MHZ) == CAN_OK) {
    Serial.println(F("MCP2515 initialized successfully!"));
  } else {
    Serial.println(F("MCP2515 initialization failed!"));
    while (1);
  }

  CAN.setMode(MCP_NORMAL);
  Serial.println(F("CAN controller ready in normal mode."));
}

void loop() {
  // Check for received CAN messages
  if (CAN.checkReceive() == CAN_MSGAVAIL) {
    unsigned long rxId;
    byte len = 0;
    byte rxBuf[8];

    CAN.readMsgBuf(&rxId, &len, rxBuf);

    Serial.print(F("RX -> ID: 0x"));
    Serial.print(rxId, HEX);
    Serial.print(F(" DLC: "));
    Serial.print(len);
    Serial.print(F(" Data: "));
    for (byte i = 0; i < len; i++) {
      if (rxBuf[i] < 0x10) Serial.print('0');
      Serial.print(rxBuf[i], HEX);
      Serial.print(' ');
    }
    Serial.println();
  }

  // Send a test packet every 2 seconds
  if (millis() - lastSend >= 2000) {
    lastSend = millis();
    byte txData[4] = {0xDE, 0xAD, 0xBE, 0xEF};
    byte sndStat = CAN.sendMsgBuf(0x100, 0, 4, txData);

    if (sndStat == CAN_OK) {
      Serial.println(F("TX -> Sent frame (ID: 0x100, Data: DE AD BE EF)"));
    } else {
      Serial.println(F("TX -> Error sending message"));
    }
  }
}

Tarvittavat kirjastot: mcp_can 1.5.1

Wiring diagram and example code generated by Codey.online — https://www.codey.online

ESP32:n CAN-väyläviestintä MCP2515:n kanssa

Tämä kytkentä yhdistää ESP32:n MCP2515 CAN-bus-moduuliin SPI:n kautta ja käyttää 4-kanavaista kaksisuuntaista tasonsiirintä suojaamaan ESP32:n 3.3V-logiikkaa 5V-moduulilta. Sketch alustaa CAN-ohjaimen nopeudella 500 kbps, lähettää testin CAN-dataruudun kahden sekunnin välein ja tulostaa kaikki vastaanotetut CAN-väyläviestit Serial Monitoriin.

Kytkentäkaavio: CAN-väylämoduuli MCP2515 SPI 5V laitteessa ESP32 DevKit V1
Kytkentäkaavio · Klikkaa suurentaaksesi
Kytkentätaulukko: CAN-väylämoduuli MCP2515 SPI 5V laitteessa ESP32 DevKit V1
Kytkentätaulukko · Klikkaa suurentaaksesi
ESP32_CAN_Bus_Communication_with_MCP2515.ino · käännetty ja testattu
/*
 * ==================================================================
 *  Generated by Codey.online  —  https://www.codey.online
 * ==================================================================
 *  Project   : ESP32 CAN Bus Communication with MCP2515
 *  Board     : ESP32 DEVKIT V1 (esp32:esp32:esp32doit-devkit-v1)
 *  Parts     : CAN-bus module MCP2515 SPI 5V
 *  Libraries : mcp_can 1.5.1
 *
 *  Codey Online is an AI-powered browser IDE for Arduino and ESP32.
 *  Describe your project and Codey writes the code, draws the wiring
 *  diagram and uploads it to your board, straight from the browser.
 *  This code is free to use, modify and share, without warranty.
 * ==================================================================
 */

#include <SPI.h>
#include <mcp_can.h>

const int CAN_CS_PIN = 5;
MCP_CAN CAN0(CAN_CS_PIN);

void setup() {
  Serial.begin(115200);
  while (!Serial);

  // Initialize MCP2515 running at 8MHz clock and 500kbps CAN baud rate
  if (CAN0.begin(MCP_ANY, CAN_500KBPS, MCP_8MHZ) == CAN_OK) {
    Serial.println("MCP2515 Initialized Successfully!");
  } else {
    Serial.println("Error Initializing MCP2515...");
  }

  CAN0.setMode(MCP_NORMAL);
}

void loop() {
  // Prepare sample data payload (8 bytes)
  byte data[8] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88};
  
  // Send CAN message with standard ID 0x100
  byte sndStat = CAN0.sendMsgBuf(0x100, 0, 8, data);
  if (sndStat == CAN_OK) {
    Serial.println("CAN Message Sent Successfully!");
  } else {
    Serial.println("Error Sending CAN Message...");
  }

  // Check for incoming CAN messages
  if (CAN0.checkReceive() == CAN_MSGAVAIL) {
    long unsigned int rxId;
    unsigned char len = 0;
    unsigned char rxBuf[8];
    
    CAN0.readMsgBuf(&rxId, &len, rxBuf);
    
    Serial.print("Received ID: 0x");
    Serial.print(rxId, HEX);
    Serial.print(" Data: ");
    for (byte i = 0; i < len; i++) {
      Serial.print("0x");
      if (rxBuf[i] < 0x10) Serial.print("0");
      Serial.print(rxBuf[i], HEX);
      Serial.print(" ");
    }
    Serial.println();
  }

  delay(2000);
}

Tarvittavat kirjastot: mcp_can 1.5.1

Wiring diagram and example code generated by Codey.online — https://www.codey.online

CAN-väylämoduuli MCP2515 SPI 5V

MCP2515 CAN-väylämoduuli sopii Arduinoon ja muihin mikrokontrolleriprojekteihin, joissa haluat kommunikoida CAN-väyläjärjestelmän kanssa SPI-protokollan avulla.

Tukee CAN V2.0B:tä ja tiedonsiirtonopeutta 1 Mb/s.

Käyttöjännite: 5V
Liitäntä: ohjattavissa SPI:llä
Mitat: noin 2,8 x 4,8 cm

Mitat
Pituus: 4cm
Leveys: 2,8cm
Korkeus: 1,2cm

  • MCP2515
  • 5V-virtalähde
  • SPI-liitäntä
  • 2,8 x 4,8 cm

Miksi valita tämä tuote?

  • Arduinoa varten – Sopii Arduino-projekteihin.
  • CAN V2.0B – Tukee CAN V2.0B:tä.
  • Suuri nopeus – Tiedonsiirtonopeus jopa 1 Mb/s.
  • SPI-liitäntä – Ohjattavissa SPI:n avulla.
Tiedot
Leveys2,8 cm
Pituus4 cm
Käyttöjännite5V
Korkeus1,2 cm
CAN-versioV2.0B
Viestintänopeus1 Mb/s

Usein ostettu yhdessä

Yhteensä: € 19,20

Arvostelut

Ei vielä arvosteluja.

Kirjoita arvostelu
Arvostelusi

Toimitus & palautukset

Toimitus

  • Paketti seurannalla€ 7,7024 tunnin sisällä
  • Nouto PostNL:n toimipisteestä€ 7,4024 tunnin sisällä
  • Kirjelaatikko-paketti€ 3,702 arkipäivän kuluessa
  • Kirjelaatikko­paketti 24 tuntia€ 4,5524 tunnin sisällä
  • Nouto myymälästäIlmainen
Kaikki toimituksesta

Palautukset

Etkö ole tyytyväinen? Sinulla on 30 päivää aikaa vastaanotosta palauttaa tuote.

Kaikki palautuksista

Aiemmin katsotut

5-nastainen dip-kytkin 2,54 mm

5-nastainen dip-kytkin 2,54 mm

€ 0,90
4-nastainen dip-kytkin 2,54 mm

4-nastainen dip-kytkin 2,54 mm

€ 0,90