บทนำ
Bluetooth Shield ได้รวมโมดูล Bluetooth แบบอนุกรม สามารถใช้งานร่วมกับ Arduino สำหรับการสื่อสารไร้สายแบบ transparent ได้อย่างง่ายดาย คุณสามารถเลือกขาสองขาจาก Ardino D0 ถึง D7 เป็นพอร์ตอนุกรมของซอฟต์แวร์เพื่อสื่อสารกับ Bluetooth Shield (D0 และ D1 เป็นพอร์ตอนุกรมของฮาร์ดแวร์ ) The Shield ยังมีขั้วต่อ Grove สองขั้ว ( ขั้วหนึ่งคือ Digital ส่วนขั้วต่ออีกขั้วหนึ่งคือ Analog) เพื่อให้คุณติดตั้งโมดูล Grove
หมายเหตุ : โล่อาจไม่สามารถใช้งานร่วมกับอุปกรณ์ Bluetooth บางรุ่นเช่นโทรศัพท์ HTC พกพา (G7 ที่ใช้ Android 2.33 และอุปกรณ์ Apple ที่มีโปรไฟล์พิเศษในฟังก์ชัน Bluetooth
คุณสมบัติ
ใช้งานร่วมกับ Arduino ได้
ระยะการสื่อสารสูงสุด 10 ม . สำหรับการสื่อสารแบบตามแนวสายตา
อินเตอร์เฟส UART (TTL) ติดตั้ง baud rate ที่สามารถโปรแกรมได้ ( เฟิร์มแวร์ SPP)
อัตราความเร็วในการส่งข้อมูลดีฟอลต์ : 38400 บิตข้อมูล : 8 บิตหยุด : 1 พาริตี้ : ไม่มีพาริตี
รหัส PIN 0000 เริ่มต้น :""
ชุดคำสั่งการกำหนดค่าทั้งหมด
บนเสาอากาศ PCB
แผนผัง
แผนผังบลูทูธ
ข้อมูลจำเพาะ
รายการ | ต่ำสุด | โดยทั่วไป | สูงสุด | หน่วย |
---|
แรงดันไฟฟ้า | 2.8 | 3.3 | 3.5 | VDC |
---|
ปัจจุบัน | 3 | / | 100 | mA |
---|
ระยะการสื่อสาร ( ในบ้าน ) | / | / | 10 | ม |
---|
โปรโตคอ | Bluetooth V2.0 และเฟิร์มแวร์ SPP | / |
---|
อินเตอร์เฟซ | พอร์ตอนุกรม UART (TTL) | / |
---|
อัตราการส่งข้อมูลที่สนับสนุน | 9600 19200 38400 57600 115200 230400 460800 | bps |
---|
ขนาด | 57.4x3x3x19.4 | มม |
---|
น้ำหนักสุทธิ | 10±2 | G |
---|
การทดสอบด่วน
โหมด Host-Slave: การสื่อสารระหว่างแผงป้องกัน Bluetooth สองแผง
[ หมายเหตุ : ในโค้ดตัวอย่างต่อไปนี้ซอฟต์ซีเรียลจะมีอัตราการส่งข้อมูล 38400 ซึ่งจะทำให้รหัสไม่เสถียรเล็กน้อยหากพบความล้มเหลวโปรดลองหลายครั้ง ]
ใช้ Bluetooth Shield หนึ่งตัวและทำตามขั้นตอนต่อไปนี้ :
เลือกพอร์ตการสื่อสาร Bluetooth Shield โดยใช้ jumpers : BT_RX เชื่อมต่อกับ D6 ของ Digital, 6 BT_TX เชื่อมต่อกับ Digital 7 เลื่อนสวิตช์เลือกโหมดไปที่ตำแหน่ง LOWER เพื่อให้โมดูล Bluetooth เข้าสู่โหมดคำสั่ง AT
ติดตั้ง Bluetooth Shield บน Ardino Uno และ plung Ardino ลงใน PC, LED D1 บน Bluetooth Shield จะเริ่มกะพริบคัดลอกและวางโค้ดตัวอย่างต่อไปนี้และดาวน์โหลดไปยัง Ardine:
โดยรวมถึง <SoftwareSerial.h> #Define RXD 7 #Define TXD 6 SoftwareSerial ToothSerial(RXD,TXD): การติดตั้งแบบไร้ผล () { Serial.begin(38400); BlueToothSerial.begin(38400); delay 500 (21); { Voidloop () { if (BlueTooSerial)(){(){Serial.print.print.print.print.print.char()()(Blueth)()(Blueth);Blueprint (Blueth);{line.xy);{line.(Blueth);{line.xy)(Blueth);{line.xy);{lin
เปิดใช้งาน X-CTU เลือกพอร์ตที่เกี่ยวข้องกำหนดค่าอัตราการส่งข้อมูลเป็น 38400 / 8 / 1 ต่อ 0 LED-D1 บน Bluetooth Shield จะเปิดเป็นเวลาประมาณ 1 วินาทีและปิด
ส่งคำสั่งผ่าน UART เพื่อตรวจสอบ MAC แอดเดรสของ Bluetooth Shield ("AT+ADDR?\r\n") และจดบันทึกผลลัพธ์ ในภาพต่อไปนี้เราจะแสดงว่าที่อยู่ MAC คือ : 12 : 11 230317 น .
ใน X-CTU ปิดพอร์ตสื่อสาร ตอนนี้เราดาวน์โหลดรหัส Slave ตามที่แสดงด้านล่างนี้ :
รวมถึง <SoftwareSerb.h> #define RXD 7 #Define TXD 6 SoftwareSerial ToothSerthSerbial(RXDx,TXD); แฟลก charn); blu_Bluetooth() 1 0 { unsigned chart=205.xy; String RXD = ""; Serial.print.print_txn(" Bluetooth .list); 100 ena); 0 ena); Bluethrage); 1 400 กำลังลองใหม่ .";}thTooththththththththththththfs[x]!=O'O'O'va!(Rx1)&(Renable.toxn);{linefl()(" 0 พิมพ์ 1 Sern)(" ทดสอบ 5 en\rdcharn)!; มิฉะนั้น {Sern);บลู Sern(bldbldbldblog);Bluetooth ();Bluetooth ();/enings);100 เกิดข้อผิดพลาด 1234 1 5 0 1 sendBlueCommand(" at +UAR=8,6\r\n"); 38400,0 ดีเลย์ (3) Serial.print.print_print_ln(x) { Bluetooth เริ่มต้นสำเร็จ !\r\n";{(Serbid();0 on);{(){(Sern);/Bluetooth enbon(;/enotic;);Serial.begin(38400); BlueToothSerial.begin(38400); C:\500 nfluis);/);/);{;/setn();/Bluetooth delay );/);{;/){nelling); 0 500 void loop() { if (BluToothSerial.print()) { Serial.print(char(BluthSern(BluthSerial.read()); }} if (Serial())) { Bluethn.dentic.print((Serial.read(((())); }
กลับไปที่ X-CTU และเปิดพอร์ตสื่อสารอีกครั้ง การตั้งค่าอัตราการส่งข้อมูลยังคงเป็น 38400 ต่อ 8 ต่อ 0 ต่อ 1 ขณะนี้ LED D1 บน Bluetooth Shield จะเริ่มกะพริบเป็นเวลาประมาณ 2 วินาที ในขณะเดียวกันพอร์ตอนุกรมจะส่งข้อมูลออกมาในลักษณะดังต่อไปนี้ :
ตอนนี้เราจะเลื่อนสวิตช์โหมดไปที่ตำแหน่งบนซึ่งก็คือ 'NC ส่งตัวพิมพ์ใหญ่ ' และโมดูล Bluetooth จะเข้าสู่โหมดปกติและ LED -D1 จะเริ่มกะพริบถี่ละหนึ่งครั้งต่อ 0.2 วินาทีซึ่งหมายความว่าโมดูล Bluetooth เสร็จสิ้นการเริ่มต้นทำงานแล้ว
ในขณะเดียวกันรายการต่อไปนี้จะปรากฏบนเทอร์มินัลอนุกรม :
เอาล่ะมาใช้เกราะป้องกัน Bluetooth อื่นกันเถอะ
ติดตั้งใน Arduino และเสียบปลั๊กเข้ากับคอมพิวเตอร์ บนแผงกันฟันตัดนี้การตั้งค่าจัมเปอร์ควรเป็น : BT-TX เป็นดิจิตอล 7 BT-RX เป็นดิจิตอล 6 และเปลี่ยนโหมดไปเป็นตำแหน่งล่างคัดลอกและวางรหัสโฮสต์ต่อไปนี้โหลดไปยัง Arduino
รวมถึง <SoftwareSerial.h> #define RXD 7 #Define TXD 6 SoftwareSerial Toothxn(RXDx,TXD); void Test_Bluetooth() { unsigned char t 0 =""; String RxD = "); Serial.print_print_bn("Test"); Bluethn)); Bluethn)(Bluethn);Bluethn)(Bluethn);Bluethn);TH()))));THxenxenxened 100 enxenxenxenx1)()();THRE);THRE)()();THRE);THRE);THRE);THRE);THRE);THRE);THRE); 0 1 400 กำลังลองอีกครั้ง ..."} thToothththththththththfthfthfs[x]!=O'O'O'va&(Rx1)&(txn);Sern(Serial 0 Command,n(Txn)(" ทดสอบ 5 senros);tblog);บลู (Bluefuln);1234 1 in 1 1 5 1 100 0 38400,0 0 1 12,11,230317,10 0 5 1000 Serial.println(" บลูทูธเริ่มต้นสำเร็จ แล้ว !\r\n"); } void setup() { Serial.begin(38400); BlueToothSerial.begin(38400); deleting(2); 500 Test_Bluetooth(); setupBlueth(); } void loop() { if (BluToothSerial.print()) { Serial.print(char(BluthSern(BluthSerial.read()); }} if (Serial())) { Bluethn.dentic.print((Serial.read(((())); }
หลังจากที่อัปโหลดโค้ดไปยัง Arduino ไปที่ X-CTU และเปิดพอร์ตสื่อสารของแผงบลูทูธโฮสต์ การตั้งค่าอัตราการส่งข้อมูลยังคงเป็น 38400 ต่อ 8 ต่อ 0 ต่อ 1 ในขณะนี้ LED D1 จะกะพริบเร็ว ( ด้วยช่วงเวลา 0.4 วินาที ) และพอร์ตอนุกรมจะส่งเอาต์พุตบางอย่างดังนี้ :
เมื่อเชื่อมต่อโฮสต์และ slave ทั้งโฮสต์และ slave จะบล็อคอย่างช้าๆ ( โดยมีช่วงเวลาประมาณ 2 วินาที ) เลื่อนสวิตช์โหมดไปที่ตำแหน่งด้านบน 's' ขณะนี้ LED สีแดง , LED สองดวงบนแผงป้องกัน Bluetooth ทั้งสองจะเปิดใช้งาน ซึ่งหมายความว่าจับคู่สำเร็จแล้วและเราสามารถเริ่มการสื่อสารข้อมูลได้
Bluetooth Shield สื่อสารกับสมาร์ทโฟน Android
ใช้ Bluetooth Shield หนึ่งตัวและทำตามขั้นตอนต่อไปนี้ :
เลือกพอร์ตการสื่อสาร Bluetooth Shield โดยใช้ jumpers : BT_RX เชื่อมต่อกับ D6 ของ Digital, 6 BT_TX เชื่อมต่อกับ Digital 7 เลื่อนสวิตช์เลือกโหมดไปที่ตำแหน่ง LOWER เพื่อให้โมดูล Bluetooth เข้าสู่โหมดคำสั่ง AT
ติดตั้ง Bluetooth Shield บน Ardino Uno และ plung Ardino ลงใน PC, LED D1 บน Bluetooth Shield จะเริ่มกะพริบคัดลอกและวางโค้ดตัวอย่างต่อไปนี้และดาวน์โหลดไปยัง Ardine:
รวมถึง <SoftwareSerb.h> #define RXD 7 #Define TXD 6 SoftwareSerial ToothSerthSerbial(RXDx,TXD); แฟลก charn); blu_Bluetooth() 1 0 { unsigned chart=205.xy; String RXD = ""; Serial.print.print_txn(" Bluetooth .list); 100 ena); 0 ena); Bluethrage); 1 400 กำลังลองใหม่ .";}ththTooththththththththththfthfs[x]!=O'O'n(!=n')&(Rxn)!(Rx1)&(Renable.n)(Serial 0 Command.print.to)(" ทดสอบ 1 5 senros);Blueprint 1234 ";Blueprint ();Blueprint on);Bluetooth 100 5 1 0 0 sendBlueCommand(" at +UAR=8,6\r\n"); 38400,0 ดีเลย์ (3) Serial.print.print_print_ln(x) { Bluetooth เริ่มต้นสำเร็จ !\r\n";{(Serbid();0 on);{(){(Sern);/Bluetooth enbon(;/enotic;);Serial.begin(38400); BlueToothSerial.begin(38400); C:\500 nfluis);/);/);{;/setn();/Bluetooth delay );/);{;/){nelling); 0 500 void loop() { if (BluToothSerial.print()) { Serial.print(char(BluthSern(BluthSerial.read()); }} if (Serial())) { Bluethn.dentic.print((Serial.read(((())); }
เริ่มต้น X-CTU เพื่อเปิดพอร์ต COM กำหนดค่าอัตราการส่งข้อมูลเป็น 38400 ต่อ 8 ต่อ 1 ต่อ 0 LED-D1 บน Bluetooth Shield จะเริ่มกะพริบเป็นเวลา 2 วินาที ในขณะเดียวกันเราจะเห็นเอาต์พุตต่อไปนี้บนพอร์ตอนุกรม :
ขณะนี้เราย้ายสวิตช์เลือกโหมดไปที่ 'Nc' และส่งตัวพิมพ์ใหญ่ ' เพื่อให้โมดูล Bluetooth เข้าสู่โหมดการทำงานปกติและ LED D1 จะเริ่มกะพริบในช่วงเวลา 0.4 วินาที นั่นหมายความว่า Bluetooth Shield เริ่มต้นทำงานสำเร็จแล้ว
ดาวน์โหลดแอปพลิเคชันพอร์ตอนุกรม Bluetooth ( สำหรับ Antodite) และติดตั้งบนสมาร์ทโฟน Android ด้วยฟังก์ชัน Bluetooth ค้นหาอุปกรณ์ "Linkpre" ขาการจับคู่คือ '9999' 1234