Blz, muito obrigado por ajudar e manter esse projeto ativo por tanto tempo, é um dos poucos projetos que tem aqui que quero fazer que ainda está ativocansei escreveu:Só pelo ano já da pra dizer que não tem. Até onde sei só os corsas até 2006 saiam com BCM.fialho escreveu:2 Duvidas:
1) o meu é aquele 12/12 com airbag, como faço pra saber se ele tem BCM? (eu acho que tem mas queria confirmar)
Pra saber se tem ou não é só ver como vc faz pra acender a luz do teto. Se no seu carro vc puxa o botão pra acender então seu carro não tem BCM. Se vc aperta o botão pra acender então ele tem BCM.
Mas já te falo que pro computador de bordo é indiferente ter BCM ou não viu, o que muda é só a questão da alavanca R/S.
[TUTORIAL] - Computador de bordo através do TID
Moderadores: Eduardo Lirani, WJUNIOR, MatheusM, Organizadores do Fórum
- 
				fialho
 - :: Wind ::
 - Mensagens: 9
 - Registrado em: Quinta-feira 30 2015f Abril 2015 07:33:20 PM
 - Localização: São Paulo - SP
 - Modelo do veiculo: CORSA (DEMAIS)
 - Ano de fabricação: N/I
 
- 
				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
 
Seria bom vc fazer o contador de tempo pra chamar essas funções viu. Duplica as funções zera_intervalo e calcula_intervalo (criando variáveis novas pra não contaminar as outras). Chamar esse termômetro toda hora não é bom.ChavesHe escreveu:Achei o problema do cr.
Obs. Não sei como edita o post.
Mais pra baixo do coisas a fazer sempre tem um contador que roda a cada 1 segundo, vc pode chamar essas duas funções do termômetro lá de dentro que já ajuda bastante.
De nada. Na medida do possível eu sempre dou uma passada aqui.fialho escreveu:Blz, muito obrigado por ajudar e manter esse projeto ativo por tanto tempo, é um dos poucos projetos que tem aqui que quero fazer que ainda está ativo
- thiiagoarts
 - :: Wind ::
 - Mensagens: 21
 - Registrado em: Quarta-feira 01 2012f Agosto 2012 09:36:38 PM
 - Localização: São Sebastião do Passé - BA
 - Modelo do veiculo: CORSA HATCH 1.0 MPFI 8V 71CV
 - Ano de fabricação: 2004
 
Salve galera vi Aqui que teve novidades [emoji122][emoji122][emoji122][emoji122] show de bola
Enviado de meu XT1563 usando Tapatalk
			
			
									
							
										
						Enviado de meu XT1563 usando Tapatalk
- 
				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
 
Cansei,
Não estou conseguindo, criei as novas funções de tempo e mesmo assim continua dando o bug do até logo.
Tirei o simbolo e tbm aparece o até logo.
E está atrapalhando o consumo, ele não identifica direto se o carro está andado.
Se poder da uma olhada como fiz.
Chamada das funções.
As funções novas.
Muito obrigado!
			
			
									
							
										
						Não estou conseguindo, criei as novas funções de tempo e mesmo assim continua dando o bug do até logo.
Tirei o simbolo e tbm aparece o até logo.
E está atrapalhando o consumo, ele não identifica direto se o carro está andado.
Se poder da uma olhada como fiz.
Chamada das funções.
Código: Selecionar todos
//Calculo de Vel, vel max e Consumo em L/h
  calcula_intervalo_C();
  if (intervaloSecsC >= 1)
  {
    zera_intervalo_C();
    //Coloque abaixo a chamada de funções extras que precisam rodar a cada 1 segundo em background sem precisar exibir nada no TID
    tempe_ac(); // Função do termometro
     re_ac(); // Função acionamento do A\C
    
    //Calculo vel e vel max
    VelKmPorHBKG = (DistVelCountBKG/16) * fatorVel * 3.6;
    DistVelCountBKG = 0.0;
    if (VelKmPorHBKG > VelKmMax)
    {
      VelKmMax = VelKmPorHBKG;
    }As funções novas.
Código: Selecionar todos
void exibe_simbolo_cr()
{
  if (flag_simbolo_cr == 0)
  {
    mydisplay.display_symbol(4);
    flag_simbolo_cr = 1;
  }
}
void apaga_simbolo_cr()
{
  
   if (flag_simbolo_cr == 1)
  {
    mydisplay.clear_symbol(4);
    flag_simbolo_cr = 0;
  }
}
void zera_intervalo_Ac() //Momento zero/inicial. Marca o instante que começa a contagem
{
  milisecac = millis();
  secsac = milisecac/1000;
}
void calcula_intervalo_Ac() //Calcula o tempo que passou desde o momento 0
{
  milisec1ac = millis();
  secs1ac = milisec1ac/1000;
  intervaloMiliSecsac = milisec1ac - milisecac;
  intervaloSecsac = secs1ac - secsac;
}
void tempe_ac()
{
      byte type_s;
      byte data[12];
      byte addr[8];
      
      if ( !ds.search(addr)) {
        ds.reset_search();
        return;
      }
      // the first ROM byte indicates which chip
      switch (addr[0]) {
        case 0x10:
          type_s = 1;
          break;
        case 0x28:
          type_s = 0;
          break;
        case 0x22:
          type_s = 0;
          break;
        default:
          return;
      }
      ds.reset();
      ds.select(addr);
      ds.write(0x44, 1);        // start conversion, with parasite power on at the end
      ds.reset();
      ds.select(addr);
      ds.write(0xBE);         // Read Scratchpad
      for (byte i = 0; i < 9; i++) {           // we need 9 bytes
        data[i] = ds.read();
      }
      int16_t raw = (data[1] << 8) | data[0];
      if (type_s) {
        raw = raw << 3; // 9 bit resolution default
        if (data[7] == 0x10) {
          // "count remain" gives full 12 bit resolution
          raw = (raw & 0xFFF0) + 12 - data[6];
        }
      } else {
        byte cfg = (data[4] & 0x60);
        if (cfg == 0x00) raw = raw & ~7;  // 9 bit resolution, 93.75 ms
        else if (cfg == 0x20) raw = raw & ~3; // 10 bit res, 187.5 ms
        else if (cfg == 0x40) raw = raw & ~1; // 11 bit res, 375 ms
        //// default is 12 bit resolution, 750 ms conversion time
      }
      celsius = (float)raw / 16.0;
}
void re_ac()
{
  
  calcula_intervalo_Ac();
  if ( intervaloMiliSecsac <3) {
  //Aciona o rele
  if ( celsius > 24 ){
  //digitalWrite(8, HIGH);
  exibe_simbolo_cr();
  zera_intervalo_Ac();
  }
  else  if (celsius < 24) {
    //Desliga o rele
  //digitalWrite(8, LOW);
  apaga_simbolo_cr();
  zera_intervalo_Ac();
  }
  }
}
void menu_Ac()
{
  if (flagAc == 0)
  {
    calcula_intervalo();
    if (intervaloMiliSecs < 100)
      mydisplay.display_message(F("A/C"),255);
    else if (intervaloSecs >= 4)
      flagAc = 1;
  }
  else if (flagAc == 1)
  {
    calcula_intervalo();
    if (intervaloMiliSecs >= 2000)
    {
      dtostrf(celsius,4,0,texttemp);
      sprintf(textfinal, "Ti %s c", texttemp);
      mydisplay.display_message(textfinal,254);
      exibe_simbolo_colchete();
      zera_intervalo();
    }
  }
}- 
				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
 
Acho que é a leitura do termômetro que ta causando isso. Deleta a chamada da função tempe_ac(); e faz um teste, vê se sem ler o termômetro o problema ainda acontece.
Supondo que isso resolveu o problema, o negócio é ler essa temperatura em intervalos maiores.
As funções que vc criou zera_intervalo_Ac() e calcula_intervalo_Ac() tão ok, então tira a chamada das funções tempe_ac(); e re_ac(); de onde elas tão e coloca elas logo abaixo da chamada da função LED_atividade(); da seguinte forma:
A função re_ac(); vc vai mudar e deixar da seguinte forma:
Faz um teste e veja se assim resolveu.
			
			
									
							
										
						Supondo que isso resolveu o problema, o negócio é ler essa temperatura em intervalos maiores.
As funções que vc criou zera_intervalo_Ac() e calcula_intervalo_Ac() tão ok, então tira a chamada das funções tempe_ac(); e re_ac(); de onde elas tão e coloca elas logo abaixo da chamada da função LED_atividade(); da seguinte forma:
Código: Selecionar todos
  LED_atividade();
  
  calcula_intervalo_Ac();
  if (intervaloSecsac >= 30) {
    tempe_ac();
    re_ac();
    zera_intervalo_Ac();
  }
  
  //Calculo vel e vel max
  VelKmPorHBKG = (DistVelCountBKG/16) * fatorVel * 3.6;  
  Código: Selecionar todos
void re_ac()
{
  //Aciona o rele
  if ( celsius > 24 ){
  //digitalWrite(8, HIGH);
  exibe_simbolo_cr();
  }
  else  if (celsius < 24) {
    //Desliga o rele
  //digitalWrite(8, LOW);
  apaga_simbolo_cr();
  }
}- 
				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
 
Na verdade o bug era na hora de ligar e desligar o A\C, estava rodando com a leitura do termômetro sem problema, mas na hora que chamava a função de ligar e desligar ai dava o erro.cansei escreveu:Acho que é a leitura do termômetro que ta causando isso. Deleta a chamada da função tempe_ac(); e faz um teste, vê se sem ler o termômetro o problema ainda acontece.
Problema resolvido =Dcansei escreveu: Supondo que isso resolveu o problema, o negócio é ler essa temperatura em intervalos maiores.
As funções que vc criou zera_intervalo_Ac() e calcula_intervalo_Ac() tão ok, então tira a chamada das funções tempe_ac(); e re_ac(); de onde elas tão e coloca elas logo abaixo da chamada da função LED_atividade(); da seguinte forma:
A função re_ac(); vc vai mudar e deixar da seguinte forma:Código: Selecionar todos
LED_atividade(); calcula_intervalo_Ac(); if (intervaloSecsac >= 30) { tempe_ac(); re_ac(); zera_intervalo_Ac(); } //Calculo vel e vel max VelKmPorHBKG = (DistVelCountBKG/16) * fatorVel * 3.6;
Faz um teste e veja se assim resolveu.Código: Selecionar todos
void re_ac() { //Aciona o rele if ( celsius > 24 ){ //digitalWrite(8, HIGH); exibe_simbolo_cr(); } else if (celsius < 24) { //Desliga o rele //digitalWrite(8, LOW); apaga_simbolo_cr(); } }
Apenas uma duvida, eu conseguira fazer a mudança de temperatura do acionamento apertando os botões, pensei em algo assim:
- Apertando o botão do pino 11 diminuiria a temperatura.
- Apertando os dois botões aumentaria a temperatura.
Já criei um sub item (apertando o botão do pino 11) e uma variável para a temperatura, mas o lance dos botões estou apanhando um pouco.
- 
				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
 
Então, bolar essa parte é meio chatinho mesmo... apertar os dois botões juntos é uma opção mas vc precisa levar em conta que nunca vai conseguir apertar os dois botões ao mesmo tempo, sempre vai ter uns milissegundos de diferença entre um botão e outro, aí vc precisa fazer um código que leve isso em conta.ChavesHe escreveu:Problema resolvido =D
Apenas uma duvida, eu conseguira fazer a mudança de temperatura do acionamento apertando os botões, pensei em algo assim:
- Apertando o botão do pino 11 diminuiria a temperatura.
- Apertando os dois botões aumentaria a temperatura.
Já criei um sub item (apertando o botão do pino 11) e uma variável para a temperatura, mas o lance dos botões estou apanhando um pouco.
Quando eu tava pensando em fazer isso no meu carro (pro caso de um dia eu conseguir instalar o A/C), eu pensei em fazer o menu de temperatura interna agir como menu de opções, onde apertando o botão R eu entraria nele e passaria a usar o botão R pra aumentar a temperatura e o S pra reduzir, até imaginei como ficaria mostrado no TID:
Código: Selecionar todos
"<S  25  R>" ou "-S  25  R+"Outra opção mais simples é fazer tipo menu opções tb mas quando vc entra no menu o botão R serve só pra aumentar a temperatura, tipo assim:
Código: Selecionar todos
"    25  R>"Código: Selecionar todos
"<R  25    "Código: Selecionar todos
"<     Sair"- 
				Ikaro
 - :: Moderador ::
 - Mensagens: 2837
 - Registrado em: Domingo 28 2004f Novembro 2004 12:58:12 AM
 - Localização: São Paulo - SP
 - Modelo do veiculo: CORSA WAGON GLS 1.6 MPFI
 - Ano de fabricação: 2001
 
Cansei,
Peguei um kit com o Guilherme, já instalei e já fiz uma calibração para acertar a distância.
Está praticamente tudo funcionando, menos a velocidade média total (VM). Ela sempre fica marcando 0 km/h
Tem noção do que pode estar acontecendo?
			
			
									
							
										
						Peguei um kit com o Guilherme, já instalei e já fiz uma calibração para acertar a distância.
Está praticamente tudo funcionando, menos a velocidade média total (VM). Ela sempre fica marcando 0 km/h
Tem noção do que pode estar acontecendo?
- 
				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
 
Hum... acho que encontrei o problema mas preciso simular pra ter certeza.
Me faz um favor, me diz quanto ta marcando a distância total (DT) e o tempo total (TT)
			
			
									
							
										
						Me faz um favor, me diz quanto ta marcando a distância total (DT) e o tempo total (TT)
- 
				Ikaro
 - :: Moderador ::
 - Mensagens: 2837
 - Registrado em: Domingo 28 2004f Novembro 2004 12:58:12 AM
 - Localização: São Paulo - SP
 - Modelo do veiculo: CORSA WAGON GLS 1.6 MPFI
 - Ano de fabricação: 2001
 
Opa!cansei escreveu:Hum... acho que encontrei o problema mas preciso simular pra ter certeza.
Me faz um favor, me diz quanto ta marcando a distância total (DT) e o tempo total (TT)
Nesse exato momento está 5.3km na DT e 0:21:00 no TT.
Fiz um reset há pouco tempo, como dá pra perceber.
- 
				
- Tópicos Semelhantes
 - Respostas
 - Exibições
 - Última mensagem
 
 
- 
				
- 1 Respostas
 - 4326 Exibições
 - 
						Última mensagem por SemControle															
									
								
														
 
 - 
				
- 7 Respostas
 - 3881 Exibições
 - 
						Última mensagem por Corsa1998