หลังจากการพัฒนาไม่กี่โครงการหุ่นยนต์ที่นิยมเช่นหุ่นยนต์สายลูกศิษย์ขอบหลีกเลี่ยงหุ่นยนต์หุ่นยนต์ DTMF ท่าทางควบคุมหุ่นยนต์อื่น ๆ ในโครงการนี้เราจะไปพัฒนาบลูทู ธ ควบคุมรถโบ ที่นี่เราใช้โมดูลบลูทู ธ เพื่อควบคุมรถและยังเป็นแอปพลิเคชันที่ใช้ Android
ส่วนประกอบ
- Arduino UNO
- มอเตอร์กระแสตรง
- โมดูลบลูทู ธ HC-05
- ตัวขับมอเตอร์ L293D
- แบตเตอรี่ 9 โวลต์และแบตเตอรี่ 6 โวลต์
- ขั้วต่อแบตเตอรี่
- รถของเล่น
รถที่ควบคุมด้วยบลูทู ธ ถูกควบคุมโดยใช้โทรศัพท์มือถือ Android แทนวิธีอื่น ๆ เช่นปุ่มท่าทาง ฯลฯ ที่นี่ต้องการเพียงปุ่มสัมผัสในโทรศัพท์ Android เพื่อควบคุมรถในทิศทางไปข้างหน้าถอยหลังซ้ายและขวา ดังนั้นที่นี่จึงใช้โทรศัพท์ Android เป็นอุปกรณ์ส่งสัญญาณและใช้โมดูลบลูทู ธ ในรถยนต์เป็นตัวรับสัญญาณ โทรศัพท์ Android จะส่งคำสั่งโดยใช้บลูทู ธ ในตัวไปยังรถยนต์เพื่อให้สามารถเคลื่อนที่ไปในทิศทางที่ต้องการเช่นเดินหน้าถอยหลังเลี้ยวซ้ายเลี้ยวขวาและหยุด
โมดูลบลูทู ธ
โมดูลบลูทู ธ HC ประกอบด้วยสองสิ่งหนึ่งคือโมดูลอินเทอร์เฟซแบบอนุกรมบลูทู ธ และอะแดปเตอร์บลูทู ธ โมดูลอนุกรม Bluetooth ใช้สำหรับแปลงพอร์ตอนุกรมเป็นบลูทู ธ
วิธีการใช้งานโมดูลบลูทู ธ ?
คุณสามารถใช้โมดูลบลูทู ธ ได้โดยตรงหลังจากซื้อจากตลาดเนื่องจากไม่จำเป็นต้องเปลี่ยนการตั้งค่าใด ๆ ของโมดูลบลูทู ธ อัตราการส่งข้อมูลเริ่มต้นของโมดูลบลูทู ธ ใหม่คือ 9600 bps คุณเพียงแค่ต้องเชื่อมต่อ rx และ tx เข้ากับคอนโทรลเลอร์หรือตัวแปลงอนุกรมและจ่ายไฟ 5 โวลต์ dc ที่มีการควบคุมให้กับโมดูล
โมดูลบลูทู ธ มีสองโหมดหนึ่งคือโหมดหลักและโหมดที่สองคือโหมดทาส ผู้ใช้สามารถตั้งค่าโหมดใดก็ได้โดยใช้คำสั่ง AT แม้แต่ผู้ใช้ก็สามารถตั้งค่าโมดูลได้โดยใช้คำสั่ง AT นี่คือคำสั่งบางส่วนที่ใช้:
ก่อนอื่นผู้ใช้ต้องเข้าสู่โหมด AT ด้วยอัตรารับส่งข้อมูล 38400 bps โดยกดปุ่ม EN ที่โมดูลบลูทู ธ หรือโดยให้ระดับสูงที่ขา EN หมายเหตุ: คำสั่งทั้งหมดควรลงท้ายด้วย \ r \ n (0x0d และ 0x0a) หรือ ENTER KEY จากแป้นพิมพ์
หลังจากนั้นหากคุณส่ง AT ไปยังโมดูลโมดูลจะตอบสนองด้วยตกลง
ที่→คำสั่งทดสอบ
AT + ROLE = 0 → Slave Mode เลือก
AT + ROLE = 1 →เลือกโหมดหลัก
AT + NAME = xyz →ตั้งชื่อบลูทู ธ
AT + PSWD = xyz →ตั้งรหัสผ่าน
ที่ + UART =
เช่น. ที่ + UART = 9600,0,0
คำอธิบายพินของ accelerometer
- STATE →เปิด
- Rx →พินรับอนุกรม
- Tx →พินส่งสัญญาณอนุกรม
- GND →กราวด์
- Vcc → + 5 โวลต์ dc
- EN →เพื่อเข้าสู่โหมด AT
คำอธิบายการทำงาน
ในโครงการนี้เราได้ใช้รถของเล่นในการสาธิต ที่นี่เราได้เลือกรถของเล่น RF ที่มีคุณสมบัติบังคับเลี้ยวซ้ายขวา หลังจากที่ซื้อรถคันนี้ที่เราได้เข้ามาแทนที่วงจร RF กับเราวงจร Arduinoรถคันนี้มีมอเตอร์กระแสตรงสองตัวที่ด้านหน้าและด้านหลัง มอเตอร์ด้านหน้าใช้สำหรับกำหนดทิศทางไปยังรถหมายถึงการเลี้ยวซ้ายหรือขวา (เช่นเดียวกับคุณสมบัติการบังคับเลี้ยวของรถจริง) และมอเตอร์ด้านหลังใช้สำหรับขับเคลื่อนรถในทิศทางไปข้างหน้าและข้างหลัง โมดูลบลูทู ธ ใช้เพื่อรับคำสั่งจากโทรศัพท์ Android และ Arduino UNO ใช้สำหรับควบคุมระบบทั้งหมด
รถที่ควบคุมด้วยบลูทู ธ จะเคลื่อนที่ตามปุ่มที่สัมผัสในแอพมือถือ Android Bluetooth ในการเรียกใช้โครงการนี้ก่อนอื่นเราต้องดาวน์โหลดแอป Bluetooth จาก Google play store เราสามารถใช้แอพบลูทู ธ ใดก็ได้ที่รองรับหรือส่งข้อมูลได้ นี่คือชื่อแอพบางตัวที่อาจทำงานได้อย่างถูกต้อง
- บลูทู ธ Spp pro
- ตัวควบคุมบลูทู ธ
หลังจากติดตั้งแอพคุณจะต้องเปิดแอพจากนั้นค้นหาอุปกรณ์บลูทู ธ และเลือกอุปกรณ์บลูทู ธ ที่ต้องการ จากนั้นกำหนดค่าคีย์ ในโครงการนี้เราได้ใช้แอปตัวควบคุมบลูทู ธ
- ดาวน์โหลดและติดตั้ง Bluetooth Controller
- เปิดบลูทู ธ มือถือ
- ตอนนี้เปิดแอปตัวควบคุมบลูทู ธ
- กด scan
- เลือกอุปกรณ์ Bluetooth ที่ต้องการ
- ตอนนี้ตั้งค่าปุ่มโดยกดปุ่มตั้งค่าบนหน้าจอ ในการตั้งค่าคีย์เราต้องกด 'ปุ่ม set' และตั้งค่าคีย์ตามภาพด้านล่าง:
หลังจากตั้งค่าปุ่มกดตกลง
เมื่อเราแตะปุ่มไปข้างหน้าในแอพตัวควบคุมบลูทู ธ รถจะเริ่มเคลื่อนไปในทิศทางไปข้างหน้าและเดินหน้าต่อไปจนกว่าจะมีคำสั่งถัดไป
เมื่อเราแตะปุ่มย้อนกลับในแอพตัวควบคุมบลูทู ธ รถจะเริ่มเคลื่อนที่ไปในทิศทางย้อนกลับและการเคลื่อนที่จะย้อนกลับไปจนกว่าจะมีคำสั่งถัดไป
เมื่อเราแตะปุ่มซ้ายในแอพตัวควบคุมบลูทู ธ รถจะเริ่มเคลื่อนไปในทิศทางซ้ายและเคลื่อนไปทางซ้ายจนกว่าจะมีคำสั่งถัดไป ในสภาพเช่นนี้มอเตอร์ด้านข้างจะหมุนล้อหน้าไปในทิศทางซ้ายและมอเตอร์ด้านหลังจะวิ่งไปข้างหน้า
เมื่อเราแตะปุ่มขวาในแอพตัวควบคุมบลูทู ธ รถจะเริ่มเคลื่อนที่ไปในทิศทางที่ถูกต้องและเคลื่อนที่ต่อไปจนกว่าจะมีคำสั่งถัดไป ในสภาพเช่นนี้มอเตอร์ด้านข้างจะหมุนล้อหน้าไปในทิศทางที่ถูกต้องและมอเตอร์ด้านหลังจะทำงานในทิศทางไปข้างหน้า
และด้วยการแตะปุ่มหยุดเราสามารถหยุดรถได้
แผนภาพวงจรและคำอธิบาย
แผนภาพวงจรสำหรับรถยนต์ที่ควบคุมด้วยบลูทู ธแสดงไว้ในรูปด้านบน ไดรเวอร์มอเตอร์เชื่อมต่อกับ arduino เพื่อเรียกใช้รถ หมุดอินพุตของไดรเวอร์มอเตอร์ 2, 7, 10 และ 15 เชื่อมต่อกับพินดิจิตอลของ arduino หมายเลข 12, 11, 10 และ 9 ตามลำดับ ที่นี่เราได้ใช้มอเตอร์กระแสตรงสองตัวในการขับรถซึ่งมอเตอร์ตัวหนึ่งเชื่อมต่อที่ขาเอาท์พุทของตัวขับมอเตอร์ 3 และ 6 และอีกมอเตอร์เชื่อมต่อที่ 11 และ 14 แบตเตอรี่ 6 โวลต์ยังใช้เพื่อจ่ายไฟให้กับตัวขับมอเตอร์สำหรับมอเตอร์ขับเคลื่อน. หมุด rx และ tx ของโมดูลบลูทู ธ เชื่อมต่อโดยตรงที่ tx และ rx ของ Arduino และ vcc และพินกราวด์ของโมดูลบลูทู ธ เชื่อมต่อที่ +5 โวลต์และ gnd ของ Arduino และใช้แบตเตอรี่ขนาด 9 โวลต์สำหรับจ่ายไฟให้กับวงจรที่ขา Vin ของ Arduino
คำอธิบายโปรแกรม
ในโปรแกรมก่อนอื่นเราได้กำหนดพินเอาต์พุตสำหรับมอเตอร์
#define m11 11 // มอเตอร์หลัง #define m12 12 #define m21 10 // มอเตอร์หน้า #define m22 9
จากนั้นในการตั้งค่าเราให้คำแนะนำในการปักหมุด
การตั้งค่าเป็นโมฆะ () {Serial.begin (9600); PinMode (m11, เอาท์พุท); PinMode (m12, เอาท์พุท); PinMode (m21, เอาท์พุท); PinMode (m22, เอาท์พุท); }
หลังจากนี้เราจะอ่านอินพุตโดยใช้โมดูลบลูทู ธ รูปแบบการสื่อสารแบบอนุกรมและดำเนินการตามนั้น
เป็นโมฆะ loop () {ในขณะที่ (Serial.available ()) {char ch = Serial.read (); str = ch; ถ้า (str == '1') {Serial.println ("ส่งต่อ"); ไปข้างหน้า (); ฉัน = 0; } else if (str == '2') {Serial.println ("ซ้าย"); ขวา(); ฉัน = 0; } else if (str == '3') {Serial.println ("ขวา"); ซ้าย(); ฉัน = 0; }
จากนั้นเราได้สร้างฟังก์ชั่นสำหรับทิศทางต่างๆของรถ มีเงื่อนไขห้าประการสำหรับรถยนต์ที่ควบคุมด้วยบลูทู ธซึ่งใช้ในการบอกทิศทาง:
ปุ่มสัมผัสในแอพตัวควบคุมบลูทู ธ |
เอาท์พุทสำหรับมอเตอร์ด้านหน้าเพื่อบอกทิศทาง |
เอาต์พุตสำหรับมอเตอร์ด้านหลังเพื่อเลื่อนไปข้างหน้าหรือย้อนกลับ |
|||
ปุ่ม |
M11 |
M12 |
M21 |
M22 |
ทิศทาง |
หยุด |
0 |
0 |
0 |
0 |
หยุด |
ส่งต่อ |
0 |
0 |
0 |
1 |
ส่งต่อ |
ย้อนกลับ |
0 |
0 |
1 |
0 |
ย้อนกลับ |
ขวา |
1 |
0 |
0 |
1 |
ขวา |
ซ้าย |
0 |
1 |
0 |
1 |
ซ้าย |