Índice:

Arduino Smartphone Coms / Serial Monitor Via Bluetooth HC-05, HC-06: 4 etapas (com imagens)
Arduino Smartphone Coms / Serial Monitor Via Bluetooth HC-05, HC-06: 4 etapas (com imagens)

Vídeo: Arduino Smartphone Coms / Serial Monitor Via Bluetooth HC-05, HC-06: 4 etapas (com imagens)

Vídeo: Arduino Smartphone Coms / Serial Monitor Via Bluetooth HC-05, HC-06: 4 etapas (com imagens)
Vídeo: Proteus Simulation of Bluetooth Module and Arduino | App Development on MIT App Inventor 2024, Dezembro
Anonim
Arduino Smartphone Coms / Monitor Serial Via Bluetooth HC-05, HC-06
Arduino Smartphone Coms / Monitor Serial Via Bluetooth HC-05, HC-06

Isso é extremamente útil se você deseja testar seu esboço em um ambiente do mundo real, longe do seu PC. O resultado é que seu smartphone funciona da mesma forma que o monitor serial Arduino em seu PC. Os módulos Bluetooth HC-05 e HC-06 estão disponíveis por cerca de £ 3 no ebay e há muitos aplicativos gratuitos para smartphones à sua escolha. Existem algumas armadilhas que você provavelmente evitará seguindo os exemplos aqui. O aplicativo de smartphone gratuito usado aqui também pode salvar o texto recebido em um arquivo para uso posterior. Não há necessidade de alterações em seus esboços, pois os mesmos pinos seriais são usados.

Usei isso pela primeira vez ao testar um dispositivo que mede a distância que os carros dão ao me ultrapassar em minha bicicleta. Consegui registrar medições de distância feitas 30 vezes por segundo em meu telefone, onde foram salvas em um arquivo. Analisei isso mais tarde com um vídeo que também gravei usando uma câmera esportiva e meu aplicativo de rastreamento que forneceu minha velocidade e localização.

Você vai precisar de:

  • Seu Arduino favorito (Uno usado aqui)
  • Módulo Bluetooth HC-05 ou HC-06
  • Um smartphone (telefone Android usado aqui) e um aplicativo Bluetooth gratuito

Passos:

  • Instale o aplicativo Bluetooth grátis
  • Configurar módulo Bluetooth
  • Conecte o Bluetooth ao Arduino
  • Carregar esboço de exemplo
  • Sistema de teste

Etapa 1: Instale o aplicativo Bluetooth

Existem muitos aplicativos Bluetooth disponíveis e muitos são gratuitos. Eu uso telefones Android, mas espero que o mesmo seja o caso para os outros sistemas. Decidi usar o BlueTerm 2, pois também oferece a opção de registrar os dados recebidos em arquivo. Também achei muito simples de usar. Então vá para o Google Play e solicite o download do BlueTerm 2.

Depois de instalar o aplicativo, você pode se conectar a dispositivos Bluetooth. Observe que o dispositivo Bluetooth precisa primeiro ser emparelhado com o telefone antes de poder ser usado em qualquer aplicativo:

Ative o BlueTooth: vou em Ajustes> Bluetooth.

O telefone listará os dispositivos já emparelhados e, após alguns segundos, mostrará Dispositivos disponíveis. O nome pode inicialmente ser mostrado como um conjunto de números em vez do nome do dispositivo. No entanto, selecioná-lo mostra o nome e solicita o PIN que geralmente é 1234.

Agora inicie o BlueTerm 2. Clique em configurações, em seguida clique em Conectar dispositivo e selecione conforme necessário. Você pode apenas ligar um módulo HC-05 / HC-06 neste estágio e verificar o processo de emparelhamento se desejar (conecte a alimentação negativa ao aterramento e 5v ao Vcc).

Imagem
Imagem

Etapa 2: Configurar Módulo Bluetooth - Parte 1 - Conexões e HC-06

Se você ficar feliz em usar o nome e a taxa de transmissão padrão, pode pular esta etapa. Os padrões são nome: HC-05 ou HC-06 e baud: 9600. A vantagem de reconfigurar o módulo é que taxas de baud mais rápidas podem ser selecionadas e o nome pode ser definido para algo mais facilmente reconhecido.

A configuração precisa que os comandos sejam enviados de um PC para o módulo por meio de uma conexão serial. Um link serial FDTI USB é ideal, especialmente se tiver uma opção de 3,3v. No entanto, as placas Arduino têm um conversor USB para serial e, portanto, ele também pode ser usado e este é o método mostrado aqui. Para fazer isso, é melhor desabilitar a porta serial do processador principal do Arduino para que possamos nos comunicar entre o PC e o módulo Bluetooth sem interferência.

O esboço para desativar o serial do Arduino simplesmente tem as instruções:

pinMode (0, INPUT):

pinMode (1, INPUT);

na seção de configuração {}.

Anexei o esboço NoSerial.ino. Crie uma pasta chamada ‘NoSerial’ em sua pasta de esboços e adicione NoSerial.ino a ela. Inicie o IDE Arduino, navegue até Arquivo> Sketchbook> esboços> NoSerial para abrir o esboço. Selecione o tipo de placa e a porta no menu Ferramentas e clique no botão de download.

Conexão para configuração

Com o sketch carregado, agora podemos conectar o módulo Bluetooth à placa Arduino. As conexões Tx e Rx são trocadas em comparação com o que faremos mais tarde, pois queremos nos comunicar com a porta do PC para o Monitor Serial e não com o processador principal do Arduino. O PC Tx é conectado ao Arduino Rx e vice-versa.

Observe que os módulos Bluetooth têm níveis de 3,3 V para Tx e Rx. Portanto, um divisor de tensão deve ser usado para a entrada Bluetooth Rx ao conectar a sistemas 5v. A saída Tx do Bluetooth 3.3v geralmente é detectada corretamente por sistemas 5v e, portanto, pode ser conectada diretamente.

Descobri que um divisor de tensão usando resistores 3k3 e 6k8 funciona com taxas de transmissão seriais de 115200.

Os módulos HC05 e HC06 possuem reguladores de tensão integrados e, portanto, funcionam com Vcc conectado a 5v.

Então conecte:

  • Resistor 3k3 para D0
  • Resistor 6k8 para aterramento
  • Conecte as outras extremidades dos dois resistores juntos e ao pino Rx no módulo Bluetooth
  • Conecte o pino Tx do módulo Bluetooth ao D1
  • Conecte o pino de aterramento do módulo Bluetooth ao GND Conecte o pino de aterramento do módulo Bluetooth ao GND
  • Conecte o pino Vcc do módulo Bluetooth a 5v

Veja a imagem para detalhes.

Imagem
Imagem

Para configurar o módulo, ele precisa ser definido no modo AT. O procedimento é diferente para os módulos HC-05 e HC-06.

HC-06

Esses são os mais fáceis. Eles se colocam no modo AT se não estiverem emparelhados com nenhum dispositivo. No entanto, a configuração de baud será aquela definida para a baud de operação normal. Normalmente é 9600 quando fornecido. Se isso não funcionar, tente 38400 ou as outras taxas comuns.

Conecte o cabo USB do PC ao Arduino e inicie o IDE do Arduino. O LED do Bluetooth piscará rapidamente (~ 4 Hz) quando estiver no modo AT.

Abra o monitor Arduino Serial em Ferramentas> Monitor Serial. Defina a taxa de transmissão para 9600 e defina 'Sem fim de linha'.

Agora digite AT e clique em Enviar. Se tudo estiver funcionando, você verá 'OK' retornado ao monitor. Se nada retornar, verifique a fiação e tente diferentes configurações de Baud.

Com um OK confirmando boas comunicações, podemos alterar o nome e definir a própria taxa de transmissão.

Digite AT + NAMEARDUINO e clique em enviar. Isso define o nome do módulo para ARDUINO. Qualquer outro texto pode ser usado. Observe que não há espaços no comando.

A resposta deve ser OKsetname. Isso é adicionado ao OK enviado anteriormente

Agora digite AT + BAUD8. Isso define o baud para 115200.

A resposta deve ser OK115200. Se for necessário enviar mais comandos AT, a configuração de baud do Monitor serial deve ser alterada para 115200.

Outras taxas podem ser definidas. Baud4 é 9600, Baud5 é 19200, Baud6 38400, Baud7 57600. Existem configurações superiores a 115200, mas verifique primeiro se o seu PC e Arduino podem aceitá-las (o meu não pode exceder 128000). Nota - Se você definir uma taxa muito alta, não será capaz de se comunicar com ela para defini-la de volta !!!

Imagem
Imagem

Etapa 3: Configurar Módulo Bluetooth - Parte 2 - HC-05 e Teste Inicial

HC-05

Isso tem a complicação de ter que ser configurado manualmente no modo AT. O manual diz que se o modo AT for acionado após a inicialização, a configuração de Baud continuará na taxa já definida para comunicações normais. Eu não consegui fazer isso funcionar! Se, no entanto, o modo AT estiver configurado para ligar o baud, o baud será definido como 38400. Portanto, esta última opção é a mais confiável, pois podemos ter certeza de que o baud é 38400.

Abra o monitor Arduino Serial em Ferramentas> Monitor Serial. Defina a transmissão para 38400 e defina 'Retorno de carro'.

O próximo passo é colocar a placa no modo AT. É aqui que surgem a maioria dos problemas devido às diferenças nas placas das operadoras.

O processo fundamental é manter o pino "Chave" (pino 34) baixo alguns segundos ao ligar.

Minha placa tem um botão para fazer isso (os dois pinos de conexão adicionais são EN e STATE). Desconecte o fio Vcc do módulo Bluetooth. Em seguida, enquanto mantém o botão pressionado, reaplique 5v para Vcc. O LED deve piscar em intervalos de aproximadamente 2 segundos. Eu seguro o botão até o segundo flash.

Algumas placas têm um pino chave como um dos 6 pinos do módulo. Se for o caso, amarre isso a 3,3 V durante a inicialização.

Algumas placas não têm nenhum dos dois e os usuários precisam soldar um botão entre o pino-chave (34) e 3,3v (pino 12). Veja o manual anexo.

Com o LED piscando lentamente podemos verificar as comunicações. Digite AT e clique em Enviar. A resposta deve ser boa. Descobri que essa resposta era repetida continuamente até que enviei uma linha em branco - basta clicar em enviar. Se você obtiver ERROR: (0), envie uma linha em branco e, em seguida, envie AT.

Agora defina um novo nome. Digite AT + NAME = ARDUINO A resposta deve ser OK. No entanto, no meu caso, o módulo foi reiniciado fora do modo AT (LED piscando rapidamente). Não consegui encontrar a causa e isso também aconteceu ao usar uma conexão serial FDTI em vez do Arduino. Voltei ao modo AT como antes: Desconectando o fio de alimentação da placa e reconectando enquanto o botão era pressionado. Verificações posteriores mostraram que o nome havia sido alterado.

Em seguida, defina o Baud. Digite AT + UART = 115200, 1, 0 A resposta deve ser OK. No entanto, às vezes ele saltou do modo AT como acima.

A configuração UART pode ser verificada com o comando: AT + UART? A resposta deve ser OK e + UART = 115200, 1, 0

Teste inicial

Nesta fase temos o PC com uma conexão serial ao módulo Bluetooth. Portanto, um teste inicial opcional pode ser feito iniciando o aplicativo para smartphone BlueTerm 2 (presumindo que o módulo já esteja emparelhado com o telefone). Conecte-se ao ARDUINO. Defina o Arduino Serial Monitor para 115200 baud. Digite 'Hello World' e clique em enviar. Isso agora deve aparecer no BlueTerm 2. Agora digite 'Hello to you' no BlueTerm 2. Isso agora deve aparecer no Serial Monitor.

Imagem
Imagem
Imagem
Imagem

Etapa 4: conectar o módulo Bluetooth ao Arduino

Precisamos carregar nosso esboço de teste do Arduino primeiro. O BTtest.ino anexado envia um número a cada 0,5s e o incrementa, passando de 255 para 0. Crie uma pasta chamada BTtest em sua pasta de esboços e adicione BTtest.ino

A conexão serial do Arduino também é usada para baixar esboços. Portanto, os dois fios do módulo Bluetooth devem ser desconectados para que não interfiram.

Depois de baixar o esboço, reconecte o módulo Bluetooth. Observe, entretanto, que o Tx e Rx no Arduino precisam ser trocados em comparação com a configuração anterior.

Então conecte:

  • Resistor 3k3 para D1
  • Resistor 6k8 para aterramento
  • Conecte as outras extremidades dos dois resistores juntos e ao pino Rx no módulo Bluetooth
  • Conecte o pino Tx do módulo Bluetooth ao D0
  • Conecte o pino de aterramento do módulo Bluetooth ao GND Conecte o pino de aterramento do módulo Bluetooth ao GND
  • Conecte o pino Vcc do módulo Bluetooth a 5v

Veja a imagem para detalhes.

Imagem
Imagem

Agora ligue o Arduino. Não precisa estar conectado a um PC.

Emparelhe a placa com o smartphone, se ainda não estiver conectado (consulte Instalar o aplicativo Bluetooth acima). Em seguida, inicie o BlueTerm 2, clique em configurações, clique em Conectar dispositivo e selecione ARDUINO. Você deve ver a tela ser preenchida com números incrementando de 0 a 255.

Imagem
Imagem

Espero que você ache isso tão útil quanto eu.

Mike

Desafio Bluetooth
Desafio Bluetooth
Desafio Bluetooth
Desafio Bluetooth

Vice-campeão no desafio Bluetooth

Recomendado: