Arduino, Internet das Coisas e Computação vestível

Você está em » Home : Módulos :: Comunicação

[Voltar]

[Avançar]

Módulo Bluetooth BLE 4.0 HM-10

Descrição

A tecnologia Bluetooth consiste em um protocolo para comunicação de rádio para uso pessoal e foi desenvolvida inicialmente em 1994 pela Ericsson como uma alternativa sem fio ao protocolo RS-232. A faixa de frequência utilizada pelo Bluetooth é de 2.4 a 2.485 GHz.

O Módulo BLE 4.0 HM-10 é baseado no chipset CC2541 e opera no modo MASTER ou SLAVE, conforme a configuração definida por comandos AT. Para usá-lo, basta conectá-lo ao microcontrolador nos PINOS ( TX e RX) e fazer a comunicação serial normalmente.

Pode ser utilizado com telefones IPhones e Android acima do 4.3, PCs, Arduinos ou qualquer outro dispositivo/microcontrolador que possua uma porta UART. Alcance do sinal de 10 a 60 metros sem barreiras, o alcance varia de acordo com as condições do local onde for utilizado, versão do bluetooth do dispositivo, barreiras entre o dispositivo e o módulo HM-10. O módulo possui conversor de sinal embutido, podendo ser usado em circuitos de 5 ou 3.3V sem necessidade de hardware adicional.

Caracteristicas

  • Consumo de energia: 90A
  • Antena PCB embutida
  • Tensão de alimentação: 3.6V-6V DC
  • Tensão de funcionamento: 3.3V
  • Baudrate padrão: 9600
  • Dimensões 4,3cm x 1,5cm.

Pinagem

  • STATE:
  • RX: Recepção/Upload (Dados enviados)
  • TX: Transmissão/Download (Dados recebidos)
  • GND: 0V
  • VCC: 3,6V - 6V
  • EN: habilita o modo de comandos AT


Projeto(s) relacionado(s)


Bluetooth BLE 4.0 HM-10 controlado por celular

O projeto utiliza Arduino Uno R3Chave Táctil ou Push-Button, LEDMódulo Bluetooth BLE 4.0 HM-10. Para executar o programa é necessário instalar em seu em seu dispositivo móvel o aplicativo SPP Bluetooth tools (Android e Iphone). Através dele iremos acessar o módulo Bluetooth e parear o celular com o hardware Arduino.

// Projeto: Bluetooth BLE 4.0 HM-10 controlado por celular 
// Autor: André Silveira
// Data: 03/09/2019

#include "SoftwareSerial.h"					// Biblioteca SoftwareSerial

int PinoBotao = 10;							// Define pino do Botão
int PinoLed = 13;							// Define pino do Led
int UltimoEstado = LOW;
int RelogioContator=0;
char buf;
    
void setup() {  
  Serial.begin(9600);  
  pinMode(PinoBotao,INPUT_PULLUP);         		// Declara Botão como input
  pinMode(PinoLed,OUTPUT);          				// Declara Led como output
  delay(1000);
}  
    
void loop()  {
  
  if (UltimoEstado != digitalRead(PinoBotao)) {
      if (digitalRead(PinoBotao) == HIGH) {
           Serial.println("Estado da chave ligada");
           UltimoEstado = HIGH;
      } else {
               Serial.println("Estado da chave desligada");
               UltimoEstado = LOW;
             }
  }    
  
  verificaComandoCelular();
  delay(1000);
  
}

void verificaComandoCelular() {

  RelogioContator=0;
  
  while( Serial.available() > 0 )   {
         buf = Serial.read();
         
   /* --- Caracter L  para ligar o led --- */
         
         Serial.println(buf);
         if (buf == 'L') {
             digitalWrite(13, HIGH);
         }
        
   /* ---  Caracter D  para desligar o led --- */
   
         if (buf == 'D') {
             digitalWrite(13, LOW);
         }
         
   /* --- se ficar mais de 5 segundos no loop, encerra rotina --- */
        
        RelogioContator = RelogioContator + 1;
        if  (RelogioContator > 50) {
             break;
        }     
        delay(100);
  }
}

 

[Voltar]

[Avançar]