// ---------------------------------------------- // SECUDUINO // http://secuduino.blogspot.com/ // By Igor Real // 26/Feb/2011 // ---------------------------------------------- #include #include 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); }