BT HC-06
Objectivo deste projecto: Estabelecer uma ligação Bluetooth entre o computador e um arduino
Estado: Concluído
Fontes: instructables
Módulo adquirido: Wireless Serial 4 Pin Bluetooth RF Transceiver Module RS232 With backplane new | HC-06 (SLAVE)
Especificações:
Small size 4 pin Bluetooth RF transceiver module, easy to use and completely encapsulated.
Features:
Allows your device to both send or receive the TTL data via Bluetooth technology without connecting a
serial cable to your computer.
Works with any USB Bluetooth adapters.
Default Baud Rate: 9600,8,1,n.
Built in antenna.
Coverage up to 30ft.
Specifications:
Bluetooth version: V2.0+EDR
Operating voltage: 3.3V
Default Baud Rate: 9600,8,1,n.
Signal coverage: 30ft
Cable length: 21.5cm
Item size: 4.3 * 1.6 * 0.7cm
Item weight: 3g
Package size: 9 * 3 * 1cm
Package weight: 8g
NOTE:
a.Import duties,taxes and charges are not included in the item price or shipping charges.These charges are the buyer's responsibility.
b.Please check with your country's customs office to determine what these additional costs will be prior to bidding/buying.
Found name called "LINVOR" device
Connect it, and passcode is "1234"
Esquema principal:
Voltage Divider:
Como os pinos do arduino funcionam a 5v e o módulo Bluetooth funciona a 3.3v, precisamos de reduzir a voltagem de 5 para 3.3v com recurso às 2 resistências R1 de 10k e R2 de 20k (neste caso usei uma de 22k). Ver cálculo
Depois de efectuarmos as ligações entre o módulo Bluetooth e o arduino configuramos o PC, o equipamento Bluetooth usado foi uma pen da MSI que basta ligar numa porta USB e detecta os equipamentos ligados no seu alcance:
A nível de software temos de ter um programa que faça a comunicação serial entre o PC e o módulo Bluetooth, neste caso usámos o Tera Term Pro terminal emulator, basta seleccionar o nosso dispositivo e estabelecer a ligação com o mesmo.
Algumas fotos do projecto:
Código utilizado no arduino:
char INBYTE;
int LED = 13; // LED on pin 13
void setup() {
Serial.begin(9600);
pinMode(LED, OUTPUT);
}
void loop() {
Serial.println("Press 1 to turn Arduino pin 13 LED ON or 0 to turn it OFF:");
while (!Serial.available()); // stay here so long as COM port is empty
INBYTE = Serial.read(); // read next available byte
if( INBYTE == '0' ) digitalWrite(LED, LOW); // if it's a 0 (zero) tun LED off
if( INBYTE == '1' ) digitalWrite(LED, HIGH); // if it's a 1 (one) turn LED on
delay(50);
}
Através do terminal do programa Tera Term vamos enviar o valor 1 ou 0 para acender e apagar o LED no arduino.
Resultado: