Показать сообщение отдельно
Старый 05.04.2015, 21:16   #11
ПЖ
Пол:
Имя: Мишка
Адрес: SPb
Автомобиль: Q5 2.0T 08' >> 3.0 TDI 09'
Доп. информация
По умолчанию

Продолжим наш марафон....
Для того чтобы получать данные от машины, мы должны настроить наш порт на плате со скоростью передачи данных машиной... для каждой шины он свой. И если он выставлен не правильно, то мы просто не получим данные от машины. Для нашего примера, т.е. шины данных мотора устанавливаем скорость 500 Kbit/sec . Для шины комфорта она равна 100 Kbit/sec . В нашем случае, нам нужно установить сначала программу на ноутбук, с помощью которой мы будем редактировать и заливать саму программу. Ее мы найдем на сайте http://arduino.cc/ там в дистрибутивах отыскиваем нужную версию программы 1.0.5 , так как последняя не подойдет нам. http://arduino.googlecode.com/files/arduino-1.0.5-r2-windows.exe
Скачиваем, устанавливаем.
Запускаем программу. Видим интерфейс программы. В нем есть окно, в котором собственно и должен быть наш код.

Вложение 7192

Затем мы копируем программу в это окно.

#include <mcp_can.h>
#include <SPI.h>

long unsigned int rxId;
unsigned char len = 0;
unsigned char rxBuf[8];

MCP_CAN CAN0(10);

void setup()
{
Serial.begin(9600);
if(CAN0.begin(CAN_500KBPS) == CAN_OK)
{
Serial.println("can init ok!!");
}
else
{
Serial.println("Can init fail!!");
}

}

void loop()
{
CAN0.readMsgBuf(&len, rxBuf);
rxId = CAN0.getCanId();

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[i] < 0x10) // If data byte is less than 0x10, add a leading zero
{
Serial.print("0");
}
Serial.print(rxBuf[i], HEX);
Serial.print(" ");
}
Serial.println();
}

Но, чтобы это все заработало мы должны закачать нужные файлы, так называемые библиотеки в наш компьютер.

Скачиваем файл :
https://cloud.mail.ru/public/ec4187dacb97/CANBUS.zip

Распаковываем его и получаем из архива папку CANBUS внутри которой
будет 7 файлов и одна папка.
Эту папку (CANBUS) копируем в нашу программу на компьтере
у каждого свой путь будет, последняя часть одинаковая -
...\Program Files\Arduino\libraries
Прям так с ногами ее туда и запихиваем.

Делаем настройки нашего железа... в меню программы выбираем СЕРВИС, далее выбираем ПЛАТА и там выбираем ту плату которую мы используем. В нашем случае это Leonardo.

Вложение 7194

Устанавливаем порт соединения с нашей платой. Для этого она должна быть подключена к компьютеру.
Выбираем СЕРВИС, далее - ПОРТ и находим порт нашей платы. Скорее всего он будет больше чем COM2.

Вложение 7195

Если теряетесь в догадках, то можно посмотреть подключилась ли вообще плата и установились ли для нее драйвера в диспетчере оборудования на компьютере.
После этого проверяем, будет ли загружаться наша программа для этого (естественно она у нас уже скопирована в поле где она должна быть) нажимаем кнопку компиляции, т.е. оболочка наша пытается перевести нашу программу в машинный код, чтобы компьютер мог понимать, что ему делать.

Вложение 7193

Если внизу появилась надпись компилирование выполнено, то это значит Ура! программа должна работать.

Затем наживаем вторую кнопку со стрелочкой для начала заливки нашего софта.

Ждем окончания загрузки платы. Желтая полоска добежит до конца и исчезнет. При этом внизу не высветится никаких сообщений оранжевого цвета.
Значит все хорошо.
После чего на нашей плате CAN должны начать мигать два красных светодиодика рядом с синим разъемом куда подключены провода от машины.
Это хороший признак того что мы идем верным путем.
Для того что бы увидеть, что же все таки скрывается за этими мигающими светодиодиками RX и INT , нажимаем кнопку монитора порта находится в правом верхнем углу

Вложение 7196

Мы видим бегущие данные типа


ID: 6C0 Data: 01 40 04 00 00 0F 03
ID: 585 Data: 00 00 00 00 00 00 00 80
ID: 309 Data: 4A 00 00 40

Ура, мы прошли второй этап нашего марафона ... но до Финиша еще далеко..

Да, совсем забыл сказать, что все что вы делаете - выделаете на свой страх и риск. Держитесь поговорки - "Не уверен - не обгоняй!"
mishka вне форума   Ответить с цитированием Вверх страницы Вниз страницы
Пользователь сказал cпасибо:
udarnik (06.04.2015)
Рекламный блок
Реклама на форуме