84 lines
1.7 KiB
Plaintext
84 lines
1.7 KiB
Plaintext
|
|
// ----------------------------------------------
|
|
// SECUDUINO
|
|
// http://secuduino.blogspot.com/
|
|
// By Igor Real
|
|
// 26/Feb/2011
|
|
// ----------------------------------------------
|
|
|
|
#include <CAN.h>
|
|
#include <pinout.h>
|
|
|
|
void setup()
|
|
{
|
|
Serial.begin(115200);
|
|
Serial.println("Empezamos...");
|
|
CAN.begin(1);
|
|
|
|
//Pin 7 OUTPUT (Sensor)
|
|
pinMode(7,OUTPUT);
|
|
digitalWrite(7,LOW);
|
|
|
|
//Pin 6 INPUT and R pull up ON (Sensor)
|
|
pinMode(6,INPUT);
|
|
digitalWrite(6,HIGH);
|
|
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
|
|
|
|
CAN_TxMsg.id=0x200; //Device with speaker sends ID=200, Device with sensor sends=ID=100
|
|
CAN_TxMsg.header.rtr=0;
|
|
CAN_TxMsg.header.length=8;
|
|
CAN_TxMsg.data[0]=digitalRead(6);
|
|
CAN_TxMsg.data[1]=0x00;
|
|
CAN_TxMsg.data[2]=0x00;
|
|
CAN_TxMsg.data[3]=0x00;
|
|
CAN_TxMsg.data[4]=0x00;
|
|
CAN_TxMsg.data[5]=0x00;
|
|
CAN_TxMsg.data[6]=0x00;
|
|
CAN_TxMsg.data[7]=0x00;
|
|
|
|
CAN.send(&CAN_TxMsg);
|
|
|
|
if (CAN.CheckNew())
|
|
{
|
|
|
|
CAN.ReadFromDevice(&CAN_RxMsg);
|
|
|
|
//Print message via Serial Port
|
|
Serial.print(CAN_RxMsg.id,HEX);
|
|
Serial.print(" => ");
|
|
Serial.print(CAN_RxMsg.data[0],HEX);
|
|
Serial.print(" - ");
|
|
Serial.print(CAN_RxMsg.data[1],HEX);
|
|
Serial.print(" - ");
|
|
Serial.print(CAN_RxMsg.data[2],HEX);
|
|
Serial.print(" - ");
|
|
Serial.print(CAN_RxMsg.data[3],HEX);
|
|
Serial.print(" - ");
|
|
Serial.print(CAN_RxMsg.data[4],HEX);
|
|
Serial.print(" - ");
|
|
Serial.print(CAN_RxMsg.data[5],HEX);
|
|
Serial.print(" - ");
|
|
Serial.print(CAN_RxMsg.data[6],HEX);
|
|
Serial.print(" - ");
|
|
Serial.println(CAN_RxMsg.data[7],HEX);
|
|
|
|
//Byte 0 => Info from the other board with the sensor status
|
|
if (CAN_RxMsg.id=0x100 && CAN_RxMsg.data[0])
|
|
{
|
|
analogWrite(5,200);
|
|
}
|
|
else
|
|
{
|
|
analogWrite(5,0);
|
|
}
|
|
}
|
|
|
|
delay(400);
|
|
}
|
|
|