Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Project Documentation

CAN Bus Network with Arduino Controllers and Environmental Sensing

Image of CAN Bus Network with Arduino Controllers and Environmental Sensing

Circuit Documentation

Summary

The circuit in question appears to be a networked system involving multiple microcontrollers and peripheral devices. The primary microcontrollers used are the Arduino Nano and Arduino UNO, which interface with MCP2515 CAN (Controller Area Network) bus controllers to facilitate communication between different parts of the system. Additionally, the circuit includes a DHT11 temperature and humidity sensor and two I2C LCD 16x2 screens for display purposes. The MCP2515 modules are connected to each other via the CAN bus (H and L lines), allowing for robust communication in potentially noisy environments.

Component List

Microcontrollers

  • Arduino Nano: A compact board based on the ATmega328P microcontroller, featuring digital and analog I/O pins, including dedicated SPI pins for communication with devices like the MCP2515.

  • Arduino UNO: A microcontroller board based on the ATmega328P, similar to the Nano but larger in size and with more accessible pins. It also includes dedicated SPI pins for communication with the MCP2515.

Communication Modules

  • MCP2515 CAN Bus Controller: A stand-alone CAN controller that interfaces with microcontrollers via the SPI protocol. It is used to add CAN communication capability to the system.

Sensors

  • DHT11: A basic, low-cost digital temperature and humidity sensor that provides digital signal output.

Displays

  • I2C LCD 16x2 Screen: A 16-character by 2-line liquid crystal display that communicates with the microcontroller via the I2C protocol.

Passive Components

  • Resistor (200 Ohms): A passive two-terminal electrical component used to implement electrical resistance within the circuit.

Wiring Details

Arduino Nano

  • D2: Connected to MCP2515 INT (Interrupt) pin.
  • D13/SCK: Connected to MCP2515 SCK (Serial Clock) pin.
  • D11/MOSI: Connected to MCP2515 SI (Serial Input) pin.
  • D12/MISO: Connected to MCP2515 SO (Serial Output) pin.
  • D10: Connected to MCP2515 CS (Chip Select) pin.
  • GND: Common ground with DHT11 and MCP2515.
  • 5V: Connected to MCP2515 VCC (Power) pin.
  • 3V3: Connected to DHT11 VCC (Power) pin.
  • D8: Connected to DHT11 DATA pin.

Arduino UNO

  • D2: Connected to MCP2515 INT (Interrupt) pin.
  • D13: Connected to MCP2515 SCK (Serial Clock) pin.
  • D11: Connected to MCP2515 SI (Serial Input) pin.
  • D12: Connected to MCP2515 SO (Serial Output) pin.
  • D10: Connected to MCP2515 CS (Chip Select) pin.
  • GND: Common ground with I2C LCD Screen and MCP2515.
  • Vin: Connected to MCP2515 VCC (Power) pin.
  • A4: Connected to I2C LCD Screen SDA (Serial Data) pin.
  • A5: Connected to I2C LCD Screen SCL (Serial Clock) pin.

MCP2515 CAN Bus Controller

  • INT: Connected to Arduino Nano D2 or Arduino UNO D2.
  • SCK: Connected to Arduino Nano D13/SCK or Arduino UNO D13.
  • SI: Connected to Arduino Nano D11/MOSI or Arduino UNO D11.
  • SO: Connected to Arduino Nano D12/MISO or Arduino UNO D12.
  • CS: Connected to Arduino Nano D10 or Arduino UNO D10.
  • GND: Common ground with Arduino Nano/UNO and I2C LCD Screen.
  • VCC: Connected to Arduino Nano 5V or Arduino UNO Vin.
  • H: Connected to other MCP2515 H pins.
  • L: Connected to other MCP2515 L pins.

DHT11 Sensor

  • DATA: Connected to Arduino Nano D8.
  • GND: Common ground with Arduino Nano.
  • VCC: Connected to Arduino Nano 3V3.

I2C LCD 16x2 Screen

  • SDA: Connected to Arduino UNO A4.
  • SCL: Connected to Arduino UNO A5.
  • GND: Common ground with Arduino UNO and MCP2515.
  • VCC (5V): Connected to Arduino UNO Vin.

Resistor (200 Ohms)

  • pin1: (Connection details not provided)
  • pin2: (Connection details not provided)

Documented Code

Arduino Nano Code

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Arduino UNO Code

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

(Note: The code for the Arduino UNO and Arduino Nano is identical and minimal, suggesting that this is a template or placeholder code. Actual implementation details are not provided.)

Additional Documentation

There are placeholders for additional documentation files (documentation.txt) for each microcontroller, but no content has been provided within these files.