Köpt på mig MCP2515 CANbus kort och ett Arduino Pro Micro kort.
Installtion av Arduino kortet hittar man här:
https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide/all
och så här kopplar man inkl. 12 volts reg på RAW och GND.
Sen kan man krympa ner den mer än detta men som vanligt tar vi det senare......
Här är koden och tanken är att man filtrerar bort all information man inte vill ha med.
Det är ju mycket babbel på CANbusen.
// demo: CAN-BUS Shield, receive data
#include <mcp_can.h>
//#include <mcp_can_dfs.h>
#include <SPI.h>
long unsigned int rxId;
unsigned char len = 0;
unsigned char rxBuf[8];
unsigned long OLDmilliSek;
MCP_CAN CAN0(10); // Set CS to pin 9
#define CAN0_INT 2 //tillagt
void setup()
{
Serial.begin(9600);
//CAN0.begin(MCP_ANY, CAN_33K3BPS, MCP_16MHZ);
//CAN0.begin(CAN_47K619BPS,2); // init can bus :CAN_33K3BPS baudrate = 33.3(GMLAN) with 8MHZ change 2 to 1 run with 16mhz oscilator
//CAN0.begin(CAN_33K3BPS,1); // CAN0.begin(CAN_47K619BPS,1); CANbus-I
CAN0.begin(CAN_500KBPS,1); // CANBUS-P powertrain
//pinMode(CAN0_INT, INPUT); // Configuring pin for /INT input
pinMode(2, INPUT); // Setting pin 2 for /INT input
Serial.println("MCP2515 Library Receive CAN BUS Example...");
}
void loop(){
unsigned long currentmilliSek = millis(); // / 1000 ; //unsigned long värde i sekunder
if(digitalRead(CAN0_INT)== LOW) // If pin 2 is low, read receive buffer
{
CAN0.readMsgBuf(&len, rxBuf); // Read data: len = data length, buf = data byte(s)
rxId = CAN0.getCanId(); // Get message ID
if(rxId == 0x439 ){ // 290= steeringwheel || rxId == 0x530 om Id = ACC 520 eller 530 0x280 crusies byte 4
//filtrerar bort 439h - SPA distance
} else {
Serial.print("ID: ");
Serial.print(rxId, HEX);
Serial.print(" Data: ");
for(int i = 0; i<len; i++) // Print each byte of the data
{
if(rxBuf[0] < 0x80) { // shows changed Status
if(rxBuf[i] < 0x10) // If data byte is less than 0x10, add a leading zero
{
Serial.print("0");
}
Serial.print(rxBuf[i], HEX);
Serial.print(" ");
} // satus change end
}
Serial.print(" ");Serial.print(currentmilliSek-OLDmilliSek);Serial.println();
OLDmilliSek=currentmilliSek; // tidstämpel
} // filter end
}
}
Små irriterande fel....
Fukt och kondens i en av DRL lamporna. (inte bara bilden som är grumlig)
Tillslut så fick jag sprätta i sär den och torka ur den och sedan borra två hål för att
jämna ut fuktskillnaden.
Sen passade jag på att montera en slangklämma för att minska DRL spolningen.
SRS larm en hel dag är inte kul.
Men med Tech2 fick jag fram felkoden och kunde se att
en av rattkuddarna visde för högt ohm-tal.
Så bort med kudden och motionerade kontakterna även den
till kontaktrullen. Sen var det frid och fröjd ett tag.
Smattrande kupefläkt.....tydligen kan löv smita in i fläkten.
Försökte med både trycklufts pistol och dammsugarslang få bort
lövet (from hell). Men lyckade bara tillfälligt flytta det och inte vill jag mecka bort vindrute torkar armmarna mm. för ett löv.
Höjer volymen på stereon tills
den ruttnar bort eller nått.
Blev en tilltäppnigs projekt med skumplast och en kort plast skarv.
som blivit svart målad nu. Nu ska väl inte nya löv smita in.....
Tillslut så fick jag sprätta i sär den och torka ur den och sedan borra två hål för att
jämna ut fuktskillnaden.
Sen passade jag på att montera en slangklämma för att minska DRL spolningen.
SRS larm en hel dag är inte kul.
Men med Tech2 fick jag fram felkoden och kunde se att
en av rattkuddarna visde för högt ohm-tal.
Så bort med kudden och motionerade kontakterna även den
till kontaktrullen. Sen var det frid och fröjd ett tag.
Smattrande kupefläkt.....tydligen kan löv smita in i fläkten.
Försökte med både trycklufts pistol och dammsugarslang få bort
lövet (from hell). Men lyckade bara tillfälligt flytta det och inte vill jag mecka bort vindrute torkar armmarna mm. för ett löv.
Höjer volymen på stereon tills
den ruttnar bort eller nått.
Blev en tilltäppnigs projekt med skumplast och en kort plast skarv.
som blivit svart målad nu. Nu ska väl inte nya löv smita in.....
Prenumerera på:
Inlägg (Atom)