LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: almamater em 25 de Maio de 2013, 16:49

Título: HC-05 Ajuda (ELM327) & Alimentação
Enviado por: almamater em 25 de Maio de 2013, 16:49
Olá,

Preciso de um esclarecimento, tenho um módulo bluetooth HC-05 + board (KEY,VCC,GND,TX,RX,STATE).

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimageshack.us%2Fscaled%2Fthumb%2F534%2Fbluetoothmodulebb.png&hash=de50e105b7027d59ee198c49b71eec94066b6992) (http://imageshack.us/photo/my-images/534/bluetoothmodulebb.png/)

Preciso de implementar este módulo num circuito com Arduino em que qdo se liga estabeleça automaticamente uma ligação com outro módulo bluetooth (Slave), dúvidas:


Se for sempre necessário configurar o módulo como referi no ponto 2, é por isso que existe o pino 11 (RESET) para que o desligar\ligar do módulo possa ser automático e não tenha de ser manual?
Título: Re: HC-05 Ajuda (Master)
Enviado por: andre_f_carvalho em 25 de Maio de 2013, 18:50
eu usei esse modulo num pic a 9600baud e usei o tx e rs e enviava e recebia os dados.. na electrónica só fiz o divisor de tensão dos dados que enviava do pic para o bluetooth com o pic a 5v e o modulo a 3.3v
Título: Re: HC-05 Ajuda (Master)
Enviado por: kast em 26 de Maio de 2013, 11:52
Já utilizei esse módulo com um arduino, que comunicava por bluetooth com o meu Tablet Asus Prime.

Na altura só precisei de verificar se era possível comunicar. Mais tarde passei a utilizar outro tipo de módulos (não bluetooth) para comunicação RF.

Utilizei a aplicação blueterm no tablet. Acho que tenho um tópico sobre isto por aí.
Título: Re: HC-05 Ajuda (Master)
Enviado por: almamater em 27 de Maio de 2013, 12:18
Bom, já descobri que configurando o módulo com outro e depois colocando o CMODE=0 ele da próxima vez liga-se automaticamente ao módulo slave utilizado anteriormente.

Estava a tentar estabelecer ligação com um módulo bluetooth ELM327 (http://www.ebay.in/itm/ELM327-OBDII-OBD2-V1-4-Bluetooth-Diagnostic-Interface-/120946841935)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimageshack.us%2Fscaled%2Fthumb%2F694%2Fy513.jpg&hash=2a399082410600d09c2800088d2d4675d5c9b3aa) (http://imageshack.us/photo/my-images/694/y513.jpg/)


Com o HC-05 consigo fazer a pesquisa de equipamentos bluetooth, ele detecta o 'chx' que é este adaptador ELM327, mas não consigo emparelhar.. Faço AT+PAIR=(...),20 e ele diz apenas 'Fail'...

Acho que antes do comando PAIR não tenho de fazer mais nada, ele já está como Master e detecta-o e tudo..

Acham que posso ligar o Adptador ELM327 a uma fonte 12 DC em casa? Não apetece ir ao carro sempre que quero testar a comunicação do HC-05 com ele..

Nas informações tem:

"Operating voltage: 12V from cars battery, internal protection from short circuits/overvoltages"

Será que posso ligá-lo desta forma ou tem mesmo de ser no carro? Ele tem 1 pino de Vcc e 2 GND, podia utilizar os mesmos mas não sei se faço mal  ::)




Título: Re: HC-05 Ajuda (ELM327)
Enviado por: jm_araujo em 27 de Maio de 2013, 12:55
Podes alimentar pelos 12V.
Os módulos ELM327 são lixados de estabelecer a ligação, mesmo com um telemóvel ou PC. O que tenho tem uma chave estranha ("6789"), e só aceita a ligação os primeiros 30 segundos depois de ser ligado à alimentação.



Título: Re: HC-05 Ajuda (ELM327)
Enviado por: almamater em 27 de Maio de 2013, 12:59
Ah boa dica!! não sabia essa dos 30 segundos.. eu pelo Android consigo na boa mas ontem estava a testar com 1 Arduino + HC-05 e sempre 'Fail'.

Nesse caso vou ligá-lo a 12v em casa e já posso testar com mais tempo e não tenho de levar o portatil para o carro  ;D
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: filipe89 em 27 de Maio de 2013, 13:51
tenho um módulo do OBD e tem a comunicação sempre ativa, tem que se meter o pin 1234.

O modulo bluetooth também tenho um, também está sempre activo se não estou em erro com o mesmo pin, acontece é que se tiver algumas horas ligado e tentar emparelhar depois, dá-me erro. Tenho que desligar e voltar a alimentar.

O modulo já soldado na placa com os pernos, penso que não tem regulador de tensão para 5V mas acho que passa os 5 para os 3V
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: almamater em 27 de Maio de 2013, 22:50
Pode ser ligado a uma fonte de PC? ambos os GROUNDs têm de ser ligados (pino 4 e 5) ?

Não estou a conseguir.. aplicando 12V no pino 16 e GND no 4 e 5 ele não liga.. se calhar tem mesmo de ser no carro!  :(
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: filipe89 em 27 de Maio de 2013, 23:45
Liga o Vcc e o GND na fonte dos pc's velhos, o preto GND e o vermelho 5V VCC e vê se o led pisca.
Piscar rápido significa que não está emparelhado, se piscar de 2 em 2seg, coisa assim, está emparelhado.

Acho que esse modulo não tem regulador de tensão, se não tiver e se ligas-te a 12V possivelmente não volta a ligar.
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: filipe89 em 27 de Maio de 2013, 23:48
Estas a falar no pino 16, tens um modulo soldado a uma placa como tens na tua primeira imagem ou só uma placa sem pinos?
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: almamater em 28 de Maio de 2013, 00:02
já descobri.. estava a ligar no pino errado, o pino 16 era do outro lado, estava a olhar para uma imagem com a pinagem mas do conector do carro, do lado do adaptador é ao contrário  ::)

Agora já liga.. mas não consigo fazer o 'PAIR'.. dá sempre FAIL...:

Código: [Seleccione]
+ROLE:1
OK
+INQ:11:9:150673,1F00,7FFF
OK
+RNAME:CHX
OK
+BIND:11:9:150673
OK
AT+PAIR=11,09,150673,20
FAIL


Irritante é que com o telemóvel ele consegue logo emparelhar e ligar.. não sei que raio de comandos tenho de usar tb para conseguir com o HC-05
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: almamater em 28 de Maio de 2013, 00:27
Depois de muita luta já emparelhei e liguei  ;D tive de mudar a password do HC-05 para a mesma do ODBII.. (6789).. grr
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: almamater em 29 de Maio de 2013, 10:41
Alguém me pode dizer como consigo enviar\receber informação pela IDE do arduino.. grr já testei várias coisas mas acabo sempre por receber caracteres especiais estranhos.. algo na minha comunicação serial com o OBDII está errado..:

Código: [Seleccione]
#include <SoftwareSerial.h>
#define RxD 7                //Arduino pin connected to Tx of HC-05
#define TxD 8                //Arduino pin connected to Rx of HC-05

SoftwareSerial blueToothSerial(RxD,TxD);

void setup()
{
 Serial.begin(9600);
 blueToothSerial.begin(9600);
 pinMode(RxD, INPUT);
 pinMode(TxD, OUTPUT);
   
 }
 
 void loop() {
 
  if (blueToothSerial.available()) {        //PORTA DO BLUETOOTH RX1 + TX1 (7 e 8)
    int inByte = blueToothSerial.read();
    Serial.write(inByte);
   }
 

  if (Serial.available()) {   // Ler a porta Serial Arduino
    int inByte = Serial.read();
    blueToothSerial.print(inByte);   
  }
}

Supostamente os comandos são enviados com carriage return ("\r"), já tentei de várias maneiras e mesmo alterando o código de envio\recepção mas desta forma os comandos não estão a chegar como deviam.. pois ele para além de não os executar (por exemplo o reset com "ATZ") devolve caracters estranhos..   

Qual a melhor maneira de enviar comandos do tipo "ATZ" pelo Arduino? Se testar com aplicações de Bluetooth Terminal no Android a coisa corre bem, ou mesmo pelo PC com o um terminal tb, apenas com o Arduino é que não consigo.. dam!


Título: Re: HC-05 Ajuda (ELM327)
Enviado por: filipe89 em 29 de Maio de 2013, 15:51
1-quase de certeza que a comunicação com o OBD é acima dos 9600bps
2- não a melhor pessoa para dizer isto, mas acho que o arduino, fora o mega, só tem uma UART e acho que só por ai podes fazer comunicação série.

PS: o protocolo OBD comunica com dados em hexadecimal
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: filipe89 em 29 de Maio de 2013, 22:48
Fui fazer o teste, e consegui emparelhar e isso tudo.
defini o HC-05 com AT+UART=115200,0,0

Com um terminal ligado ao HC-05 também 115200bps consegui enviar informação e receber. O mesmo tem que ser feito no arduino, acho que só mesmo nos pinos Rx Tx
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: almamater em 29 de Maio de 2013, 23:23
Já vou testar, + 20min e já digo ;)
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: filipe89 em 30 de Maio de 2013, 01:20
Para fazeres alguns testes de comunicação:
http://www.obdsol.com/articles/obd-software-development/reading-real-time-data/ (http://www.obdsol.com/articles/obd-software-development/reading-real-time-data/)
Mais info sobre os dados OBD2:
http://en.wikipedia.org/wiki/OBD-II_PIDs (http://en.wikipedia.org/wiki/OBD-II_PIDs)

depois quando souberes fazer médias instantaneas avisa ;P
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: almamater em 30 de Maio de 2013, 19:34
Bom, acho que já consegui alguma coisa, estava associado ao tipo de variável que defini:

Código: [Seleccione]
#include <SoftwareSerial.h>
#define RxD 7                //Arduino pin connected to Tx of HC-05
#define TxD 8                //Arduino pin connected to Rx of HC-05

SoftwareSerial blueToothSerial(RxD,TxD);

void setup()
{
 Serial.begin(38400);
 blueToothSerial.begin(38400);
 pinMode(RxD, INPUT);
 pinMode(TxD, OUTPUT);
  
 }
 
 void loop() {
  
  if (blueToothSerial.available()) {        //PORTA DO BLUETOOTH RX1 + TX1 (7 e 8)
    char inByte = blueToothSerial.read();
    Serial.write(inByte);
   }
  

  if (Serial.available()) {   // Ler a porta Serial Arduino
    char inByte = Serial.read();
    blueToothSerial.print(inByte);  
  }
}

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimageshack.us%2Fscaled%2Fthumb%2F829%2Ftestxrx.png&hash=e20417e24b3f3f0b87e5a94c5aaa6d9a61dc5d8f) (http://imageshack.us/photo/my-images/829/testxrx.png/)

Agora parece que está a enviar e receber bem os comandos pelo serial monitor do Arduino IDE..
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: filipe89 em 02 de Junho de 2013, 00:00
Aqui fica uma biblioteca ligeiramente modificada por mim e o original pode se encontrar aqui:www.sigalabs.com (http://www.sigalabs.com)

tive que meter o modulo bluetooth ligado à porta série, e a porta série do PC ligada aos pinos 7 e 8 porque não sei mudar o parâmetro obd2.Init(&Serial); para mudar de porta

Quem não usar o baudrate de 115200bps tem que mudar no .cpp também na linha 100.

Já está pronto para ligar um LCD 16x2 e faz médias um bocado manhosas. Quem quiser/souber corrigir....
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: almamater em 10 de Junho de 2013, 22:08
Bem, após alguns testes e adaptações no código já consigo ter o meu conta rotações a funcionar:  ;D

Teste:
http://youtu.be/VxsIu9l7Ipk (http://youtu.be/VxsIu9l7Ipk)


Agora vou ver que mais informações posso\consigo tirar e adaptar, depois gostava de fazer uma caixa (não sei como) para montar isto de maneira a que ficasse visível e bonito.. no entanto tenho ainda o problema da alimentação, uma pilha de 9v não deve durar muito tempo.. alguma ideia? (do isqueiro do carro talvez através de algum adaptador que não seja apenas de 5v mas penso que tinha de colocar alguns condensadores ou assim..)
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: filipe89 em 10 de Junho de 2013, 23:49
para a alimentação vais buscar 12V ao isqueiro e metes um 7805 a regular para 5 volts ou se quiseres um 7809 a regular para 9V

Esse programa dá-me aspecto de ser um bocado limitado, podes usar o LCD para te dar mais informação.
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: almamater em 11 de Junho de 2013, 00:26
Sim posso usar o LCD para outra coisa qualquer, isto foi mesmo só um teste mais para os Leds e RPM.

Relativamente aos 12v do isqueiro, usando um 7809 não há nenhum problema a nível de ruído na alimentação para o Arduino ? Tenho de experimentar.
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: filipe89 em 11 de Junho de 2013, 01:15
não, não há problemas e segundo esquemas convém meter um condensador à entrada e outro a saída, mas eu uso só um à entrada porque o ruído num carro é mínimo.
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: senso em 11 de Junho de 2013, 01:33
O ruido num carro é o quê?
Um carro é um horror do ponto de vista eletrico!
Um LM78xx precisa de dois condensadores, DATASHEET pessoal...

Depende de como é que queres fazer as coisas, se assim assim, se devidamente...
Eu usava um fusivel á entrada, um inductor, diodo para protecção de voltagens negativas(por exemplo AC ou um relé a desligar fazem isso), TVS por causa dos load-dump(existem teses feitas só sobre este assunto, com muitos componentes feitos especificamente para proteção de eletrónica num automovel), depois disso tudo, um regulador de tensão, de preferencia comutado(um LM2576-HV(versão automovel com Vin máximo de 60v)), e mais umas quantas bobines espalhadas pelos pontos de alimentação, mas isto sou eu que sofro de OCD..
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: filipe89 em 11 de Junho de 2013, 12:44
eu sei que o 78xx leva 2 condensadores.

Esse estudo deve ter sido feito para carros eléctricos.
Já uso um 7809 no carro à bastante tempo só com um condensador e não tenho problemas nenhuns... ou tenho a bateria sempre muito boa que me filtra o ruído....
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: almamater em 11 de Junho de 2013, 13:08
Por acaso também já li noutros sites que alimentar um equipamento (Arduino) através do carro pode ser complicado..  :'(

filipe89, consegues ler através do OBDII a velocidade atual do carro e a temperatura do motor? Estou aqui às voltas com os comandos certos para enviar mas ainda não consegui acertar..
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: filipe89 em 11 de Junho de 2013, 14:56
estou a ler os dados todos que o carro permite. no link da wikipédia encontras os comandos a enviar e como transformar o que recebes.

No exemplo que aqui deixei envio só o endereço em hexadecimal, e que depois os comandos são tratados numa biblioteca.
Para receber igual, só recebo em variável.
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: almamater em 11 de Junho de 2013, 19:23
Ok, o código da tua biblioteca está feito para o stn1110 e não para o ELM327, vou tentar adaptar alguma coisa
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: filipe89 em 11 de Junho de 2013, 21:30
Eu tenho uma replica do ELM327 e está a funcionar.
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: almamater em 11 de Junho de 2013, 22:14
Ah assim sendo vou testar esse código no meu tb  :D

Uma pergunta para ver se percebo isto duma vez por todas. Quero saber os PID´s que o meu carro suporta, enviado o comando "0100" recebo a info: 41 00 BE 3E B8 11

A partir daqui e pelo pouco que percebo na wikipedia, tenho de convertar cada um a código binário:

B: 1011
E: 1110
3: 0011
E: 1110
B: 1011
8: 1000
1: 0001
1: 0001

Mas depois não percebo como é que sei quais os PIDs suportados ou não mediante o código binário.. encontrei este site: http://www.go-ev.com/PID_Calculator.html (http://www.go-ev.com/PID_Calculator.html) onde tenho apenas de colocar o resultado "BE 3E B8 11" mas depois ele pede-me o PID offset (0,1,2), isto é o quê? o Modo que usei? tem algo a ver com o comando 0100 ?
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: filipe89 em 11 de Junho de 2013, 23:08
Esse primeiro código é um bocado irrelevante desde que não mudes de carro ou não envies um pedido que o carro não suporte, mas para essa biblioteca necessita porque ele guarda na memória o que pode enviar ou não.
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: filipe89 em 11 de Junho de 2013, 23:13
Ainda não me tinha debruçado sobre a questão do request PID´s

Segundo entendi se der o BE ......
dá B: 1011 E: 1110 ou seja 1011 1110

no 0x_ _
podes pedir o 01
não podes pedir 02
podes pedir 03, 04 ............
não podes pedir o 08 etc...
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: almamater em 13 de Junho de 2013, 15:28
Obrigado pela dica, é mesmo isso!

Já consegui obter a Velocidade, temperatura e estava a tentar obter tb o 'Engine Load' em % mas devo ter feito algo de errado, tenho de rever o código.

Relativamente à mudança\Gear em que o carro está existe algo que possamos usar? Estava a pensar em relacionar as RPM´s com a Velocidade atual e a partir daí dizer +/- em que mudança está, isto é útil porque em 5ª as RPMs sobem para as 3500 +/- (em viagem) e assim os LEDs de controlo RPM vão sempre a vermelho (mas isto consigo controlar), mas em rotações mais baixas é complicado saber ao certo a mudança atual..
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: filipe89 em 13 de Junho de 2013, 20:17
essa coisa de veres a mudança vai ser complicado, vais ter que fazer um estudo das rotações com velocidade...

tens que ver tópicos acerca da comutação da mudança

mas isto é muiiiiiiiiiito relativo depende da condução de cada um e do carro...
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: almamater em 13 de Junho de 2013, 22:17
Pois é, depende da condução de facto, mas é apenas para dizer +/-, a Citroen Picasso tem no computador de bordo a indicação da mudança que tens de meter a seguir, mas às vezes vais em 3ª e as rotação estão mais elevadas e ele diz para meteres a 5ª (o que não é correcto).
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: senso em 13 de Junho de 2013, 22:21
Porque é que não é correcto?
Ninguem tem obriga a passar as mudanças todas..
Tanta vez que passo de 3ª para quinta..
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: almamater em 13 de Junho de 2013, 22:30
Porque é que não é correcto?
Ninguem tem obriga a passar as mudanças todas..
Tanta vez que passo de 3ª para quinta..

Oh sim cada um passa como quiser, eu no meu faço sempre o circuito 1ª-2ª-3ª-4ª-5ª e vice versa até à 2ª :), só quando estou na velocidade certa para a próxima mudança é que mudo, depende tb da potência do motor e a capacidade que tem em levar o carro em 5ª numa situação em que se calhar seria melhor passar pela 4ª..
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: senso em 13 de Junho de 2013, 22:57
Depende da caixa, na strakar de 3ª para 4ª tem um salto de 750rpm, de 4ª para 5ª, são menos de 500rpm, é só levar 3ª ás 3 mil e passar para 5ª, se passares sempre seguido com aquela caixa passas a vida a meter e tirar mudanças.
Título: Re: HC-05 Ajuda (ELM327)
Enviado por: filipe89 em 14 de Junho de 2013, 03:33
querias qualquer coisa assim:

http://www.carrosinfoco.com.br/carros/mercado-automotivo/2012/03/aplicativo-para-smartphone-ou-tablet-auxilia-na-economia-de-combustivel/ (http://www.carrosinfoco.com.br/carros/mercado-automotivo/2012/03/aplicativo-para-smartphone-ou-tablet-auxilia-na-economia-de-combustivel/)

tem que se ver, mas para já digo que tem que saber velocidade e rotações. Depois se calhar o LOAD, porque se o carro tiver a morrer está a aumentar o consumo.

Mas para fazer estas contas já tinhas que saber ante mão quais eram os valores ideais.
Título: Re: HC-05 Ajuda (ELM327) & Alimentação
Enviado por: Hugu em 20 de Fevereiro de 2014, 04:19
o meu pópó tb tem avisador de sugestao pra mudar mudança, mas eu mtas vezes salto algumas mudanças! acho que é normal, pelo menos pra mim.. e tb por alguma razao um carro de mudanças manuais tem menos consumos que um carro com mudanças automaticas.. o carro conhece as velocidades, mas o condutor conhece mais variaveis, como a estrada, inclinaçoes e essas coisas que condicionam usar uma mudança mais alta ou nao durante o percurso..