HC Serial Bluetooth Module (HC-06) [S018]
HC Serial Bluetooth Module (HC-06) Phone to Slave [S018]
https://www.youtube.com/watch?v=RuOHfPNCc4I
HC Serial Bluetooth Module (HC-06) Mster to Slave [S018]
https://www.youtube.com/watch?v=y8-W5BIm6xU
*GitHub : https://github.com/rdiot/rdiot-s018.git
* Specs
Serial port bluetooth, Drop-in replacement for wired serial connections, transparent usage. You can use it simply for a serial port replacement to establish connection between MCU and GPS, PC to your embedded project and etc.
And now, we provide HC-05 and HC-06. HC-05 could be setting to Master or Slave by user. HC-06 has be designed Master or Slave when the factory, user couldn't change the role.
Feature :
Bluetooth protocal: Bluetooth Specification v2.0+EDR
Frequency: 2.4GHz ISM band
Modulation: GFSK(Gaussian Frequency Shift Keying)
Emission power: ≤4dBm, Class 2
Sensitivity: ≤-84dBm at 0.1% BER
Speed: Asynchronous: 2.1Mbps(Max) / 160 kbps, Synchronous: 1Mbps/1Mbps
Security: Authentication and encryption
Profiles: Bluetooth serial port
Power supply: +3.3VDC 50mA
Working temperature: -20 ~ +75 Centigrade
Dimension: 26.9mm x 13mm x 2.2 mm
Default : Slave, 9600 baud rate, N, 8, 1. Pincode 1234
* Contents
- Connect
WAKEUP
VCC(3.6~6V) ----- 5V
GND ----- GND
TXD ----- RX
RXD ----- TX
STATE
- Master Setup
AT
AT+ROLE=M
Arduino Reboot
AT+PIN1234
AT+BAUD4
- Slave Setup
AT
AT+ROLE=S
Arduino Reboot
AT+PIN1234
AT+BAUD4
AT+NAMEbtSlave
- Key Code
@Setup Master or Slave
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(2, 3);
void setup()
{
Serial.begin(9600);
BTSerial.begin(9600);
}
void loop()
{
if (BTSerial.available())
Serial.write(BTSerial.read());
if (Serial.available())
BTSerial.write(Serial.read());
}
@ Slave Test Source (Phone Master -> Slave)
#include "U8glib.h"
#include <SoftwareSerial.h>
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);
SoftwareSerial BTSerial(2, 3);
char data=NULL;
String str="";
int ledPin = 9;
void setup() {
pinMode(ledPin,OUTPUT);
Serial.begin(9600);
BTSerial.begin(9600);
}
void loop(void) {
if (BTSerial.available())
{
//Serial.write(BTSerial.read());
data = (char)BTSerial.read();
if(data == '1') {
digitalWrite(ledPin,HIGH);
str = "ON";
} else if(data == '0') {
digitalWrite(ledPin,LOW);
str = "OFF";
}
}
// picture loop
u8g.firstPage();
do {
draw();
} while( u8g.nextPage() );
// rebuild the picture after some delay
delay(100);
}
void draw(void) {
u8g.setFont(u8g_font_9x15B);
u8g.setPrintPos(0, 12);
u8g.println("HC-06");
u8g.setFont(u8g_font_helvB14);
u8g.setPrintPos(0,40);
u8g.print("data="+(String)data);
u8g.setFont(u8g_font_helvB14);
u8g.setPrintPos(0,60);
u8g.print("cmd="+(String)str);
}
@ Master HC-06 <-> Slave HC-06 Test Source
#include <SoftwareSerial.h>
SoftwareSerial BT_Serial(2,3); //RX, TX
void setup()
{
Serial.begin(9600);
BT_Serial.begin(9600); // connect bluetooth
}
void loop()
{
if(BT_Serial.available())
Serial.write(BT_Serial.read()); // bluetooth read
if(Serial.available())
BT_Serial.write(Serial.read()); // bluetooth write
}
'2) Sensor > Bluetooth' 카테고리의 다른 글
Bluetooth 4.0 MP3 Decoding Board Module [B147] (0) | 2016.09.17 |
---|---|
Bluetooth Module HC-05 (HC-05) [S128] (0) | 2016.09.17 |