Escolar Documentos
Profissional Documentos
Cultura Documentos
Materiais necessários:
Passos:
char comando;
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);
}
void loop() {
if(Serial.available() > 0){
comando = Serial.read();
if(comando == '1'){
digitalWrite(13, HIGH); // Liga o LED
} else if(comando == '0'){
digitalWrite(13, LOW); // Desliga o LED
}
}
}
Materiais necessários:
Arduino Uno (ou outro modelo compatível) e Módulo Bluetooth HC-05 ou HC-06
Display LCD
Software Arduino IDE instalado no PC
Um aplicativo de terminal Bluetooth no PC (como o Bluetooth Terminal HC-05 para Android ou o Bluetooth Serial
Terminal para Windows)
Passos:
Ligar o módulo Bluetooth ao Arduino:
Pino VCC do módulo Bluetooth ao pino 5V do Arduino.
Pino GND do módulo Bluetooth ao pino GND do Arduino.
Pino TX do módulo Bluetooth ao pino RX (D0) do Arduino.
Pino RX do módulo Bluetooth ao pino TX (D1) do Arduino.
Conectar o LED ao Arduino:
Ligar o anodo (lado positivo) do LED ao pino 13 do Arduino (ou outro pino digital, se preferir).
Ligar o catodo (lado negativo) do LED a uma resistência de 220 ohms.
Conecte o outro extremo da resistência ao GND do Arduino.
Ligar o Display ao Arduino:
Pino VCC do display ao 5V do Arduino.
Pino GND do display ao GND do Arduino.
Pino SDA do display ao pino A4 (SDA) do Arduino.
Pino SCL do display ao pino A5 (SCL) do Arduino.
Programar o Arduino: Utilizar o seguinte código no Arduino IDE para ligar e desligar o LED comandado via Bluetooth e aparecer
LED Ligado ou Desligado no display:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
char comando;
LiquidCrystal_I2C lcd(0x27, 16, 2); // Endereço 0x27, 16 colunas, 2 linhas
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);
lcd.init(); // Inicializa o LCD
lcd.backlight(); // Liga o backlight do LCD
lcd.setCursor(0, 0);
lcd.print("IPOCET");
void loop() {
if(Serial.available() > 0){
comando = Serial.read();
if(comando == '1'){
digitalWrite(13, HIGH); // Liga o LED
lcd.setCursor(0, 1);
lcd.print("LED Ligado ");
} else if(comando == '0'){
digitalWrite(13, LOW); // Desliga o LED
lcd.setCursor(0, 1);
lcd.print("LED Desligado");
}
}
}
ATENÇÃO:
Utilizamos os pinos 2 e 3 para a comunicação serial com o Arduino UNO. Em
função da placa escolhida, esses pinos podem ser incompatíveis com a
comunicação SoftwareSerial. Em especial no caso das placas Mega, Micro e
Leonardo. Verifique a documentação.
Como o nível lógico do módulo Bluetooth é 3,3V, recomendamos usar um divisor
de tensão para reduzir a tensão de 5V do Arduino. (1k de resistência entre pin3 e
Rx; 2k Ohm entre Rx e GND).
Código de configuração
Para gerir a comunicação com o módulo HC-05, utilizamos a
biblioteca SoftwareSerial.h, que permite criar uma porta serial distinta da utilizada
pela porta USB. O código abaixo permite modificar as configurações do módulo HC-
05 (nome, código PIN, taxa de transmissão (baud rate), etc.) e localizar informações
como o número da versão do firmware.
#include <SoftwareSerial.h>
#define rxPin 2
#define txPin 3
#define baudrate 38400
String msg;
SoftwareSerial hc05(rxPin ,txPin);
void setup(){
pinMode(rxPin,INPUT);
pinMode(txPin,OUTPUT);
Serial.begin(9600);
Serial.println("ENTER AT Commands:");
hc05.begin(baudrate);
}
void loop(){
readSerialPort();
if(msg!="") hc05.println(msg);
if (hc05.available()>0){
Serial.write(hc05.read());
}
}
void readSerialPort(){
msg="";
while (Serial.available()) {
delay(10);
if (Serial.available() >0) {
char c = Serial.read(); //gets one byte from serial buffer
msg += c; //makes the string readString
}
}
}
Comandos de configuração
Além da vantagem de poder se utilizado como módulo mestre, o módulo Bluetooth
HC-05 também permite conhecer as configurações salvas.
Em geral, ao digitar no monitor serial AT+<command>?, obtém-se o valor registrado no
módulo (ex: AT+PSWD? para descobrir o código PIN do módulo). Ao inserir a
linha AT+<command>=<Param>, é possível definir um valor para o módulo (ex:
AT+PWSD=0000 para alterar o código PIN para 0000).