Module Bluetooth HC06 có thể dễ dàng kết nối để thực hiện các thí nghiệm. Khi kết nối module với máy tính, Module HC-06 được dùng như 1 cổng COM ảo, khi truyền nhận với COM ảo sẽ tương đương như truyền nhận dữ liệu trực tiếp với giao tiếp UART trên module.
Lưu ý:
Module HC06 được setup mặc định là Slave không thể thay đổi được nên chỉ có thể giao tiếp với các thiết bị bluetooth ở dạng master như Smart phone, HC05 master,...2 module bluetooth được set là Slave không thể giao tiếp với nhau. Khi thay đổi Baudrate cho COM ảo không làm thay đổi baudrate của UART, baudrate UART chỉ có thể thay đổi bằng AT command trên module.
Cấu hình mặc định:
#define START_CMD_CHAR '*'
#define END_CMD_CHAR '#'
#define DIV_CMD_CHAR '|'
#define CMD_DIGITALWRITE 10
#define CMD_ANALOGWRITE 11
#define CMD_TEXT 12
#define CMD_READ_ARDUDROID 13
#define MAX_COMMAND 20 // max command number code. used for error checking.
#define MIN_COMMAND 10 // minimum command number code. used for error checking.
#define IN_STRING_LENGHT 40
#define MAX_ANALOGWRITE 255
#define PIN_HIGH 3
#define PIN_LOW 2
String inText;
void setup() {
Serial.begin(9600);
Serial.println("ArduDroid 0.12 Alpha by TechBitar (2013)");
Serial.flush();
}
void loop()
{
Serial.flush();
int ard_command = 0;
int pin_num = 0;
int pin_value = 0;
char get_char = ' '; //read serial
// wait for incoming data
if (Serial.available() < 1) return; // if serial empty, return to loop().
// parse incoming command start flag
get_char = Serial.read();
if (get_char != START_CMD_CHAR) return; // if no command start flag, return to loop().
// parse incoming command type
ard_command = Serial.parseInt(); // read the command
// parse incoming pin# and value
pin_num = Serial.parseInt(); // read the pin
pin_value = Serial.parseInt(); // read the value
// 1) GET TEXT COMMAND FROM ARDUDROID
if (ard_command == CMD_TEXT){
inText =""; //clears variable for new input
while (Serial.available()) {
char c = Serial.read(); //gets one byte from serial buffer
delay(5);
if (c == END_CMD_CHAR) { // if we the complete string has been read
// add your code here
break;
}
else {
if (c != DIV_CMD_CHAR) {
inText += c;
delay(5);
}
}
}
}
// 2) GET digitalWrite DATA FROM ARDUDROID
if (ard_command == CMD_DIGITALWRITE){
if (pin_value == PIN_LOW) pin_value = LOW;
else if (pin_value == PIN_HIGH) pin_value = HIGH;
else return; // error in pin value. return.
set_digitalwrite( pin_num, pin_value); // Uncomment this function if you wish to use
return; // return from start of loop()
}
// 3) GET analogWrite DATA FROM ARDUDROID
if (ard_command == CMD_ANALOGWRITE) {
analogWrite( pin_num, pin_value );
// add your code here
return; // Done. return to loop();
}
// 4) SEND DATA TO ARDUDROID
if (ard_command == CMD_READ_ARDUDROID) {
// char send_to_android[] = "Place your text here." ;
// Serial.println(send_to_android); // Example: Sending text
Serial.print(" Analog 0 = ");
Serial.println(analogRead(A0)); // Example: Read and send Analog pin value to Arduino
return; // Done. return to loop();
}
}
void set_digitalwrite(int pin_num, int pin_value)
{
switch (pin_num) {
case 13:
pinMode(13, OUTPUT);
digitalWrite(13, pin_value);
break;
case 12:
pinMode(12, OUTPUT);
digitalWrite(12, pin_value);
break;
case 11:
pinMode(11, OUTPUT);
digitalWrite(11, pin_value);
break;
case 10:
pinMode(10, OUTPUT);
digitalWrite(10, pin_value);
break;
case 9:
pinMode(9, OUTPUT);
digitalWrite(9, pin_value);
break;
case 8:
pinMode(8, OUTPUT);
digitalWrite(8, pin_value);
break;
case 7:
pinMode(7, OUTPUT);
digitalWrite(7, pin_value);
break;
case 6:
pinMode(6, OUTPUT);
digitalWrite(6, pin_value);
break;
case 5:
pinMode(5, OUTPUT);
digitalWrite(5, pin_value);
break;
case 4:
pinMode(4, OUTPUT);
digitalWrite(4, pin_value);
break;
case 3:
pinMode(3, OUTPUT);
digitalWrite(3, pin_value);
break;
case 2:
pinMode(2, OUTPUT);
digitalWrite(2, pin_value);
break;
}
}
Sau khi biên dịch chương trình xong thì nạp code xuống board Arduino UNO đã kết nối với module bluetooth .
Bạn có thể kết nối thêm led của pin 13, 8, 7, 6, 5, 4, 3, 2. Như ở đây mình chỉ lấy 4 led để demo.
Vào Google Play gõ ArduDroid và tiến hành cài đặt:
Sau đó vào giao diện của Ardudroi và bật bluetooth của máy lên và tiến hành kết nối với module bluetooth đã kết nối với arduino.
Nhấn vào nút như hình vào chọn Connect me to a Bluetooth device
Sau đó nhấn tiếp vào để chọn Scan for devices module bluetooth cần test.
Chú ý: Nếu máy yêu cầu pass thì nhập PASS: 1234
Sau đó nhấn các phím 9, 10, 11, 12 để test. Nếu led bật tắt thì module đã được test.
Chế độ bảo hành
Chế độ bảo hành sản phẩm của Linh Kiện Điện Tử 3MBảo đảm chất lượng
Sản phẩm được Test, dán Tem trước khi được đóng gói Kĩ Càng gửi cho Quý KháchCước vận chuyển
Cước vận chuyển được tự động đồng bộ đơn vị vận chuyển, Sản phẩm phát ngay trong ngày. Hỗ trợ đơn hàng: 0865.853.416Hỗ trợ kỹ thuật
Tư vấn kĩ thuật: 0865.853.416 Khi khách hàng gặp khó khăn trong quá trình sử dụng