[TUTORIAL] - Computador de bordo através do TID

Faça você mesmo as instalações e manutenções em o seu Corsa.
Responder
cansei
:: Piquet ::
Mensagens: 319
Registrado em: Quinta-feira 06 2008f Março 2008 10:30:35 PM
Localização: São Paulo - SP
Modelo do veiculo: CORSA HATCH 1 8 FLEXPOWER
Ano de fabricação: 2004

Re: [TUTORIAL] - Computador de bordo através do TID

Mensagem por cansei »

klaytonboy10 escreveu:Então cansei até que já tentei, o problema é que sempre que tento incluir uma nova rotina , interfere e da erro no programa todo. Por isso que te peço pra você me disponibilizar pois você conhece o programa todo e sabe adicionar as rotinas certas que não interfere no programa todo. Então peço só mais está, que se possível você disponibilize pra mim.
klaytonboy10 escreveu:Cansei pelo que entendi no link que você me mandou ele ativa o led quando aperta no botao. Parece com o que eu quero, porém preciso que ative o led só depois que fique precionado por no mínimo 5segundos, e além disso queria que aparecesse a mensagem de água baixa no tid.
Então, o problema é que vc ta começando do jeito mais difícil.

A primeira coisa que vc precisa fazer é criar um novo programa do zero no arduino só pra testar essa parte de detectar o nível da água. A partir do momento que vc elaborou o código e viu que ta funcionando do jeito que vc quer, aí sim vc se preocupa em adicionar ele no programa do computador de bordo.

Eu vou quebrar seu galho dessa vez mas só na primeira parte. Eu peguei o código do tutorial do site do arduino e alterei pra fazer o que vc quer:

Código: Selecionar todos

// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status
int ArrayNivelReservatorio[5] = {0,0,0,0,0};
byte IndiceNivReservatorio, NivelReservatorio;

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
}

void loop() {
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);
  
  // subtrai a leitura do ciclo anterior
  NivelReservatorio = NivelReservatorio - ArrayNivelReservatorio[IndiceNivReservatorio];
  
  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == HIGH) 
  {
    //Se leitura = High, grava informação numa lista de que o nível do reservatório está OK
    ArrayNivelReservatorio[IndiceNivReservatorio] = 0;
  }
  else
  {
    //Se leitura = Low, grava informação numa lista de que o nível do reservatório está baixo
    ArrayNivelReservatorio[IndiceNivReservatorio] = 1;
  }
  // adiciona a leitura no total
  NivelReservatorio = NivelReservatorio + ArrayNivelReservatorio[IndiceNivReservatorio];
  
  IndiceNivReservatorio++;
  
  if (NivelReservatorio == 5)
  {
      //Se soma das leituras for igual a 5, significa que todas as leituras deram nível baixo. Assim, acionamos o led
      digitalWrite(ledPin, HIGH);
      
      //Mostra aviso no TID
      //mydisplay.display_message("Nivel baixo",254);
  }

  if (IndiceNivReservatorio == 5)
  {
    IndiceNivReservatorio = 0;
  }
  delay(1000);
}
Dê uma lida no código e tente entender a lógica, veja tb se os pinos que estão aí no código são os que vc quer usar e grave no arduino e teste, veja se ele detecta o nível baixo do reservatório. Acho que vai funcionar mas ainda sim é bom vc testar.

A partir do momento que vc fez isso e deu certo, aí sim é hora de juntar os dois programas. Como vc faz isso? Aqui eu vou deixar nas suas mãos mas vou te dar as instruções pq é fácil.

A primeira coisa que vc vai fazer é copiar o arquivo .ino desse programa e jogar na mesma pasta do programa do computador de bordo. Abra a IDE do Arduino que vc vai ver que na parte superior vai ter duas abas, uma com o código do computador de bordo e outra com o programa acima. Agora os dois programas estão formando um só.

Todas as declarações de variáveis existentes no programa acima vc vai tirar e vai colar no programa do computador de bordo junto com as declarações existentes.
O conteúdo do "void setup" do programa acima, ou seja, os pinMode, vc vai tirar do programa acima e vai colocar dentro do "void setup" do programa do computador de bordo. Elimine por completo o "void setup" do programa acima.
O "void loop()" do programa acima vc vai renomear pra qualquer outra coisa, deixe "void nivel_reservatorio()".
Agora vem a a parte importante da integração. Vc quer uma checagem por tempo, certo? Dentro do programa do computador de bordo existe uma rotina que roda sempre que é a "coisas_a_fazer_sempre()", e dentro dela tem uma subrotina que roda a cada segundo. Vc vai colocar "nivel_reservatorio();" sem aspas, logo abaixo do trecho:

Código: Selecionar todos

  if (intervaloSecsC >= 1)
  {
    zera_intervalo_C();
Esse trecho de código só aparece uma vez dentro do programa do computador de bordo, então não tem como errar. Vai ficar assim:

Código: Selecionar todos

  if (intervaloSecsC >= 1)
  {
    zera_intervalo_C();
    nivel_reservatorio();
Pronto. Vc integrou os dois programas.

Vc vai precisar fazer ajustes depois, como remover o delay(1000); que eu deixei no programa acima, além de descomentar o "mydisplay.display_message("Nivel baixo",254);" pra poder aparecer a mensagem de nível baixo no TID. Vai ter outros ajustes menores pra fazer e depois a gente discute elas mas o grosso ta aí.


cansei
:: Piquet ::
Mensagens: 319
Registrado em: Quinta-feira 06 2008f Março 2008 10:30:35 PM
Localização: São Paulo - SP
Modelo do veiculo: CORSA HATCH 1 8 FLEXPOWER
Ano de fabricação: 2004

Mensagem por cansei »

cansei escreveu:A primeira coisa que vc vai fazer é copiar o arquivo .ino desse programa e jogar na mesma pasta do programa do computador de bordo. Abra a IDE do Arduino que vc vai ver que na parte superior vai ter duas abas, uma com o código do computador de bordo e outra com o programa acima. Agora os dois programas estão formando um só.
Faltou dizer nesse trecho que vc vai copiar o arquivo .ino pra pasta do programa do computador de bordo, vai abrir a IDE do arduino, e na IDE vc abre só o programa do computador de bordo que aí sim, vc vai ver que vai aparecer as duas abas. A do computador de bordo e a do seu programa.


gui_srs
:: Super ::
Mensagens: 81
Registrado em: Quinta-feira 19 2016f Maio 2016 05:31:31 PM
Localização: Santa Rita do Sapucaí - MG
Modelo do veiculo: MONTANA SPORT 1.8 MPFI FLEXPOWER
Ano de fabricação: 2007
Contato:

Mensagem por gui_srs »

Boa tarde pessoal!

Presentinho de final de semana pra vocês!

DESBLOQUEIO DO TID VIA OPCOM.

Sim, é possível. :)

Segue tutorial:
https://youtu.be/4NyPkAGoM6U

Espero que gostem.
Abraços!


robsonlobinho
:: Wind ::
Mensagens: 49
Registrado em: Terça-feira 10 2016f Maio 2016 11:32:49 PM
Localização: Campinas - SP
Modelo do veiculo: CORSA WIND 1.6 MPFI 4P
Ano de fabricação: 2000

Mensagem por robsonlobinho »

Gui tenta acha o layout da placa rs ja tentei nao consigo fazer

Enviado de meu GT-I9515L usando Tapatalk


gui_srs
:: Super ::
Mensagens: 81
Registrado em: Quinta-feira 19 2016f Maio 2016 05:31:31 PM
Localização: Santa Rita do Sapucaí - MG
Modelo do veiculo: MONTANA SPORT 1.8 MPFI FLEXPOWER
Ano de fabricação: 2007
Contato:

Mensagem por gui_srs »

robsonlobinho escreveu:Gui tenta acha o layout da placa rs ja tentei nao consigo fazer

Enviado de meu GT-I9515L usando Tapatalk
Opa e ae Robson!

Vou procurar aqui. Acabei não tendo tempo...



Ah, esqueci de dar um Feedback pro pessoal em relação a Autonomia usando a ultima versão do Cansei:

Percebi uma ligeira melhora. Não tenho notado variações superiores a 10km andando em locais mais planos.
Claro que quando se pega morros essa variação chega a dar uns 20km.

Mas andando no plano ela se mostrou bem estável, variando sempre naquela média entre 5-10KM pra mais ou pra menos.
Estou satisfeito com o resultado. :)

Abraços!


cansei
:: Piquet ::
Mensagens: 319
Registrado em: Quinta-feira 06 2008f Março 2008 10:30:35 PM
Localização: São Paulo - SP
Modelo do veiculo: CORSA HATCH 1 8 FLEXPOWER
Ano de fabricação: 2004

Mensagem por cansei »

gui_srs escreveu:Boa tarde pessoal!

Presentinho de final de semana pra vocês!

DESBLOQUEIO DO TID VIA OPCOM.

Sim, é possível. :)

Segue tutorial:
https://youtu.be/4NyPkAGoM6U

Espero que gostem.
Abraços!
Muito bom hein, finalmente temos isso bem documentado. Parabéns.
gui_srs escreveu:Ah, esqueci de dar um Feedback pro pessoal em relação a Autonomia usando a ultima versão do Cansei:

Percebi uma ligeira melhora. Não tenho notado variações superiores a 10km andando em locais mais planos.
Claro que quando se pega morros essa variação chega a dar uns 20km.

Mas andando no plano ela se mostrou bem estável, variando sempre naquela média entre 5-10KM pra mais ou pra menos.
Estou satisfeito com o resultado. :)

Abraços!
Legal, parece então que finalmente chegamos a uma versão final do software. Até pelo menos alguém encontrar algum bug haha
Ainda tem umas coisas bobas por fazer mas já não são tão essenciais.

Aproveitando, fiz uma pequena atualização no diagrama do circuito. Lembra quando a gente discutia a questão de salvar os dados na memória, que no meu carro a ideia de deixar o arduino ligado após desligar o motor fazia o painel ser retroalimentado (o que fazia ele ficar apitando), mesmo com a chave fora do contato?
Pois bem, achei a solução e ela é bem simples, precisei só colocar um diodo antes do regulador:

Imagem

No Astra pode não acontecer nada de muito visível mas eu recomendo que vc coloque o diodo no seu circuito tb.

ChavesHe, não sei se vc ainda ta acompanhando o tópico mas eu terminei de montar o acendimento automático dos faróis pelo arduino como a gente conversou algum tempo atrás. Funciona igual a um sensor crepuscular de fábrica, ficou muito bom... coloquei até um menu dentro do computador de bordo pra poder ligar e desligar o sensor, vou ver se um dia gravo um vídeo disso.


ChavesHe
:: Super ::
Mensagens: 54
Registrado em: Sexta-feira 29 2016f Janeiro 2016 10:49:16 AM
Localização: Osasco - SP
Modelo do veiculo: CORSA HATCH PREMIUM 1.4 ECONOFLEX
Ano de fabricação: 2009

Mensagem por ChavesHe »

cansei escreveu: ChavesHe, não sei se vc ainda ta acompanhando o tópico mas eu terminei de montar o acendimento automático dos faróis pelo arduino como a gente conversou algum tempo atrás. Funciona igual a um sensor crepuscular de fábrica, ficou muito bom... coloquei até um menu dentro do computador de bordo pra poder ligar e desligar o sensor, vou ver se um dia gravo um vídeo disso.
Cansei estou acompanhando cada post rsrs
Mas tive uns problemas e acabei não mexendo mais no carro, ontem peguei o material necessário para fazer o sensor e fui atrás de aprender a usar o transistor, acredito que vou ter q usar ele no farol já q meu carro não possui BCM.

E agora vendo que existe a possibilidade de desbloqueio do TID pelo op-com deu até uma animada a mais =D


danilohr
:: Millennium ::
Mensagens: 110
Registrado em: Segunda-feira 11 2006f Setembro 2006 06:17:32 PM
Localização: São Bernardo do Campo - SP
Modelo do veiculo: CORSA (DEMAIS)
Ano de fabricação: N/I

Mensagem por danilohr »

Parabéns pelo projeto, estou acompanhando desde semana passada somente (não sabia que tinha essa possibilidade), mas li todas as paginas e me interessei muito em fazer.
Cheguei a fazer o projeto do MID e fiquei com ele por muito tempo, mas como tive problemas com ele, acabei voltando pro TID mas a fiação continua intacta, então vou ter um pouco mais de facilidade em fazer esse processo (ou não).
Vou fazer a lista dos componentes para comprar, mas ficou uma duvida. Cansei, vc usa o circuito do gui_srs para o timer ou somente o do esquema que vc passou a pouco atualizado????


gui_srs
:: Super ::
Mensagens: 81
Registrado em: Quinta-feira 19 2016f Maio 2016 05:31:31 PM
Localização: Santa Rita do Sapucaí - MG
Modelo do veiculo: MONTANA SPORT 1.8 MPFI FLEXPOWER
Ano de fabricação: 2007
Contato:

Mensagem por gui_srs »

cansei escreveu: Muito bom hein, finalmente temos isso bem documentado. Parabéns.
Pois é cara, fiquei bem feliz em ver que é possível fazer isso de uma forma mais simples, sem ter que ficar na mão dos outros, sem depender da boa vontade dos profissionais das concessionárias da GM e nem pagar os preços absurdos que eles pedem pelo serviço.
Creio que isso será de enorme ajuda para quem interesse em fazer o projeto.
cansei escreveu:
Legal, parece então que finalmente chegamos a uma versão final do software. Até pelo menos alguém encontrar algum bug haha
Ainda tem umas coisas bobas por fazer mas já não são tão essenciais.

Aproveitando, fiz uma pequena atualização no diagrama do circuito. Lembra quando a gente discutia a questão de salvar os dados na memória, que no meu carro a ideia de deixar o arduino ligado após desligar o motor fazia o painel ser retroalimentado (o que fazia ele ficar apitando), mesmo com a chave fora do contato?
Pois bem, achei a solução e ela é bem simples, precisei só colocar um diodo antes do regulador:

Imagem

No Astra pode não acontecer nada de muito visível mas eu recomendo que vc coloque o diodo no seu circuito tb.
Cansei,

Então cara, creio que o software já está meio que finalizado se for ver.
O que você diz por 'coisas bobas'? Alguma função a mais ou correções mesmo?

Quanto a questão do diodo, interessante.
Porém, isso não irá dispensar a necessidade do timer e deixar o Arduino ligado direto, ou vai?
O meu da maneira que está funcionando, com Timer e o EON lá tá perfeito, não tive nenhum problema até o momento.

Essa questão do diodo é mais por proteção mesmo ou vai ter algum outro objetivo no projeto?

Ah, falando em circuito e timer, vou subir o layout do circuito que eu montei e disponibilizar pro pessoal que quiser confeccionar a PCB.


robsonlobinho
:: Wind ::
Mensagens: 49
Registrado em: Terça-feira 10 2016f Maio 2016 11:32:49 PM
Localização: Campinas - SP
Modelo do veiculo: CORSA WIND 1.6 MPFI 4P
Ano de fabricação: 2000

Mensagem por robsonlobinho »

Aee vlww gui

Enviado de meu GT-I9515L usando Tapatalk


Responder
  • Tópicos Semelhantes
    Respostas
    Exibições
    Última mensagem

Voltar para “Tutoriais”