Things used in this project

Schematics

Poor Man's CAN circuit
Poor man can bb u7mbmdcksd
Poor Man's CAN schematics
Poor man can schem bdgzky5dje

Code

CAN receiver codeArduino
Flash to the Photon with the button
const auto ledPin = A3;
const auto ledPowerPin = A6;
CANChannel can(CAN_D1_D2);
const auto canSpeed = 500000;

void setup() {
  pinMode(ledPowerPin, OUTPUT);
  digitalWrite(ledPowerPin, HIGH);
  pinMode(ledPin, OUTPUT);
  can.begin(canSpeed);
}

void loop() {
  CANMessage message;

  while(can.receive(message)) {
    if (message.id == 0x100) {
      digitalWrite(ledPin, !message.data[0]);
    }
  }

  delay(100);
}
CAN transmitter codeArduino
Flash to the Photon with the LED
const auto buttonPin = D4;
const auto buttonPowerPin = D6;
CANChannel can(CAN_D1_D2);
const auto canSpeed = 500000;

void setup() {
  pinMode(buttonPowerPin, OUTPUT);
  digitalWrite(buttonPowerPin, HIGH);
  pinMode(buttonPin, INPUT_PULLDOWN);
  pinMode(D7, OUTPUT);
  can.begin(canSpeed);
}

void loop() {
  bool button = digitalRead(buttonPin);
  digitalWrite(D7, button);
  CANMessage message;

  message.id = 0x100;
  message.len = 1;
  message.data[0] = button;

  can.transmit(message);

  delay(100);
}

Credits

B9ec534333161d95ff15a80f1c2bcddb
Julien Vanier
10 projects • 50 followers
Contact

Replications

Did you replicate this project? Share it!

I made one

Love this project? Think it could be improved? Tell us what you think!

Give feedback

Comments

Add projectSign up / Login