Tutorial: Módulo Bluetooth







Este post ensina a configurar seu módulo bluetooth que por padrão vem configurado com nome tipo: Linvor, HC-06 entre outros. A partir deste código você poderá configurar seu módulo conforme a necessidade de sua aplicação. Neste exemplo eu utilizei meu Arduino Mega, caso você venha utilizar o Arduino Uno, é possível utilizar no lugar da "Serial1" a rotina de softwareSerial ou também é só alterar todas "Serial1" para"Serial"
Bom trabalho!!!


CÓDIGO DA CONFIGURAÇÃO





  1. String command = ""; // variavel que recebe as respostas do comando AT
  2. // do dispositivo a ser configurado 
  3. void setup()  {
  4.  
  5. Serial.begin(9600);
  6. Serial.println("AT comandos!");
  7.  // JY-MCU v1.03 defaults to 9600.
  8.  Serial1.begin(9600); //UTILIZAR SOTFWARE_SERIAL NO LUGAR DE TODO Serial1
  9.  delay(3000); //AGUARDA APROXIMADAMENTE 3 SEGUNDO
  10. } 
  11.  
  12. void loop() {
  13. Serial1.write("AT"); //inicia a configuração do comando AT
  14. delay(1000); //AGUARDA APROXIMADAMENTE 1 SEGUNDO
  15. ler_serial(); //executa subrotina ler_serial
  16. //inicia a configuração do modulo
  17. Serial1.write("AT+NAME");
  18. Serial1.write("Bruno"); //COLOCAR O NOME DESEJADO AO DISPOSITIVO
  19. delay(1000);
  20. ler_serial();
  21. Serial1.write("AT+PIN");
  22. Serial1.write("1111"); //COLOCAR O CODIGO PIN PARA PAREAR
  23. delay(1000); 
  24. ler_serial();
  25.  
  26. Serial1.write("AT+BAUD");
  27. Serial1.write("4"); 
  28. /* SELECIONAR O NUMERO CONFORME A VELOCIDADE DO BAUD RATE
  29. 1 -> 1200
  30. 2 -> 2400
  31. 3 -> 4800
  32. 4 -> 9600 (default)
  33. 5 -> 19200
  34. 6 -> 38400
  35. 7 -> 57600
  36. 8 -> 115200
  37. 9 -> 230400*/
  38.  
  39. delay(500);
  40. ler_serial();
  41. Serial.println("Configuração Realizada");
  42. while(1)
  43. {
  44. //trava se programa neste loop
  45. } 
  46. }// END loop()
  47. //subrotina de leitura da porta serial.
  48. void ler_serial()
  49. {
  50. if (Serial1.available() ) { //verifica se algum dado na serial
  51. while(Serial1.available()) { //executa leitura enquanto tiver dado na serial.
  52. command += (char)Serial1.read(); // escreve a informação lida nesta variavel
  53. }
  54. Serial.println(command); // escreve na serial a informação lida
  55. command = ""; // limpa a variavel
  56. }
  57. }