Lab_interaccio/2011/Secuduino_alarma/Secuduino_alarma.pde

84 lines
1.7 KiB
Plaintext
Raw Permalink Normal View History

2025-02-25 21:29:42 +01:00
// ----------------------------------------------
// 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);
}