MCP2515 Interface de contrôleur BUS CAN

65,00 DH

Disponibilité:

54 en stock

UGS : 0216 Catégories : ,

Description

Module CAN-BUS MCP2515 + TJA1050 – Contrôleur CAN 2.0B via SPI

Le module MCP2515 associe le contrôleur CAN 2.0B MCP2515 à l’interface physique TJA1050, permettant d’ajouter facilement une communication CAN 1 Mb/s à vos projets Arduino, ESP32, Raspberry Pi, etc.

🔧 Caractéristiques techniques

💡 Applications typiques

  • Réseaux CAN automobiles et industrialisés
  • Systèmes de télémétrie et de capteurs distribués
  • Contrôle de moteurs, actionneurs et automatisation
  • Projets IoT embarqués nécessitant un bus robuste
  • Ponts de données entre microcontrôleurs et équipements CAN

Exemple de code Arduino (utilisant la bibliothèque mcp_can)

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

const int SPI_CS_PIN = 10;
MCP_CAN CAN(SPI_CS_PIN);

void setup() {
Serial.begin(115200);
while (CAN_OK != CAN.begin(CAN_500KBPS)) {
Serial.println("Initialisation CAN échouée");
delay(100);
}
Serial.println("CAN initialisé à 500 kbps");
}

void loop() {
// Envoi d'un message CAN 11-bit ID 0x100, 8 octets
byte data[8] = {0xDE,0xAD,0xBE,0xEF,0x00,0x11,0x22,0x33};
CAN.sendMsgBuf(0x100, 0, 8, data);
delay(1000);

// Lecture
if (CAN_MSGAVAIL == CAN.checkReceive()) {
unsigned long id;
byte len;
byte buf[8];
CAN.readMsgBuf(&len, buf);
id = CAN.getCanId();
Serial.print("Reçu ID 0x"); Serial.print(id, HEX);
for (byte i = 0; i < len; i++) {
Serial.print(" "); Serial.print(buf[i], HEX);
}
Serial.println();
}
}

Explication du code

  • On initialise la liaison SPI et le module MCP2515 à 500 kbps via CAN.begin(...).

  • Dans loop(), on envoie un trame CAN de 8 octets à l’ID 0x100 avec sendMsgBuf().

  • Ensuite, on vérifie la disponibilité d’un message avec checkReceive(), puis on lit l’ID et les données via readMsgBuf() et getCanId(), et on affiche tout dans le moniteur série.

🛠️ Brochage / Wiring

Broche module Fonction Arduino UNO
VCC Alimentation +5 V DC 5 V
GND Masse commune GND
CS Chip Select SPI (actif bas) D10
SO (MISO) SPI Master In Slave Out D12
SCLK SPI Clock D13
SI (MOSI) SPI Master Out Slave In D11
INT Interruption (message CAN reçu) D2
CANH / CANL Broches bus CAN (screw terminals) Branchez au bus

Note : activez la terminaison 120 Ω en soudant le pont prévu si votre module est aux extrémités du bus.