โมดูลบลูทูธ มีสองโหมดหนึ่งคือโหมดต้นแบบและโหมดที่สองคือโหมดทาส ผู้ใช้สามารถตั้งค่าโหมดใดก็ได้โดยใช้คำสั่ง AT บางคำ แม้ผู้ใช้สามารถตั้งค่าของโมดูลโดยใช้คำสั่ง AT ต่อไปนี้เป็นคำสั่งใช้จะได้รับ:
ก่อนอื่นผู้ใช้ต้องเข้าสู่โหมด AT ด้วยอัตราความเร็วในการรับส่งข้อมูล 38400 bps โดยกดปุ่ม EN ที่โมดูลบลูทูธ หรือโดยให้ระดับ HIGH ที่ EN PIN หมายเหตุ: คำสั่งทั้งหมดควรลงท้ายด้วย \ r \ n (0x0d และ 0x0a) หรือ ENTER KEY จากแป้นพิมพ์
หลังจากนั้นถ้าคุณส่ง AT ไปที่โมดูลโมดูลจะตอบสนองด้วยตกลง
AT → Test Command
AT + ROLE = 0 →เลือกโหมด Slave
AT + ROLE = 1 →เลือกโหมดต้นแบบ
AT + NAME = xyz →ตั้งชื่อบลูทูธ
AT + PSWD = xyz →ตั้งรหัสผ่าน
AT + UART = <value1>, <value2>, <value3> →ตั้งอัตราการถ่ายโอนข้อมูล
เช่น. ที่ + UART = 9600,0,0
Pin คำอธิบายของ accelerometer
- STATE →เปิด
- Rx →ขารับสัญญาณอนุกรม
- Tx →พินส่งสัญญาณแบบอนุกรม
- GND → ground
- Vcc → + 5volt dc
- EN →เพื่อเข้าสู่โหมด AT
อธิบายการทำงาน
ในโครงการนี้เราได้ใช้รถของเล่นเพื่อสาธิตที่นี่เราได้เลือกรถของเล่นแบบเรดิโอด้วยคุณสมบัติพวงมาลัยซ้ายขวา หลังจากซื้อรถคันนี้เราได้เปลี่ยนวงจร RF ด้วยวงจร Arduinoของเราแล้ว รถคันนี้มีมอเตอร์ dc สองตัวที่ด้านหน้าและด้านหลัง มอเตอร์ด้านหน้าจะใช้สำหรับให้ทิศทางรถหมายถึงการหันไปทางซ้ายหรือขวา (เช่นคุณสมบัติของระบบบังคับเลี้ยวจริง) และมอเตอร์ด้านหลังใช้สำหรับขับรถไปข้างหน้าและถอยหลัง โมดูลบลูทูธ ใช้เพื่อรับคำสั่งจากโทรศัพท์ Android และ Arduino UNO ใช้สำหรับควบคุมระบบทั้งหมด
บลูทูธควบคุมรถเคลื่อนที่ตามปุ่มที่สัมผัสในแอนดรอยด์บลูทูธแอปมือถือในการใช้โปรเจกต์นี้ก่อนอื่นเราต้องดาวน์โหลดแอปพลิเคชันรูปแบบแอปพลิเคชัน Google Play สโตร์ เราสามารถใช้แอปพลิเคชันบลูทูธใด ๆ ที่สนับสนุนหรือสามารถส่งข้อมูลต่อไปนี้คือชื่อแอปบางส่วนที่อาจทำงานได้อย่างถูกต้อง
- Bluetooth Spp pro
- ตัวควบคุม Bluetooth
หลังจากติดตั้งแอปพลิเคชันแล้วคุณต้องเปิดและค้นหาอุปกรณ์บลูทูธแล้วเลือกอุปกรณ์บลูทูธที่ต้องการแล้วกำหนดค่าคีย์ ที่นี่ในโครงการนี้เราได้ใช้แอพพลิเคบลูทูธควบคุม
- ดาวน์โหลดและติดตั้ง Bluetooth Controller
- เปิด Bluetooth มือถือ
- เปิดแอปพลิเคชันบลูทูธตัวควบคุมแล้ว
- กดสแกน
- เลือกอุปกรณ์บลูทูธ ที่ต้องการ
- ตอนนี้ตั้งค่าคีย์โดยการกดปุ่มตั้งบนหน้าจอเมื่อต้องการตั้งค่าคีย์เราจำเป็นต้องกดปุ่มตั้งค่าและตั้งค่าตามภาพด้านล่าง:
หลังจากตั้งค่าคีย์กด ok
เมื่อเราแตะปุ่มไปข้างหน้าในแอพพลิเคชัน Bluetooth controller รถจะเริ่มเคลื่อนที่ไปข้างหน้าและเคลื่อนที่ต่อไปจนกว่าจะมีคำสั่งต่อไป
เมื่อเราแตะปุ่มย้อนกลับในแอปพลิเคชัน Bluetooth controller รถจะเริ่มเคลื่อนที่ไปในทิศทางย้อนกลับและเคลื่อนที่ต่อไปจนกว่าจะถึงคำสั่งถัดไป
เมื่อเราแตะปุ่มซ้ายในแอปพลิเคชัน Bluetooth controller รถจะเริ่มเคลื่อนที่ไปทางซ้ายและเคลื่อนที่ต่อไปจนกว่าคำสั่งถัดไปจะมาถึง ในสภาพนี้มอเตอร์ด้านหน้าจะหมุนล้อหน้าไปทางซ้ายและมอเตอร์หลังจะวิ่งไปข้างหน้า
เมื่อเราแตะปุ่มขวาในแอปพลิเคชันตัวควบคุม Bluetooth รถจะเริ่มเคลื่อนที่ไปในทิศทางที่ถูกต้องและเคลื่อนไปทางขวาจนกว่าจะมีคำสั่งต่อไป ในสภาพนี้มอเตอร์ด้านหน้าจะหมุนล้อหน้าไปทางขวาและมอเตอร์หลังจะทำงานในทิศทางไปข้างหน้า
และโดยการกดปุ่มหยุดเราสามารถหยุดรถได้
แผนผังวงจรและคำอธิบาย
แผนภาพวงจรสำหรับรถบลูทูธควบคุมจะแสดงในรูปข้างต้น คนขับมอเตอร์เชื่อมต่อกับ arduino เพื่อขับรถ ขาเข้าขาเข้าของมอเตอร์ 2, 7, 10 และ 15 เชื่อมต่อกับหมายเลขดิจิตอล 12, 11, 10 และ 9 ตามลำดับของ arduino ที่นี่เราได้ใช้มอเตอร์ DC สองตัวกับคนขับรถซึ่งมอเตอร์ตัวหนึ่งเชื่อมต่อที่ขาขาออกของมอเตอร์ 3 และ 6 และมอเตอร์ตัวอื่นเชื่อมต่อที่ 11 และ 14 แบตเตอรี่ 6 โวลต์ยังใช้เพื่อขับเคลื่อนมอเตอร์สำหรับขับมอเตอร์แท่ง rx และ tx ของโมดูลบลูทูธเชื่อมต่อโดยตรงที่ tx และ rx ของ Arduino และ vcc และสายดินของโมดูลบลูทูธ เชื่อมต่อที่ +5 โวลต์และ gnd ของ Arduino และใช้แบตเตอรี่ 9 โวลต์เพื่อจ่ายกระแสไฟวงจรที่ขา Vin ของ Arduino
คำอธิบายโครงการ
ในโปรแกรมแรกเราได้กำหนดขาออกสำหรับมอเตอร์
# กำหนด m11 11 // มอเตอร์ด้านหลัง
#define m12 12
#define m21 10 // มอเตอร์ด้านหน้า
#define m22 9
จากนั้นในเซ็ตอัพเราให้คำแนะนำในการปักหมุด
การตั้งค่าเป็นโมฆะ ()
{
Serial.begin (9600);
pinMode (m11, OUTPUT);
pinMode (m12, OUTPUT);
pinMode (m21, OUTPUT);
pinMode (m22, เอาท์พุท);
}
หลังจากนี้เราจะอ่านข้อมูลเข้าโดยใช้โมดูลการสื่อสารแบบอนุกรมของ Bluetooth และดำเนินการตามขั้นตอนดังกล่าว
void loop ()
{
ในขณะที่ (Serial.available ())
{
char ch = Serial.read ();
STR [ผม ++] = CH;
ถ้า (STR [I-1] == '1')
{
Serial.println ( "ไปข้างหน้า");
ไปข้างหน้า ();
i = 0;
}
else if (str [i-1] == '2')
{
Serial.println ( "ซ้าย");
ขวา();
i = 0;
}
else if (str [i-1] == '3')
{
Serial.println ( "ขวา");
ซ้าย();
i = 0;
}
จากนั้นเราได้สร้างฟังก์ชันสำหรับทิศทางต่างๆของรถ มีห้าเงื่อนไขสำหรับรถยนต์ที่มีการควบคุมบลูทูธนี้ซึ่งใช้ในการระบุทิศทาง:
ปุ่มสัมผัสในแอพพลิเคชันตัวควบคุม Bluetooth
|
เอาต์พุตสำหรับมอเตอร์ด้านหน้าเพื่อให้ทิศทาง
|
เอาต์พุตสำหรับมอเตอร์ด้านหลังเพื่อเลื่อนไปข้างหน้าหรือย้อนกลับ
|
|
ปุ่ม
|
M11
|
M12
|
M21
|
M22
|
ทิศทาง
|
หยุด
|
0
|
0
|
0
|
0
|
หยุด
|
ข้างหน้า
|
0
|
0
|
0
|
1
|
ข้างหน้า
|
ย้อนกลับ
|
0
|
0
|
1
|
0
|
ย้อนกลับ
|
ขวา
|
1
|
0
|
0
|
1
|
ขวา
|
ซ้าย
|
0
|
1
|
0
|
1
|
ซ้าย
|