Ir para conteúdo
View in the app

A better way to browse. Learn more.

EletrônicaBR.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Navegação Limpa e Sem Anúncios! (Cadastre-se)

O melhor fórum técnico do mundo está de cara nova e de portas abertas! Estamos de cara nova e com ferramentas ainda mais poderosas para a sua bancada. Faça o seu cadastro de forma rápida e simples para acessar o maior e mais atualizado acervo de Esquemas Elétricos, BIOS e Firmwares da internet.

Aqui, o conhecimento vale muito: através do nosso sistema de créditos, membros participativos ganham acesso totalmente gratuito aos downloads. Venha trocar experiências com os melhores especialistas do mercado!

👉 Técnico sem o EletrônicaBR não é um técnico completo!

 

Enviando texto do Android para o Arduino usando bluetooth

Featured Replies

Postado
Aproveitando o gancho do último artigo sobre display LCD 20x4, no post de hoje vou mostrar como utilizar o módulo bluetooth HC-05 para enviar textos (strings) para o Arduino à partir de um celular com Android, e mostrar esses dados no display.

Quando enviamos dados do Android para o módulo bluetooth, esses dados são transmitidos para o Arduino via serial. É o mesmo processo utilizado quando interagimos com o Arduino usando o Serial Monitor : o Serial Monitor pode tanto receber como enviar informações.

No projeto desse post, eu tenho um celular com Android e bluetooth, e o programa Bluetooth SPP instalado. Nesse programa, eu vou digitar uma string e enviá-la para o módulo blueooth do Arduino.

[b]O Arduino vai receber essa informação, e ao detectar o caracter de controle "\n", indicando o final da string, vai mostrá-la no display:[/b]
[table]
[tr]
[td][youtube]https://youtu.be/Yzsdg3ajZoU[/youtube]
[/td]
[/tr]
[/table]

[b]Para esse experimento vamos utilizar o seguinte material :[/b]

[list type=disc]
[li]Módulo BT HC-05[/li]
[li]2 resistores para montagem do divisor de tensão[/li]
[li]Display LCD 20x4[/li]
[li]Celular com Android e Bluetooth[/li]
[li]Potenciômetro de 10K[/li]
[/list]
A ligação do display 20x4, como eu comentei no post Display LCD 20x4, é a mesma dos displays LCD 16x2 que já usamos anteriormente. O que muda é apenas o comando...

[b]lcd.[color=orange]begin[/color](20 , 4);[/b]

..que informa ao Arduino que agora estamos controlando um display com 20 colunas e 4 linhas. Assim, você pode tranquilamente montar esse circuito com um display 16x2, se preferir.

O módulo bluetooth HC-05 que eu utilizei trabalha com nível de sinal de 3.3v (não confundir com a tensão de alimentação, que é de 5 volts), e o Arduino Uno trabalha com nível de sinal de 5v, por isso não podemos ligar diretamente o módulo BT ao Arduino.  Foi necessária a montagem de um divisor de tensão usando dois resistores. Eu utilizei dois de 330 ohms, o que me deu um nível de sinal de 2.5v, suficiente para os testes.

[b][color=red][u]ATENÇÂO[/u]: Os módulos bluetooth mais comuns trabalham com [color=blue]nível de sinal de 3.3V[/color] (não confundir com a alimentação do módulo, que pode ser de 3.6 à 6V). Assim, para usar o módulo com as placas Arduino que trabalham com nível de sinal de 5V, utilize sempre um [color=black][b]divisor de tensão[/b][/color] para evitar danos ao módulo bluetooth.[/color][/b]

[b]Para cálculo do divisor de tensão, use o calculador desse link:[/b]
[url=http://www.arduinoecia.com.br/p/calculador-divisor-de-tensao-function.html]http://www.arduinoecia.com.br/p/calculador-divisor-de-tensao-function.html[/url]

Na página, digite 5 para a [b]tensão de entrada[/b], digite os valores dos resistores ([b]R1[/b] e [b]R2[/b])  que você possui, e pressione o botão [b]Calcular[/b] para verificar a [b]tensão de saída[/b] no campo correspondente, lembrando que por segurança esta deve ser, no máximo, de 3.3v.

Com os valores dos resistores devidamente calculados, monte o circuito abaixo, lembrando-se de deixar por último a ligação do [b]Vcc[/b] do módulo bluetooth, pois só vamos ligá-lo após carregar o programa no Arduino, evitando problemas na comunicação serial, pois tanto o computador como o módulo bluetooth usam esse mesmo caminho para se comunicar com o Arduino:
[img]https://eletronicabr.com/imagens/djsync/arduino/Circuito_LCD_20x4_BT_Serial_bb.png[/img]

Com o [b]Vcc[/b] do módulo bluetooth desligado, carregue o programa abaixo no Arduino. Por ser comunicação serial, você também pode utilizar este programa para testar a comunicação sem o módulo BT. Basta abrir o serial monitor e escolher a opção [b]Nova Linha[/b] na parte inferior da tela para que seja enviado o caracter de controle [b]\n[/b] ao final da string:
[code]
// Programa : LCD 20x4 Arduino com modulo bluetooth HC-05
// Autor : Arduino e Cia

// Carrega a biblioteca do LCD
#include <LiquidCrystal.h>
#include <VirtualWire.h>

// Inicializa o LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int incomingByte = 0;
char buf[20];
int num = 0;
String dados;

void setup()
{
  // Define o LCD com 20 colunas e 4 linhas
  lcd.begin(20, 4);
 
  // Mostra informacoes no display
  lcd.setCursor(3,0);
  lcd.print("Arduino e Cia");
  lcd.setCursor(2,1);
  lcd.print("Display LCD 20x4");
  lcd.setCursor(1,3);
  lcd.print("arduinoecia.com.br");
  Serial.begin(9600);
  delay(2000);
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Aguardando...");
}

void loop()
{
  while(Serial.available() > 0)
  {
    buf[num] = Serial.read();
    lcd.clear();
    if (buf[num] == '\n')
    {
      Serial.println(buf);
      String dados = buf;
      dados.trim();
      int tamanho_string = dados.length();
      lcd.setCursor(0,0);
      lcd.print(dados);
      lcd.setCursor(0,2);
      lcd.print("Caracteres : ");
      lcd.print(tamanho_string);
      // apaga o buffer
      for (int ca =0; ca<20; ca++)
      {
        buf[ca]=0;
      }
      num=0;
      break;
    }
    num++;
  }
}
[/code]

Desconecte o cabo usb do seu Arduino e utilize uma fonte externa para alimentação, assim você evita os problemas de conflito de serial citados anteriormente.

Conecte agora o pino Vcc do módulo bluetooth e no seu smartphone com Android carregue o programa [b]Bluetooth SPP[/b], que pode ser encontrado no Google Play, nesse link:
[url=https://play.google.com/store/apps/details?id=mobi.dzs.android.BluetoothSPP&hl=pt_BR]https://play.google.com/store/apps/details?id=mobi.dzs.android.BluetoothSPP&hl=pt_BR[/url]

Na tela inicial do programa, selecione o dispositivo ao qual você quer se conectar. No exemplo abaixo, o módulo tem o nome de HC-05, que já foi pareado anteriormente:

[img]https://eletronicabr.com/imagens/djsync/arduino/Tela-1-Blueooth_SPP_device.png[/img]

Na próxima tela, escolha [b]Command Line[/b] (linha de comando):
[img]https://eletronicabr.com/imagens/djsync/arduino/Tela-2-Bluetooth_SPP_Command_Line.png[/img]

O programa agora irá perguntar qual o caracter a ser enviado no final da string. Selecione o segundo item, [b]char:(\n)[/b]:
[img]https://eletronicabr.com/imagens/djsync/arduino/Tela-3-Bluetooth_SPP_Last_Char.png[/img]

Na próxima tela, digite na caixa de texto a string que você deseja que seja mostrada no display, e aperte OK:
[img]https://eletronicabr.com/imagens/djsync/arduino/Tela-4-Blueooth_SPP_String.png[/img]

O display mostrará tanto a string pelo celular, como também a quantidade de caracteres que foram recebidos.

[b]Onde comprar os materiais?[/b]
[url=http://www.filipeflop.com/pd-6b7e6-display-lcd-20x4.html?ct=&p=1&s=1]Display LCD 20x4[/url]
[url=http://www.filipeflop.com/pd-b4742-modulo-bluetooth-rs232-hc-05.html?ct=&p=1&s=1]Módulo Bluetooth RS232 HC-05[/url]

[b]fonte: [/b][url=http://www.arduinoecia.com.br/]arduinoecia[/url]

Participe agora da conversa!

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, faça login para postar com sua conta.

Visitante
Responder

Account

Navigation

Pesquisar

Pesquisar

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.