16 Comentários

Interface entre Arduino e Android com Bluetooth: Aplicação Final

Arduino e Android bluetooth
Este post faz parte da série Arduino e Android com Bluetooth. Leia também os outros posts da série:

Olá galera, vamos continuar com o nosso tutorial sobre a Interface entre Arduino e Android com Bluetooth. Para acompanhar este artigo é necessário que você tenha lido o anterior.

Bom, no artigo anterior nós fizemos o design/layout, agora vem uma parte que é um pouco mais complicada, mas não é nenhum bicho de sete cabeças. Vamos lá, para começar iremos fazer algumas configurações, primeiramente vá aos componentes:

Arduino e Android
Figura 1 –  Componentes do aplicativo

E clique em BluetoothClient1. Em seguida, desmarque a opção Secure

bluetooth-secure
Figura 2 – Opção Secure

Desativamos o Secure para que o módulo Bluetooth ou seu celular não fique pedindo senhas na hora do pareamento. Agora, nessa tela de componentes você irá clicar em ActivityStarter1 e no campo Action você deverá escrever essa linha de código:

Android com Bluetooth
Figura 3 – Campo de ação

Agora temos que clicar em Clock1 (também está nos componentes) e reduzir o tempo de 1000 para 100.

bluetooth-clock
Figura 4 – Ajustando o clock

Pessoal, essa parte de pequenas configurações realmente é um pouco chata, mas  acabou! Agora vamos dar vida ao nosso aplicativo, com códigos é demais… Bora lá!

Agora você precisa ir em BLOCKS e montar essa programação:

bluetooth-variavel
Figura 5 – Declarando uma variável

Adicione essa variável para armazenarmos o que vier do bluetooth. Acrescente:

Android com Bluetooth
Figura 6 – Programando o inicio da tela

Nesse código, temos uma função que quando iniciarmos o aplicativo e o bluetooth não estiver conectado, então, vai chamar a função de ativação. Acrescente:

bluetooth-programando-bt-conectar
Figura 7 – Programando o botão de conectar

Nesse pedação de código, temos o seguinte: Quando você clicar no botão de conectar e o app já estiver habilitado e conectado, então, ele vai desconectar e mudar o nome do botão para CONECTAR, e também vai abrir a lista (call ListPicker1.Open). Agora, se o bluetooth não estiver habilitado, vai aparecer um alerta na tela com a opção de habilitar. Entretanto, precisamos dar vida a esse alerta, então, vamos fazer essa função:

bluetooth-programando-alerta
Figura 8 – Programando o alerta

Essa função determina que se a sua escolha no alerta for sim, o aplicativo vai chamar a função de ativar o bluetooth (ActivityStarter1).

Agora vamos montar o nosso botão de envio, para acender e apagar o LED, para isso, monte esse código:

bluetooth-programando-bt-led
Figura 9 – Programando o botão do led

Bom, nesse pedaço temos o seguinte: se o botão para acender o LED for “clicado”, ele verifica se o bluetooth está conectado e se estiver, ele manda o caractere “a” pro Arduino. Já já vamos ver como isso irá funcionar dentro do código do Arduino.

Agora, acrescente ao seu código essa função:

arduino e android
Figura 10 – Programando o ListPicker

Esse pedaço de código irá ter a função de listar os dispositivos bluetooth disponíveis para pareamento. Antes de executar o ListPicker, acrescente também ao seu código essa função:

bluetooth-programando-listpicker
Figura 11 – Programando o ListPicker

Essa função vai ser executada, depois de termos a lista de dispositivos Bluetooth disponíveis para pareamento, então, se você escolher conectar em algum bluetooth disponível. O app vai conectar e aparecerá o alerta: “O bluetooth está conectado!!!!”, se você clicar para conectar e algum bluetooth da lista e ele não conectar, então, aparecerá o alerta “Não houve sucesso ao conectar!!!!”

Agora vamos programar nossa função TIMER, acrescente ao código:

arduino e android
Figura 12 – Programando a função TIMER.

Esse pedação de código é difícil de explicar, você já deve estar familiarizado com as estruturas condicionais, alertas, funções e etc… Então, tente olhar para esse pedaço de código e tente compreender. Enfim, esse pedaço de código, vai ter o papel de receber os bytes do Arduino, ou seja, estamos trabalhando com um ping e pong, eu mando uma ordem pro Arduino ele recebe e me manda de volta o resultado. Esse pedaço de código tem a função de receber do Arduino os caracteres “1on” e “1off” para termos uma noção se o LED está aceso ou não.

Dessa forma, se o Arduino nos mandar os caracteres “1on” o LED está aceso, e se ele nos mandar os caracteres “1off”, o LED está desligado.

Se você está lendo até aqui, você é um guerreiro e saiba que você é motivo de orgulho e felicidade pra mim, por estar lendo meu artigo. Boa notícia, o código do APP acabou, bora pro Arduino! Abra sua IDE e digite esse código:

Agora segue o esquema do módulo bluetooth HC-05 com o Arduino:

Arduino e Android
Figura 13 – Esquema do módulo no Arduino UNO

Bom, não quero que você apenas copie, cole e compile. Vamos tentar entender tudo. Primeiramente configuramos o pino do LED e acrescentamos um boolean. Na estrutura do void loop temos o seguinte, ele vai ler o status do LED, e se o LED estiver apagado, ele vai enviar os caracteres “1off” para o aplicativo. O aplicativo vai receber os caracteres “1off”, e aí vai acontecer tudo aquilo que expliquei e programamos no aplicativo. Bom ao ler o status do LED e o mesmo estiver aceso, então o Arduino vai enviar os caracteres “1on” para o aplicativo. Agora, se o aplicativo enviar o caractere ‘a’ pro Arduino, aí o Arduino vai ler o status do LED e se ele estiver apagado vai acendê-lo e mandar os caracteres “1on” de volta para o aplicativo. Caso contrário, ele vai apagar o LED e mandar os caracteres “1off” de volta para o aplicativo. E é assim que funciona essa comunicação, é um constante ping-pong.

Enfim, espero que tenham aprendido e gostado, muito obrigado por acompanhar e até a próxima.

Outros artigos da série

<< Interface entre Arduino e Android com Bluetooth: Primeiros passos
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Software » Interface entre Arduino e Android com Bluetooth: Aplicação Final
Comentários:
Notificações
Notificar
guest
16 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Paulo cesar
Paulo cesar
14/12/2019 09:15

Faz no Android Studio programar em bloquinho nem é programação

Leonardo
Leonardo
16/08/2019 15:37

No exemplo está sendo enviado um texto “a”, mas eu preciso enviar o valor variante de um slider. Como faço isso?

Chateau
Chateau
09/07/2019 08:31

Excelente trabalho!! Já a alguns dias estou procurando algum material que me oriente para parear o módulo bluetooth HC-05 ou HC-06 diretamente pelo App, sem a necessidade do usuário digitar senha ao parear. Alterei a senha(PIN) do meu módulo HC-06 e gostaria que apenas o meu App(que sabe a senha) possa se comunicar com o módulo Bluetooth. Você tem algum material que explica como proceder nesta configuração?

Gustavo S.
Gustavo S.
26/04/2019 17:51

Boa tarde Bruno,
Tens interesse em desenvolver um aplicativo Android/IOS para comunicação BT em ioT? Caso afirmativo entre em contato pelo e-mail abaixo. Obrigado!

Reginaldo
Reginaldo
08/03/2019 15:05

Caro Bruno, parabéns pelo texto. Bem didático para quem faz DIY, como hobby.
Tire-me uma dúvida. O módulo wifi que vc usou me parece ser o HC-05 (ou 0 HC-06) que tem o nível RX em 3.3V. No entanto, vc ligou diretamente no pino TX do Arduino, que tem nível 5V. Tenho visto, em geral, a recomendação de se usar um divisor de tensão resistivo para permitir esse nível de 3V no módulo.
Pergunto: há ou não há necessidade desse divisor de tensão? O HC-05 resiste a essa sobretensão?

Obrigado pela resposta.

marcos patricio sanfelice
marcos patricio sanfelice
28/11/2018 10:37

ola estou tendo problemas com o bloco if then else,,, por algum motivo a imagem nao acopla nos outros modulo,, o que estou fazendo de errado..

Alain Mouette
Alain Mouette
24/01/2016 17:00

Muito interessante!
Mas faltou a cereja do bolo: como fica a tela no Android ao ser executada a App?

Bruno Garcia
Bruno Garcia
Reply to  Alain Mouette
25/01/2016 09:19

Fica exatamente como a figura 10 do primeiro artigo! Abraços e obrigado!

Luiz henrique Campos
Luiz henrique Campos
23/01/2016 13:21

Ola Bruno ! Eu fiz tudo como vc mostrou mas não duas coisas no meu não funcionam: 1º no app. quando clico em conectar ele não conecta o bluetooth tenho que habilitar eu mesmo senão o app não liga e 2º quando vou testar o liga e desliga nada acontecem com o led… o que será que está errado? pois já revisei toda a programação e nada aparentemente está errado,
Me ajude por favor…

Bruno Garcia
Bruno Garcia
Reply to  Luiz henrique Campos
23/01/2016 16:30

Olá me envie um e-mail, assim posso te ajudar melhor… [email protected]

raghu faria
raghu faria
25/08/2017 21:23

Cara, muito bom seu artigo, valeu demais. Estou com uma duvida, na programação, quando carrego o programa na IDE do arduino o led 13 fica piscando bem fraco, porem fica piscando. Quando abro o monitor serial, fica mostrando 1on e 1off o tempo todo..Tem como da uma ajuda?Obrigado

Geovane Santos
Geovane Santos
22/04/2017 22:33

BRILHANTE POSTAGEM MAS NAO ENTENDI AINDA A FUNCÃO DO “a”que seria enviado ao arduino,o fato de simplesmente ter 1on e 1off nao bastaria??

Talvez você goste:

Séries



Outros da Série

Menu

WEBINAR
 
Porque o RTOS não faz o que eu quero?

Data: 28/10 às 19:30h - Apoio: Mouser Electronics
 
INSCREVA-SE AGORA »



 
close-link