ผมได้ซื้อ Bluetooth module 'HC-05' และบอร์ด Arduino UNO R3 แล้วทำการทดลองส่งข้อมูลเข้า pc
ตามบทความแนะนำดังลิงค์:
http://www.arduitronics.com/article/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99-bluetooth-module-hc-05
และได้ compile code ด้านล่างลงบอร์ด
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
// the setup routine runs once when you press reset:
void setup() {
Serial.begin(9600); // initialize the digital pin as an output.
while (!Serial) {}
; // wait for serial port to connect. Needed for Leonardo only
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
Serial.println("Communication from Bluetooth");
}
...ผลที่ได้ไม่เหมือนกับบทความ ซึ่งจะแสดงคำว่า "Communication from Bluetooth" ต่อเนื่องตามลูป
แต่เมื่อผมใช้โปรแกรม 'Hyper Terminal' หรือแม้แต่โปรแกรม 'Tera Term' ผลที่เกิดขึ้นเป็นดังรูปแนบ
.
.
นั่นคือมันไม่แสดงผลต่อเนื่องเป็นลูป... บางครั้งแสดงค่า 2 แถว เมื่อรีสตาร์ทแล้วเปิดใหม่บางทีขึ้นมาแสดง 10 แถว มันไม่ได้ตามตัวอย่าง
และนอกจากนั้นเมื่อผมต่อ USB ให้มันส่งข้อมูลแบบ serial มันกลับแสดงผลอย่างถูกต้องตามบทความ ซึ่งไม่เหมือนกับส่งผ่าน Bluetooth
มีใครพอจะทราบไหมครับ? ว่าเป็นเพราะเหตุใด??? (เป็นเพราะบอร์ด หรือbluetooth หรืออื่นๆ) และเมื่อผมลอง code แบบอื่นๆ ก็ได้ผลเช่นเดียวกัน
...ค้นหาหลายวิธีแล้วครับ ก็ยังไม่ได้ จนปัญญาแล้วครับ รบกวนช่วยด้วย
ปล. ผมได้ตรวจสอบการ wire สาย และอื่นๆ เรียบร้อยแล้ว
Arduino ส่งข้อมูล Bluetooth เข้า pc ไม่ถูกต้อง
ตามบทความแนะนำดังลิงค์:
http://www.arduitronics.com/article/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99-bluetooth-module-hc-05
และได้ compile code ด้านล่างลงบอร์ด
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
// the setup routine runs once when you press reset:
void setup() {
Serial.begin(9600); // initialize the digital pin as an output.
while (!Serial) {}
; // wait for serial port to connect. Needed for Leonardo only
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
Serial.println("Communication from Bluetooth");
}
...ผลที่ได้ไม่เหมือนกับบทความ ซึ่งจะแสดงคำว่า "Communication from Bluetooth" ต่อเนื่องตามลูป
แต่เมื่อผมใช้โปรแกรม 'Hyper Terminal' หรือแม้แต่โปรแกรม 'Tera Term' ผลที่เกิดขึ้นเป็นดังรูปแนบ
.
.
นั่นคือมันไม่แสดงผลต่อเนื่องเป็นลูป... บางครั้งแสดงค่า 2 แถว เมื่อรีสตาร์ทแล้วเปิดใหม่บางทีขึ้นมาแสดง 10 แถว มันไม่ได้ตามตัวอย่าง
และนอกจากนั้นเมื่อผมต่อ USB ให้มันส่งข้อมูลแบบ serial มันกลับแสดงผลอย่างถูกต้องตามบทความ ซึ่งไม่เหมือนกับส่งผ่าน Bluetooth
มีใครพอจะทราบไหมครับ? ว่าเป็นเพราะเหตุใด??? (เป็นเพราะบอร์ด หรือbluetooth หรืออื่นๆ) และเมื่อผมลอง code แบบอื่นๆ ก็ได้ผลเช่นเดียวกัน
...ค้นหาหลายวิธีแล้วครับ ก็ยังไม่ได้ จนปัญญาแล้วครับ รบกวนช่วยด้วย
ปล. ผมได้ตรวจสอบการ wire สาย และอื่นๆ เรียบร้อยแล้ว