MCP2515 का उपयोग कैसे करें Arduino के साथ बस मॉड्यूल कर सकते हैं

How to Use the MCP2515 CAN Bus Module with Arduino

MCP2515 ऑटोमोटिव और औद्योगिक संचार के लिए व्यापक रूप से उपयोग किए जाने वाले CAN (कंट्रोलर एरिया नेटवर्क) बस मॉड्यूल है। यह Arduino को कैन-आधारित सिस्टम के साथ इंटरफ़ेस करने में सक्षम बनाता है और डेटा को कुशलता से भेजने और प्राप्त करने के लिए। यह ट्यूटोरियल आपको Arduino के साथ MCP2515 मॉड्यूल की स्थापना और उपयोग करने के माध्यम से मार्गदर्शन करेगा।

आपको क्या चाहिए

  1. MCP2515 बस मॉड्यूल कर सकते हैं
  2. Arduino बोर्ड (जैसे, UNO, मेगा, नैनो)
  3. कैन-बस संगत डिवाइस या एक अन्य MCP2515 मॉड्यूल
  4. जम्पर तार
  5. ब्रेडबोर्ड (वैकल्पिक)
  6. Arduino IDE के साथ एक कंप्यूटर स्थापित

चरण 1: MCP2515 मॉड्यूल को समझना

MCP2515 मॉड्यूल MCP2515 का उपयोग करता है CAN CAN CANCER IC और TJA1050 ट्रांससीवर कर सकते हैं। मॉड्यूल एसपीआई इंटरफ़ेस के माध्यम से Arduino के साथ संचार करता है।

MCP2515 पिनआउट

नत्थी करना समारोह
वीसीसी बिजली की आपूर्ति
Gnd मैदान
सी चिप का चयन करें
इसलिए एसपीआई डेटा आउटपुट
साई एसपीआई डेटा इनपुट
संप्रदाय स्पाई घड़ी
int यहाँ अंतर आउटपुट

चरण 2: Arduino को MCP2515 को वायरिंग करें

नीचे MCP2515 मॉड्यूल को Arduino UNO से जोड़ने के लिए वायरिंग गाइड है:

MCP2515 पिन अर्डुइनो पिन
वीसीसी 5V
Gnd Gnd
सी पिन 10
इसलिए पिन १२
साई पिन ११
संप्रदाय पिन 13
int यहाँ पिन २

टिप्पणी: For other Arduino boards, ensure the SPI pins correspond to your specific board’s pinout.

चरण 3: आवश्यक पुस्तकालय स्थापित करें

MCP_CAN library simplifies interaction with the MCP2515 module.

MCP_CAN लाइब्रेरी स्थापित करने के चरण:

  1. Arduino ide खोलें।
  2. जाओ स्केच > पुस्तकालय शामिल करें > पुस्तकालयों का प्रबंधन करें.
  3. लाइब्रेरी मैनेजर में "MCP_CAN" की खोज करें।
  4. क्लिक स्थापित करना.

चरण 4: कोड अपलोड करें

ट्रांसमीटर कोड (कैन बस पर डेटा भेजना):

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

#define CAN_CS 10
MCP_CAN CAN(CAN_CS); // Set CS pin for MCP2515

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

  if (CAN.begin(MCP_ANY, 500000, MCP_8MHZ) == CAN_OK) {
    Serial.println("CAN Bus Initialized Successfully");
  } else {
    Serial.println("CAN Bus Initialization Failed");
    while (1);
  }

  CAN.setMode(MCP_NORMAL);
  Serial.println("CAN Bus set to Normal Mode");
}

void loop() {
  unsigned char data[8] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08};

  if (CAN.sendMsgBuf(0x100, 0, 8, data) == CAN_OK) {
    Serial.println("Message Sent Successfully");
  } else {
    Serial.println("Error Sending Message");
  }

  delay(1000); // Send data every second
}

रिसीवर कोड (कैन बस से डेटा पढ़ना):

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

#define CAN_CS 10
MCP_CAN CAN(CAN_CS); // Set CS pin for MCP2515

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

  if (CAN.begin(MCP_ANY, 500000, MCP_8MHZ) == CAN_OK) {
    Serial.println("CAN Bus Initialized Successfully");
  } else {
    Serial.println("CAN Bus Initialization Failed");
    while (1);
  }

  CAN.setMode(MCP_NORMAL);
  Serial.println("CAN Bus set to Normal Mode");
}

void loop() {
  unsigned char len = 0;
  unsigned char buf[8];

  if (CAN.checkReceive() == CAN_MSGAVAIL) {
    CAN.readMsgBuf(&len, buf);
    unsigned long id = CAN.getCanId();

    Serial.print("Message ID: 0x");
    Serial.println(id, HEX);

    Serial.print("Data: ");
    for (int i = 0; i < len; i++) {
      Serial.print(buf[i], HEX);
      Serial.print(" ");
    }
    Serial.println();
  }
}

चरण 5: सेटअप का परीक्षण करें

  1. चरण 2 में वर्णित के रूप में MCP2515 मॉड्यूल को अपने Arduino से कनेक्ट करें।
  2. ट्रांसमीटर कोड को एक Arduino और रिसीवर कोड को दूसरे Arduino पर अपलोड करें।
  3. CAN बस स्थापित करने के लिए दोनों MCP2515 मॉड्यूल के CAN_H और CAN_L पिन कनेक्ट करें।
  4. दोनों Arduinos पर सीरियल मॉनिटर खोलें और बॉड दर निर्धारित करें 115200.
  5. रिसीवर Arduino पर, आपको ट्रांसमीटर Arduino द्वारा भेजे गए संदेशों को देखना चाहिए।

समस्या निवारण

  • कोई डेटा प्राप्त नहि हुही: मॉड्यूल के बीच CAN_H और CAN_L कनेक्शन की जाँच करें।
  • आरंभीकरण विफल: SPI कनेक्शन और CS पिन सुनिश्चित करें आपके सेटअप से मेल खाते हैं।
  • Erratic communication: Verify that both modules use the same baud rate (500 kbps in this example).

MCP2515 के आवेदन बस मॉड्यूल कर सकते हैं

  1. वाहन निदान
  2. औद्योगिक स्वचालन प्रणालियाँ
  3. रोबोटिक्स संचार
  4. कैन बस नेटवर्क के साथ IoT डिवाइस

निष्कर्ष

आपने डेटा भेजने और प्राप्त करने के लिए Arduino के साथ MCP2515 कैन बस मॉड्यूल को सफलतापूर्वक सेट किया है। यह मॉड्यूल एक CAN बस में विश्वसनीय संचार की आवश्यकता वाले अनुप्रयोगों के लिए अविश्वसनीय रूप से बहुमुखी है। इसकी पूरी क्षमता का पता लगाने के लिए विभिन्न संदेश आईडी और डेटा पेलोड के साथ प्रयोग करें!

एक टिप्पणी छोड़ें

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.