31.10.2017, 18:44 | #61 | |||
Пацак
Пол:
Имя: Игорь
Адрес: Гродно
|
так я этой и пользуюсь, если напрямую подключаюсь то вижу сообщения.. а если к ОБД2 разъему то пусто.. уже все скорости перепробывал..(
или через обд2 нужно запросы какие-то отправлять чтоб получить что-то.. |
|||
Рекламный блок | ||
|
01.11.2017, 09:58 | #62 | ||||
ПЖ
Пол:
Имя: Мишка
Адрес: SPb
Автомобиль: Q5 2.0T 08' >> 3.0 TDI 09'
|
Цитата:
---------- Сообщение добавлено в 09:58 ---------- Предыдущее сообщение размещено в 09:25 ---------- #include <mcp_can.h> #include <SPI.h> long unsigned int rxId; unsigned char len = 0; unsigned char rxBuf[8]; MCP_CAN CAN0(10); // Set CS to pin 10 void setup() { Serial.begin(115200); // Initialize MCP2515 running at 16MHz with a baudrate of 500kb/s and the masks and filters disabled. if(CAN0.begin(MCP_ANY, CAN_500KBPS, MCP_8MHZ) == CAN_OK) Serial.println("MCP2515 Initialized Successfully!"); else Serial.println("Error Initializing MCP2515..."); CAN0.setMode(MCP_NORMAL); // Set operation mode to normal so the MCP2515 sends acks to received data. pinMode(2, INPUT); // Setting pin 2 for /INT input Serial.println("MCP2515 Library Receive Example..."); } byte data[8] = {0x02, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00}; void loop() { byte sndStat = CAN0.sendMsgBuf(0x7DF, 0, 8, data); if(sndStat != CAN_OK){ Serial.println("Error Sending Message..."); } delay(100); // send data per 100ms if(!digitalRead(2)) // If pin 2 is low, read receive buffer { CAN0.readMsgBuf(&rxId, &len, rxBuf); // Read data: len = data length, buf = data byte(s) Serial.print("ID: "); // Print the message ID. Serial.print(rxId, HEX); Serial.print(" Data: "); for(int i = 0; i<len; i++) // Print each byte of the data. { 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(" "); } float rpm = (rxBuf[3] * 256 + rxBuf[4]) / 4.0; Serial.println(); Serial.print("RPM : "); Serial.print(rpm); Serial.println(); delay(100); } } |
||||
01.11.2017, 10:39 | #63 | |||
Пацак
Пол:
Имя: Игорь
Адрес: Гродно
|
Standard_MaskFilter.ino - это???
что-то я не могу понять.. а маску и фильтр это и есть PID или нет? ---------- Сообщение добавлено в 10:39 ---------- Предыдущее сообщение размещено в 10:11 ---------- obd в ауди на 500кбит? ое попробую отпишусь) |
|||
01.11.2017, 11:29 | #64 | ||||
ПЖ
Пол:
Имя: Мишка
Адрес: SPb
Автомобиль: Q5 2.0T 08' >> 3.0 TDI 09'
|
Цитата:
byte sndStat = CAN0.sendMsgBuf(0x7DF, 0, 8, data); byte data[8] = {0x02, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00}; по моему он обороты смотрит. скорость да, выбрана 500, потому что к мотору подключаемся. if(CAN0.begin(MCP_ANY, CAN_500KBPS, MCP_8MHZ) == CAN_OK) Serial.println("MCP2515 Initialized Successfully!"); |
||||
04.11.2017, 21:18 | #65 | |||
ПЖ
Пол:
Имя: Мишка
Адрес: SPb
Автомобиль: Q5 2.0T 08' >> 3.0 TDI 09'
|
Попробовал подключиться через ELM327 - убого мало данных он выдал...
и тупит страшно. обновление данных идет долго. |
|||
06.11.2017, 21:31 | #67 | |||
ПЖ
Пол:
Имя: Мишка
Адрес: SPb
Автомобиль: Q5 2.0T 08' >> 3.0 TDI 09'
|
нет,
для ELM своя тема... когда то купил эту приблуду, http://arduinodev.com/hardware/obd-kit/ валялась долго и в результате разочарование полное. наверное возможно и взять обычный шнур ELM убрать с него преобразователь сигнала для USB, получится тоже самое, только дешевле. код из примера, только почему то он работал на UNO, а на MEGA через Serial 1 #include <Arduino.h> #include <Wire.h> #include <OBD.h> COBD obd; void setup() { Serial.begin(38400); // start communication with OBD-II UART adapter obd.begin(); // initiate OBD-II connection until success while (!obd.init()); } void loop() { int value; if (obd.readPID(PID_RPM, value)) { // RPM is successfully read and its value stored in variable 'value' Serial.println(value); } } отсюда берешь все PID и подставляешь вместо PID_RPM на адреса в формате 0х0С, можешь указывать и названиями если они прописаны в библиотеке. https://en.wikipedia.org/wiki/OBD-II_PIDs#Mode_01 |
|||
07.11.2017, 14:13 | #68 | |||
Пацак
Пол:
Имя: Игорь
Адрес: Гродно
|
я сегодня попробовал сделать так.. подключил китайский vcdc 12.12 там внутри mcp2561 выбрал в программе в блоке двигателя измеряемые велечины air mass например
потом параллельно подключил ардуинку и монитор порта и обрадовался ID и data есть!!!)) но радовался не долго... если выбирать другую величену ID остается одним и темже.. только данные меняются и если сразу подцепить ардуинку то кан шина не хочет инициализироваться( толко когда подключшь уже с работающей программой а из выше примера скорость обмена большая?? не проверял? с адаптером что ты купил |
|||
07.11.2017, 19:46 | #69 | |||
ПЖ
Пол:
Имя: Мишка
Адрес: SPb
Автомобиль: Q5 2.0T 08' >> 3.0 TDI 09'
|
интересные вариации... может не хочет увязываться из-за каких то согласований. обычно на последнем Can устройстве стоит резистивный терминатор.
ELM считывает быстро один параметр. но если пытаться считать последовательно некоторую группу значений то получается долго. 5-7 параметров обновляются в течение 1-3 секунд. скорость передачи они сами устанавливают а вот серийный порт я выставил 38400 в личку кинул номер телефона, можешь на вотсап если что писать. Помню sergikoff писал, что пытался подключиться к приборке... удалось ли продвинуться в этом вопросе? Последний раз редактировалось mishka; 07.11.2017 в 19:49. |
|||
08.11.2017, 09:00 | #70 | |||
Модератор
Пол:
Имя: Сергей
Адрес: Зеленоград
Автомобиль: Q5 '14, 2.0TFSI (CNCD, 224hp), МКПП6
|
|
|||
Рекламный блок | ||
|
Нижняя навигация | ||||||
|
Опции темы | |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Замена масла и все, что с этим связано | Zaratustra07 | 2.0 TFSI | 265 | 28.03.2020 08:34 |