Uma aplicação de prova de conceito usando um telefone Arduino e Android para adicionar recursos extras a esses carros Mercedes mais antigos, tocando em seus sistemas via Canbus.
Se você quiser consertar as coisas, sinta -se à vontade para enviar solicitações de puxar para este repositório
Se você tem uma unidade de cabeça do Android em seu carro, fique à vontade para verificar uma versão muito mais rica em recursos disso que é executada na unidade da cabeça aqui
Pode ser acessado através deste link
Até agora, o projeto ficou desproporcional e acabou sendo uma maneira de modernizar um pouco o W203. O Arduino agora requer um módulo Bluetooth HC-06, que então se conecta ao aplicativo Android em execução em um dispositivo Android. Agora, isso serve para dar 'controle de música grátis' para o carro, o botão do volante pressiona na página AUX agora é transmitido ao telefone para alterar as faixas. O telefone também diz ao Arduino via Bluetooth que faixa está tocando. O Arduino enviará os quadros de lata para o cluster IC para exibir a reprodução de faixa atual.
Veja aqui

Atualmente, tenho 2 módulos MCP2515. 1 com um relógio de 8MHz conectado a Can C e 1 com um relógio de 16 MHz que está conectado a CAN B. (descobri que pode B não é compatível com o relógio de 8 MHz devido à sua taxa de bits ímpar de 83,3kbps). Se você acabar usando 2 módulos com relógios de 16MHz, altere a seguinte linha em IC_CUSTOM_TEXT/CANBUSCOMM.CPP:
this ->canC-> setBitrate (CAN_500KBPS, MCP_8MHZ);para
this ->canC-> setBitrate (CAN_500KBPS);Não fazer isso pode resultar em algum comportamento absolutamente selvagem com o resto do carro!
Estou usando o conector X30/7 para conectar ao Canbus B. Este é um cubo (com vários fios saindo dele) localizados no painel abaixo do volante de motorista. Você notará que ele tem alguns slots gratuitos. É aqui que eu corri os cabos.
O CANBUS C é um pouco mais difícil. Não consegui encontrar um conector como o ônibus B. Em vez disso, corri fios na parte traseira do cluster de instrumentos. Conectados ao instrumento estão 2 fios verdes. O fio verde sólido é canh+e o fio verde com uma faixa branca é canl-.
Atualmente, eu apenas descobri como exibir 1 linha de máximo de 8 caracteres na tela IC. Isso significa que, se o nome da faixa for superior a 8 caracteres, o Arduino mudará a string por 1 a cada 150ms, resultando no texto rolando pela tela para exibir uma mensagem mais longa. No entanto, o IC exibe o tempo de resposta está assustador, resultando em uma animação de texto lama. Idey, eu gostaria de descobrir como diminuir o tamanho do texto na tela para exibir mais de 8 caracteres por vez