Нештатная информация на штатный дисплей
#312
Отправлено 03 February 2017 - 01:26
На данный момент нахожусь в процессе создания подобного проекта. Но слегка с другим функционалом. В частности есть желание:
осуществлять управление смартфоном с медиа кнопок,
подключение телефона к машине по блютусу и вывод информации с него на дисплей
расширение информации выводимой на дисплей.
На данный момент уверенно обрабатываю нажатие оных и передачу на смарт.
Реализован модуль подключения aux по блютус (нет доп помех при одновременной зарядке телефона от прикуривателя. Но помехи на радио остались черт бы их побрал)
Сейчас разбираюсь с can шиной и дисплеем коды 290 и 291 понятны, ну почти. Разбираю 28F.
В частности в левой секции есть режимы для выводы информации о расходе. Так как у меня нет такой опции то предполагаю что в штатном режиме информация должна выводится вместо времени.
Так к чему я все это... Если не затруднит можете поделится информацией о кодах которые вы используете в своем проекте. И по какой причине в вашем проекте не используется левая секция а информация о расходе публикуется через цетральную секцию?
Спасибо.
#313
Отправлено 03 February 2017 - 11:00
Начну с конца.
Не использую левую секцию дисплея потому, что для парктроника (с него все начиналось) совершенно недостаточно 4 символов (да еще только цифровых). Во-вторых, у меня там штатный маршрутник параметры выводит - этот функционал терять не хотел. Вывод данных маршрутника делал не столько для себя, сколько для соконфетников, которые поддержали проект.
28F - отвечает за вывод символов сверху дисплея (DISK IN и т.п.)
По поводу использованных кодов... прошивку, естественно, выкладывать не буду, а вот некоторую дешифровку покажу:
А вот теперь "алаверды": делись, что же за кнопки ты отлавливаешь и на какой балалайке? На штатной? Кнопки нажимаются на руле? На магнитоле?
P.S. GraffAlekc, напиши мне на почту (она есть на фотографии заводской платы) - что-нибудь придумаем (пара плат еще есть).
#314
Отправлено 04 February 2017 - 05:40
Кнопки на гу считаю бесполезными, так как, при управлении ими не пользуюсь надо отвлекаться. Но если очень хочется то можно подумать как подключиться. Там ведь есть общий шлейф между панелью и ГУ но это не серийная поделка получится

Мне собственно нужно подтверждение правильности информации на мадоксе по данным по расходу. Так как там, как я понял, автор просто предполагает по многим адресам.
28F как я понял отвечает за всю панель со всеми секциями. Начал разбираться. Собрал стенд. Разобрал 3 байта. А тут жена "все пора в отпуск улетать кидай дурное". Вот по возвращению буду продолжать.
#315
Отправлено 07 February 2017 - 18:35
А кнопки на руле где "живут"? Какой код сообщения? В каких байтах и как закодированы?
Сообщение отредактировал ustas: 07 February 2017 - 18:39
#316
Отправлено 07 February 2017 - 19:39
Нигде, они резистивные. Я подключаюсь к контактам гу, меряю напряжение. Аналоговый сигнал. Все дела. Если надо распишу подробно что да как.
Сообщение отредактировал Malishok1452: 07 February 2017 - 19:43
#318
Отправлено 10 February 2017 - 23:57
Подключаюсь параллельно. Общее сопротивление кнопок по памяти 5.03 кОм.
Снимаю напряжение через делитель напряжения суммарным сопротивлением 10кОм (сопротивление должно быть больше 5к что бы не влиять на ГУ).
Можно было бы напрямую на пин контроллера (макс напряжение что я зарегистрировал 4.8В, и оно достаточно стабильно вне зависимости от состояния авто +- 0.2В) но как то стремно, мало ли что.
Дальше через АЦП вход считываешь напряжение с учетом поправки на дребезжание. Так как я не рассчитываю на распространение то вбивал пограничные напряжение опытным путем,
хотя алгоритм обучения не сложный.
Где то были записи по отдельным сопротивлениям каждой кнопки но пока не пригодились, пока не продумывал эмуляцию нажатия кнопок с МК но не сложно транзисторы да соответствующие резисторы.
Такс разобрал 28F, с трудом нашел адреса КК (38A, 3BA). Надо оказывается отправлять только парой их

С левым разделом нужна ваша помощь. У меня нет маршрутника, а без логов с машины поиск не дал результатов. Если не затруднит, сбросьте логи с вашей машины.
Сообщение отредактировал Malishok1452: 12 February 2017 - 09:04
#320
Отправлено 26 May 2017 - 19:47
У меня Mazda5 2008 года выпуска.
Хочу вывести на дисплей простую текстовую строчку. Скетч взял пока вот этот.
#include <mcp_can.h> //тут важно подключить правильную библиотеку
#include <spi.h>
const int SPI_CS_PIN = 10; //к какому pin-у arduino подключен вывод CS
MCP_CAN CAN(SPI_CS_PIN);
void setup()
{
Serial.begin(115200);
START_INIT:
if(CAN_OK == CAN.begin(CAN_125KBPS, MCP_8MHz)) // строка инициализации
{
Serial.println("CAN BUS Shield init ok!");
}
else
{
Serial.println("CAN BUS Shield init fail");
Serial.println("Init CAN BUS Shield again");
delay(100);
goto START_INIT;
}
}
unsigned char stmp1[8] = {0x80, 0, 0, 0, 0, 0x27, 0x10, 0};
unsigned char stmp2[8] = {0xc0, 0x20, 0x20, 0x20, 0x20, 0x45, 0x55, 0x52};
unsigned char stmp3[8] = {0x87, 0x4f, 0x50, 0x41, 0x2b, 0x20, 0x20, 0x20};
void loop()
{
CAN.sendMsgBuf(0x28F, 0, 8, stmp1);
CAN.sendMsgBuf(0x290, 0, 8, stmp2);
CAN.sendMsgBuf(0x291, 0, 8, stmp3);
delay(100);
}
Библиотеки все скачал и установил.
У меня Ардуино Уно (правда китайская с квадратным чипом как у Нано, но вроде никакой разницы нет). Can-контроллер MCP2515. Соединил их.
Дисплей вытащил из машины, положил на столе. Подал питание 12 В и подключил к CAN-контроллеру.
Заливаю скетч, запускаю, а дисплей молчит. Подсветка работает, время показывает, а центральная часть, куда должна приходить информация, молчит.
Монитор порта (в Ардуино IDE) показывает соединение с шилдом.
Провода от дисплейчика к шилду короткие (не более 10 см). Земля общая с платой, шилдом и дисплеем.
Читал, что надо подключать то ли один резистор на 120 Ом в CAN-шину, то ли на каждый конец по 120 Ом вешать. В общем по разному пробовал, дисплей молчит. Как будто нет соединения с шилдом. Но я уже 10 раз проверял правильность подключения.
#321
Отправлено 26 May 2017 - 23:29
#include <mcp_can.h>
#include <SPI.h>
#define ID_PART0 0x28F
#define ID_PART1 0x290
#define ID_PART2 0x291
MCP_CAN CANcar(10);
MCP_CAN CANdsp(9);
// Set CS to pin 10
void setup()
{
Serial.begin(115200);
/*
START_INIT:
if(CAN_OK == CAN.begin(CAN_125KBPS)) // init can bus : baudrate = 500k
{
Serial.println("CAN BUS Shield init ok!");
}
else
{
Serial.println("CAN BUS Shield init fail");
Serial.println("Init CAN BUS Shield again");
delay(100);
goto START_INIT;
}
*/
CANcar.begin(CAN_125KBPS);
CANdsp.begin(CAN_125KBPS);
}
unsigned char myStr1[8] = {
0xC0, 'H', 'e', 'l', 'l', 'o', ' ', 'c'};
unsigned char myStr2[8] = {
0x87, 'a', 'r', ' ', ' ', ' ', ' ', ' '};
unsigned char myStr3[8] = {
0xC0, 'H', 'e', 'l', 'l', 'o', ' ', 'd'};
unsigned char myStr4[8] = {
0x87, 'i', 's', 'p', ' ', ' ', ' ', ' '};
unsigned char stmp[8] = {0xD1, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01};
void loop()
{
// send data: id = 0x00, standrad flame, data len = 8, stmp: data buf
CANdsp.sendMsgBuf(ID_PART0, 0, 8, stmp);
CANdsp.sendMsgBuf(ID_PART1, 0, 8, myStr3);
CANdsp.sendMsgBuf(ID_PART2, 0, 8, myStr4);
CANcar.sendMsgBuf(ID_PART0, 0, 8, stmp);
CANcar.sendMsgBuf(ID_PART1, 0, 8, myStr1);
CANcar.sendMsgBuf(ID_PART2, 0, 8, myStr2);
delay(100); // send data per 100ms
}
Удачи!
P.S. "на столе" резистор в 120Ом к дисплею подключать обязательно (без него не заведется). Ну и проверить, что подключаешься именно к CAN-шине дисплея (и не путаешь полярность). "Земли" должны быть общие + еще два провода на CAN.
Сообщение отредактировал ustas: 26 May 2017 - 23:31
#322
Отправлено 27 May 2017 - 06:07
120 Ом на CAN-шине есть. Полярность CAN уже по-разному пробовал подключать.
Ардуинку и дисплей запитал от одного источника 12В, так что земля у них общая.
По-поводу подключения дисплея. У меня к дисплею подключено сейчас 4 провода. Распиновку нашел на стр. 208 электросхем (0922-3):
B - питание
H - земля
L - CAN-L
J - CAN-H
В этой теме вы выкладывали фото какие провода резать в жгуте около дисплея, сравнил - я подключаюсь к тем же контактам.
Попробую за выходные непосредственно в машине посидеть, поотправлять сообщения и почитать CAN-шину.
Возможно у меня просто CAN-модуль дохлый и не отправляет сообщения по CAN-шине.
#323
Отправлено 27 May 2017 - 20:39
Ардуинку через CAN-адаптер подцепил к разъему OBDII (6 и 14 контакты). Результат все тот же - центральная часть дисплея ничего не показывает. Заливал как скетчи, которые должны что-то отправлять на дисплей, так и скетчи, которые должны слушать CAN-шину. Подключал как с резистором 120 Ом, так и без него. Менял местами контакты идущие к CAN-шине.
Думаю, что очень вероятно у меня CAN-адаптер дохлый, хотя сообщение "CAN BUS Shield init ok!" исправно выдает (и перестает выдавать, если отключить один из провод идущий к адаптеру). В понедельник на работу с собой Ардуинку возьму, посмотрю на осциллографе идут ли какие-нибудь сигналы с CAN-разъемов адаптера.
#324
Отправлено 30 May 2017 - 18:58
Ну и соответственно на выходе микросхемы TJA1050 тоже тишина.
Попробовал пропаять плату, но результата не дало.
В общем придется заказывать новый адаптер.
#325
Отправлено 13 June 2017 - 09:30
В вашем скетче стоит 8Мгц. Если речь про TJA то чую что у вас 8 МГц как и на моем тестовом. Взяли ли вы соответствующую библиотеку, которая поддерживает настройку под частоту кристалла.
В примере ustas 16 Мгц.
Попробуйте для начала чтение данных с шины настроить. В частности дисплей постоянно флудит по адресу 0х401. так можно проверить и полярность и все остальное.
Отсутствие сигнала на выходе TJA1050 ничего не значит. Если MCP2515 не инициализирована или инициализирована неправильно то она в первую очередь сваливается в ошибку и ничего не шлет на TJA.
Если есть интерес полезть дальше то можно обойти библиотеку и работать с 2515 напрямую по spi, там можно смотреть более подробно что не так и живой ли ваш шилд. Из практики убить 2515 почти нереально, я по криворукости "пытался" но не получилось.
Примеров в инете масса. <noindex>
Там же находится текущая версия платы под которую и пишется прошивка. (Плата 3.1 имеет ошибки, так что если что 3.2 на подходе).
По своей наработке пока борюсь с помехами при подключению аудио модуля для передачи звука по блютусу, уже 2 платы сгорело

Сообщение отредактировал Malishok1452: 13 June 2017 - 10:59
#326
Отправлено 13 June 2017 - 21:09
Монитор порта в Ардуино IDE показывает соединение с шилдом ("CAN BUS Shield init ok!").
Как писал выше, на входе SO — мусор какой-то (нет четкого уровня "0", зазубрины, какие-то всплески, которые намного короче импульсов на трех предыдущих контактах).

Количество загрузок:: 18
Я считаю такого быть не должно.
На чтение данных тоже шилд настраивал, результат тот же - тишина.
В общем нужно новый шилд заказать с Китая, все руки пока никак не доходят. Просто хочу сделать сразу крупный заказ позиций на 10 у какого-нибудь одного продавца, пока выбираю.
#329
Отправлено 04 November 2019 - 17:23
С недавних пор стал обладателем мазды 5. До этого ездил на прадо 95. С паяльником и программированием МК (pic) дружу, правда не на таком уровне как автор топика. К сожалению дел с avr не имел. В своей мазде уже переделал подсветку щитка и центральной консоли. В прадик собирал себе часы (на OLED дисплее) с функцией напоминания о прохождении очередного ОТ, страховки, тех осмотра. Там я брал информацию о пройденном пробеге на щитке, считал импульсы с датчика скорости. Хочу сделать нечто подобное и на мазде. Но столкнулся с проблемой что сигнала скорости (импульсного) как такового нет. Щиток получает скорость по кан от абс. Читая форум натолкнулся на эту интересную тему. Вот зародилась мысль считывать информацию о пройденном пробеге из CAN шины, а отображать информацию на информационный экран как в этом проекте. Я не на столько хорошо знаком с кан шиной, что бы самостоятельно создать такой проект. Вот хотелось бы немного информационной помощи. Есть ли в кан шине среднескоростной информация о пройденом расстоянии и в каком эта информация виде? Ну если бы уважаемый Ustas поделился бы наработками в этом направлении, то это было бы вообще супер!
#330
Отправлено 17 November 2019 - 17:16
Я такую информацию в шине не нашел.
Прошивку раскрывать не собираюсь, все что хотел рассказать об этом проекте - уже рассказал на этом форуме и на
Для себя этот проект официально считаю "закрытым": Мазда5 уехала с новым хозяином.
P.S. осталась ПОСЛЕДНЯЯ плата (держал для себя, как резервную, но не пригодилось).