1 คำอธิบายโมดูลบลูทูธ HC-06
มีการใช้งานโมดูล Bluetooth จำนวนมาก แต่ละคนมีลักษณะเฉพาะของตัวเอง แต่โดยทั่วไปแล้วพวกมันทั้งหมดคล้ายกันมาก พิจารณาตัวแทนของตระกูลโมดูลบลูทูธ HC-06ซึ่งสามารถซื้อได้ในราคาสุดคุ้มบนเว็บไซต์นี้
โมดูลนี้ทำงานที่ความถี่ตั้งแต่ 2.40 GHz ถึง 2.48 GHz และรองรับข้อกำหนด Bluetooth เวอร์ชัน 2.1+EDR: ลดการใช้พลังงาน เพิ่มระดับการปกป้องข้อมูล และเชื่อมต่ออุปกรณ์ Bluetooth ได้ง่าย รับประกันการรับสัญญาณที่เสถียรด้วยโมดูลภายในระยะ 10 เมตร
วัตถุประสงค์ของพินโมดูลบลูทูธมีดังนี้:
ไม่สามารถใช้หมุดสองตัวสุดท้ายได้ คุณมักจะพบโมดูลที่ไม่มีพินเหล่านี้เลย
2 แผนภาพการเชื่อมต่อโมดูลบลูทูธสำหรับ Arduino
มาเชื่อมต่อโมดูลบลูทูธกับ Arduino ตามแผนภาพด้านล่าง โปรดทราบว่าตัวส่งสัญญาณ (Tx) ของ Arduino เชื่อมต่อกับตัวรับ (Rx) ของโมดูล และในทางกลับกัน
เมื่อเอาท์พุท สถานะระดับสูงจะปรากฏขึ้นเมื่อโมดูลจับคู่กับอุปกรณ์ Bluetooth อื่น และระดับต่ำเมื่อไม่ได้จับคู่ คุณสามารถอ่านค่าของมันได้โดยเชื่อมต่อกับพิน Arduino และกำหนดโหมดการทำงานให้กับมัน pinMode (พินสถานะ, อินพุต)และค้นหาสถานะของโมดูล แต่ตัวบ่งชี้สถานะทำงานไม่ถูกต้องในทุกโมดูล ดังนั้นเราจะไม่ใช้ในตัวอย่างนี้
ผลลัพธ์ควรมีลักษณะคล้ายกับภาพถ่าย
3 ร่างสำหรับ Arduinoเพื่อการทำงานผ่านบลูทูธ
มาเขียนแบบร่างต่อไปนี้แล้วโหลดลงในหน่วยความจำ Arduino:
ค่าคงที่ ledPin = 13; // เอาต์พุตของไบต์ขาเข้า LED ถ่านในตัว; // ตัวแปรสำหรับข้อมูล Bluetooth การตั้งค่าเป็นโมฆะ () ( pinMode(ledPin, เอาท์พุต); อนุกรมเริ่มต้น(9600); ) วนเป็นโมฆะ() ( if (Serial.available() > 0) ( // ถ้าพอร์ตว่าง incomingbyte = Serial.read(); // อ่านข้อมูลจากสวิตช์พอร์ต(incomingbyte) ( case "1": // ถ้า "1" มาถึง digitalWrite(ledPin , HIGH); // ตัวพิมพ์ "0": // ถ้า "0" มาถึง digitalWrite(ledPin, LOW); }
เราเปิดวงจรที่ประกอบขึ้นด้วย Arduino และโมดูลบลูทู ธ ที่เชื่อมต่ออยู่ โมดูลที่เชื่อมต่ออย่างถูกต้องจะเข้าสู่โหมดสแตนด์บายการเชื่อมต่อทันที ซึ่งจะระบุด้วยไฟ LED แสดงสถานะที่กะพริบเป็นจังหวะ
4 กำลังจับคู่ด้วยอุปกรณ์บลูทูธ
ตอนนี้คุณต้องเพิ่มอุปกรณ์ Bluetooth ลงในรายการอุปกรณ์ที่เชื่อถือได้ เปิด Bluetooth บนคอมพิวเตอร์ไปที่ การตั้งค่าอุปกรณ์บลูทูธ.
หากไอคอนบลูทูธปรากฏขึ้นในพื้นที่แจ้งเตือนเมื่อคุณเปิดบลูทูธบนคอมพิวเตอร์ คุณสามารถคลิกขวาที่ไอคอนนั้นแล้วเลือก:
เราตรวจสอบให้แน่ใจว่าคอมพิวเตอร์มองเห็นโมดูลบลูทู ธ ของเรา เลือกจากรายการแล้วกดปุ่ม ผูก- ป้อนรหัสผ่านเริ่มต้นในกล่องโต้ตอบ 1234 - หากเพิ่มสำเร็จอุปกรณ์จะปรากฏในรายการพร้อมเครื่องหมาย จับคู่แล้ว.
รหัสผ่านเริ่มต้นสำหรับโมดูลเฉพาะอาจแตกต่างจาก "1234" ข้อมูลนี้จะต้องจัดทำโดยผู้ผลิต (ผู้ขาย) ของโมดูล
หากคุณต้องการเชื่อมต่อกับโมดูลบลูทูธจากสมาร์ทโฟน ขั้นตอนจะคล้ายกัน: เปิดบลูทูธบนสมาร์ทโฟนของคุณ ตรวจจับโมดูลที่เชื่อมต่อกับ Arduino แล้วจับคู่กับโมดูลดังกล่าว
5 กำลังเชื่อมต่อกับโมดูลบลูทูธผ่านบลูทูธจากคอมพิวเตอร์
หากต้องการเชื่อมต่อกับโมดูลบลูทูธ คุณสามารถใช้โปรแกรมต่างๆ ที่สามารถเชื่อมต่อกับพอร์ต COM ได้ ตัวอย่างเช่น เช่น HyperTerminal, PuTTY, Tera Term, ปลวก และอื่นๆ ทั้งหมดนี้ฟรีและเผยแพร่อย่างเสรีบนอินเทอร์เน็ต
ความสะดวกสบายของโปรแกรม TeraTermคือแสดงรายการพอร์ต COM ที่กำหนดให้กับโมดูลบลูทูธของคอมพิวเตอร์ของคุณโดยอัตโนมัติ เราเปิดโปรแกรมเลือกการเชื่อมต่อแบบอนุกรมเลือกพอร์ต Bluetooth COM ที่เกี่ยวข้องจากรายการแล้วคลิกตกลง
โปรแกรม สีโป๊วเมื่อเริ่มต้นระบบจะถามหมายเลขพอร์ต (COM4 คุณจะมีของคุณเอง) ความเร็วการเชื่อมต่อ (9600) ประเภทการเชื่อมต่อ (อนุกรม) จากนั้นกดปุ่ม เชื่อมต่อ.
หากมีข้อผิดพลาดระหว่างการเชื่อมต่อโปรแกรมจะแสดงการแจ้งเตือนที่เกี่ยวข้อง หากการเชื่อมต่อระหว่างคอมพิวเตอร์ของคุณกับโมดูล Bluetooth สำเร็จ คุณจะเห็นช่องเทอร์มินัลอยู่ตรงหน้าคุณ ป้อนหมายเลข 1 ลงในฟิลด์นี้จากแป้นพิมพ์และ LED บนพิน 13 ของ Arduino จะสว่างขึ้น ป้อน 0 และจะดับลง
6 การเชื่อมต่อจากสมาร์ทโฟนผ่านเทอร์มินัลบลูทูธ
ในทำนองเดียวกัน คุณสามารถเชื่อมต่อกับโมดูลบลูทูธจากสมาร์ทโฟนของคุณได้ ดาวน์โหลดแอปพลิเคชันเพื่อใช้งานบลูทูธผ่านเทอร์มินัล เป็นต้น เทอร์มินัลบลูทูธ- เชื่อมต่อกับโมดูลและป้อนคำสั่ง 0 หรือ 1
ดังนั้นเราจึงได้เรียนรู้วิธีเชื่อมต่อผ่านบลูทู ธ กับ Arduino และถ่ายโอนข้อมูลไป
บทความนี้จะมีอักขระ "สุดท้าย" นั่นคือจะสรุปความสำเร็จของฉันในการทำงานกับไมโครคอนโทรลเลอร์ Arduino ซึ่งต่ำมาก เพื่อว่าในภายหลังเมื่อจำเป็น คุณสามารถกลับมาที่แพลตฟอร์มนี้และดำเนินการเปิดและปิดอุปกรณ์ใดๆ บนแพลตฟอร์มได้
อย่างที่ฉันเห็น ด้วยความช่วยเหลือของโมดูลบลูทูธ คุณสามารถควบคุมอุปกรณ์สำหรับบ้านอัจฉริยะ หรือแม้แต่ทำการเปิดและปิดประตูตามปกติในบ้านหรือโรงรถ นั่นคือเขาขับรถขึ้นไปเปิดมัน ถ้าคุณจะไปก็ปิดแล้ว โดยหลักการแล้วฉันยังไม่มีบ้านส่วนตัวหรือประตู แต่ฉันรู้วิธีใช้งานแล้ว :)
ตอนนี้ให้ฉันบอกคุณเกี่ยวกับเรื่องนี้ด้วย
หลักการเปิดและปิดโหลดผ่าน Bluetooth โดยใช้ Arduino
ที่จริงแล้วหลักการนั้นง่ายมาก คุณต้องมีอุปกรณ์ที่สามารถติดตั้งซอฟต์แวร์ควบคุมภายใต้ระบบ Android สมมติว่าโทรศัพท์หรือแท็บเล็ต ต่อไป เราใช้ Arduino รวมถึงหน่วย Bluetooth เชื่อมต่อทั้งหมดเข้าด้วยกันแล้วอัปโหลดโปรแกรมไปยัง Arduino นั่นคือทั้งหมดที่
แผนภาพการเชื่อมต่อสำหรับ Arduino พร้อมโมดูล Bluetooth
แน่นอน ในกรณีของเรา ขั้นตอนแรกคือการเชื่อมต่อทางกายภาพ จากนั้นจึงไปที่ซอฟต์แวร์ เรามาเริ่มกันที่การเชื่อมต่อกันก่อน หากคุณมี Arduino UNO และโมดูล Bluetooth HC-06 หรือ 05 คุณจะต้องเชื่อมต่อดังนี้ อย่างไรก็ตามแผนภาพไม่แสดงการเชื่อมต่อของวงจรควบคุมแต่อย่างใด นั่นคือการเชื่อมต่อโดยตรงระหว่างโมดูล Bluetooth HC-06 และ Arduino จะปรากฏขึ้น
แน่นอนหากคุณมีเอาต์พุตควบคุม 11 และ 13 เช่นเดียวกับในกรณีของเราโปรดดูบทความด้านล่างหน่วยจ่ายไฟหรือเพียงแค่ LED จะเชื่อมต่อกับพวกมัน สิ่งสำคัญคือเมื่อคุณเชื่อมต่อโมดูล RX บนอุปกรณ์เครื่องหนึ่งจะไปที่ TX อีกเครื่องหนึ่งและในทางกลับกัน คำนึงถึงเรื่องนี้ด้วย!
ร่างสำหรับ Arduino เพื่อให้ทำงานร่วมกับโมดูล Bluetooth
ทีนี้มาพูดถึงแบบร่างกัน นั่นคือเกี่ยวกับซอฟต์แวร์ที่ทำให้แพลตฟอร์มฮาร์ดแวร์ของเราทำงานได้ ทุกอย่างง่ายมาก มาดูกัน.
อินท์วาล; ไฟ LED ภายใน = 13; อินท์ LED1 = 11; การตั้งค่าเป็นโมฆะ () ( Serial.begin (9600); pinMode (LED, OUTPUT); digitalWrite (LED, HIGH); ) void loop () ( ถ้า (Serial.available ()) ( val = Serial.read (); / / ที่สัญลักษณ์ “1” ให้เปิด LED 13 ถ้า (val == “1”) ( digitalWrite(LED, HIGH); ) // ที่สัญลักษณ์ “0” ให้ปิด LED 13 ถ้า (val == “0” ) ( digitalWrite(LED , LOW); ) // เมื่อสัญลักษณ์เป็น "2" ให้ปิด LED 11 ถ้า (val == "2") ( digitalWrite(LED1, HIGH); ) // เมื่ออักขระเป็น "0 ", ให้ปิด LED 11 ถ้า (val == "3 ") ( digitalWrite(LED1, LOW); ) ) )
จริงๆ แล้ว นี่คือการกำหนดตัวแปร LED สองตัวสำหรับขาที่ 11 และ 13 ในกรณีของเรา จากนั้นใช้ Serial.begin(9600) เพื่อเชื่อมต่อบลูทูธของเรา สิ่งที่เหลืออยู่คือหาโปรแกรมควบคุมบลูทูธ
โปรแกรมสำหรับแท็บเล็ตหรือโทรศัพท์ (Android) ควบคุมโหลดผ่านบลูทูธ
คุณเองสามารถค้นหาโปรแกรมที่รองรับการควบคุมโมดูล Bluetooth จากโทรศัพท์ของคุณได้ ขึ้นอยู่กับคุณ ฉันยังพบและจัดระเบียบ (ดาวน์โหลด ArduinoRC) โปรแกรมติดตั้งสำหรับตัวฉันเอง นั่นคือสิ่งที่ฉันใส่ไว้ในโทรศัพท์ของฉัน
ที่จริงแล้วด้วยความช่วยเหลือของโปรแกรมนี้คุณจะสามารถกำหนดเงื่อนไขเกณฑ์สำหรับร่างได้ซึ่งหมายถึงการรับสัญญาณบนพินเอาท์พุต 11 และ 13 ในกรณีของเราจะใช้ปุ่ม 0,1,2,3 พวกเขาคือผู้ที่เปิดและปิดไฟ LED ชมภาพร่าง
ครั้งแรกที่คุณเชื่อมต่ออุปกรณ์ อาจต้องใช้รหัสผ่าน เช่น 000 หรือ 1234
ปัญหาในการอัพโหลดโปรแกรมไปยัง Arduino
สิ่งสุดท้ายที่อยากจะพูดถึงและสิ่งที่เจอคือปัญหาที่เกิดขึ้น นั่นคือเมื่อทำการอัพโหลดโปรแกรมจำเป็นต้องปิดการใช้งานโมดูลบลูทู ธ เพราะไม่เช่นนั้นเมื่อเชื่อมต่อโมดูลและเมื่อโหลดโปรแกรมเกิดข้อผิดพลาด ร่างไม่ได้อัปโหลด
เมื่อสรุปทั้งหมดข้างต้นเราสามารถสรุปได้ว่าการใช้ Arduino และโมดูล Bluetooth คุณสามารถควบคุมโหลดหลายกิโลวัตต์ได้ด้วยการคลิกนิ้วเดียวบนโทรศัพท์หรือแท็บเล็ตของคุณ
ตอนนี้สิ่งเดียวกันอยู่ในวิดีโอ ...
คุณจำเป็นต้องควบคุมบอร์ด Arduino ของคุณจากระยะไกลและแลกเปลี่ยนข้อมูลกับอุปกรณ์บลูทูธอื่นๆ หรือไม่? โมดูล Bluetooth HC-05, HC06 จะช่วยคุณรับมือกับงานนี้
ในส่วนแรกของบทความเราจะพูดถึงวิธีสร้างการเชื่อมต่อไร้สายระหว่าง Arduino และคอมพิวเตอร์และในส่วนที่สองวิธีสร้างการเชื่อมต่อระหว่าง Arduino และโทรศัพท์ Android -
บทความนี้จะเป็นส่วนสำคัญในการประกอบรถยนต์ควบคุมระยะไกลเพิ่มเติม
ส่วนประกอบสำหรับการทำซ้ำ (ซื้อในประเทศจีน):
โมดูล HC-05/06 เป็นบลูทูธเปล่าพร้อมสายไฟเพิ่มเติม
กล่าวคือ: ติดตั้งบนพื้นผิวซึ่งมีตัวกันโคลงตั้งแต่ 5 ถึง 3.3 โวลต์, ไฟ LED แสดงสถานะของโมดูล (ไม่ว่าจะมีการเชื่อมต่อเกิดขึ้นหรือไม่ก็ตาม) และตัวเก็บประจุบนสายไฟ นอกจากนี้ยังมีทรานซิสเตอร์ mosfet (Q1) ติดตั้งอยู่บนบอร์ดซึ่งหากจำเป็นอาจทำให้วงจรจ่ายไฟของ Bluetooth พังและปิดเครื่องได้ แต่จะไม่มีการใช้ในการตรวจสอบของเรา
จากด้านหน้าโมดูลจะมีลักษณะเช่นนี้
การเชื่อมต่อกับ Arduino
บลูทูธ HC-05/06 | อาร์ดูโน่ |
วีซีซี | +5V |
จีเอ็นดี | จีเอ็นดี |
เท็กซัส | รับ |
รับ | เท็กซัส |
เมื่อจ่ายไฟให้กับโมดูล ไฟ LED ในตัวจะเริ่มกะพริบ
1) ด้วยคอมพิวเตอร์ (ระบบปฏิบัติการ WIN7)
2) ด้วยโทรศัพท์ (ระบบปฏิบัติการ ANDROID)
ในทั้งสองกรณีเราจะต้องดำเนินการ 2 การกระทำ: จับคู่โมดูลและอุปกรณ์ ควบคุมผ่านเทอร์มินัลบางตัว
ส่วนที่ 1. การเชื่อมต่อกับคอมพิวเตอร์ (WIN7)
หากคอมพิวเตอร์ของคุณไม่มีบลูทูธในตัว คุณสามารถใช้งานได้ การค้นหาตามร้านสื่อสารหรือในตลาดวิทยุไม่ใช่เรื่องยาก
หลังจากติดตั้งไดรเวอร์สำหรับ Bluetooth แล้ว คุณก็สามารถเริ่มทำงานได้
. การดำเนินการ 1
ไปที่แผงควบคุม คลิกที่ไอคอน Bluetooth และเลือก "แสดงอุปกรณ์ Bluetooth"
หลังจากนั้นสักครู่ คอมพิวเตอร์จะค้นหาและคุณจะเห็นโมดูลของคุณ (โมดูลของคุณอาจมีชื่ออื่น)
เลือกตัวเลือกที่สอง - “ป้อนรหัสการจับคู่อุปกรณ์”
สำหรับ HC-06 รหัสนี้คือ 1234
ทุกอย่างจบลงด้วยภาพนี้
และหลังจากนั้นก็มีอีกอันหนึ่ง
ขั้นตอนแรกของการตั้งค่าเสร็จสมบูรณ์
ในกรณีที่คุณลืมพอร์ต COM ใดที่คุณระบุว่าเป็นบลูทูธ คุณสามารถค้นหาได้โดยทำตามขั้นตอนเหล่านี้:
การดำเนินการ
ป.ล. หรือดูในตัวจัดการอุปกรณ์
- พระราชบัญญัติ 2
สามารถใช้เทอร์มินัลใดก็ได้เพื่อถ่ายโอนข้อมูล ฉันใช้ "ปลวก" ที่เรียบง่ายและฟรี
ตัวอย่างเช่นเราจะเปลี่ยนสถานะของ LED "LED 13" ที่สร้างไว้ในบอร์ด Arduino โดยจะเปิดเมื่อได้รับสัญลักษณ์ “W” และจะปิดเมื่อได้รับสัญลักษณ์ “S” จำเป็นต้องอัปโหลดภาพร่างด้านล่างไปยังบอร์ด Arduino เมื่อเทลงในบอร์ด คุณต้องถอดปลั๊กไฟออกจากโมดูล Bluetoothหลังจากเติมแล้วให้เชื่อมต่อใหม่
ตัวอย่างโค้ดโปรแกรม:
อินท์วาล; ไฟ LED ภายใน = 13; เป็นโมฆะ ติดตั้ง () { อนุกรม.เริ่มต้น(9600); pinMode(LED, เอาท์พุต); ) เป็นโมฆะ วนซ้ำ() ( ถ้า ( อนุกรม.available()) (วาล= อนุกรม.อ่าน(); // เมื่อสัญลักษณ์ "W" เปิดขึ้น LEDถ้า (val == "W" ) ( digitalWrite (LED, สูง ); ) // เมื่อสัญลักษณ์ "S" ปิดไฟ LEDถ้า (val == "S" ) ( digitalWrite (LED, LOW ); ) ) ) เปิดโปรแกรม " ปลวก"ในการตั้งค่า เลือกพอร์ตของเรา ความเร็ว (9600)
คุณยังสามารถตรวจสอบโมดูลที่ไม่มี Arduino ได้โดยเพียงแค่ลัดวงจรพิน TX และ RX เครื่องหมายปลวกส่งตัวอักษรสีน้ำเงิน และได้รับตัวอักษรสีเขียว เหล่านั้น. ถ้าเราส่งไปโดยที่พินลัดวงจรและได้รับสิ่งเดียวกัน แสดงว่าโมดูลทำงานปกติ นี่แสดงให้เห็นในภาพด้านล่าง
ส่วนที่ 2 การเชื่อมต่อกับโทรศัพท์ของคุณ (Android)
ผู้ทดสอบจะเป็นโทรศัพท์ Samsung Galaxy Ace 2 ที่ใช้ระบบปฏิบัติการ Android
- การดำเนินการ 1
กำลังเชื่อมต่อกับโทรศัพท์
- พระราชบัญญัติ 2
ในฐานะเทอร์มินัล เราจะเลือกอันที่เรียบง่ายและฟรีอีกครั้ง แต่คราวนี้ "เทอร์มินัล Bluetooth"
ป.ล. หากคุณไม่สามารถเชื่อมต่อได้ ให้ถอดปลั๊ก Bluetooth ออกแล้วเชื่อมต่อใหม่
บลูทู ธ- นี่อาจเป็นการสื่อสารประเภทหนึ่งที่พบบ่อยที่สุดสำหรับระยะทางสั้น ๆ ซึ่งอุปกรณ์อิเล็กทรอนิกส์สมัยใหม่ส่วนใหญ่ใช้ ชุดหูฟังโทรศัพท์ หูฟัง คีย์บอร์ดและเมาส์ เครื่องพิมพ์ และพระเจ้าทรงทราบอุปกรณ์อื่นๆ เมื่อไม่นานมานี้ บลูทูธได้รับความนิยมในฐานะวิธีการถ่ายโอนไฟล์ระหว่างโทรศัพท์ ข้อได้เปรียบหลักของ BT ได้แก่ ความต้านทานที่ดีต่อสัญญาณรบกวนบรอดแบนด์และความสะดวกในการใช้งาน ประการแรกหมายความว่าอุปกรณ์จำนวนมากที่อยู่ในที่เดียวสามารถสื่อสารระหว่างกันพร้อมกันได้โดยไม่รบกวนซึ่งกันและกัน ประการที่สองช่วยให้มีการนำ Bluetooth มาใช้อย่างกว้างขวางในสภาพแวดล้อม DIY และโดยทั่วไปในทุกสภาพแวดล้อม โดยส่วนตัวแล้ว ฉันใช้ BT เพื่อควบคุมหุ่นยนต์จากสมาร์ทโฟนของฉัน Google Play มีแอปพลิเคชันหลายตัวที่มีอินเทอร์เฟซที่ใช้งานง่ายสำหรับวัตถุประสงค์เหล่านี้โดยเฉพาะ ผู้เข้าร่วมแฮ็กสเปซ MakeItLab ของเราใช้บลูทูธเพื่อควบคุมแสงจากระยะไกลและรวบรวมการวัดและส่งข้อมูลทางไกลจากควอดคอปเตอร์ โมดูล Bluetooth ที่ราคาไม่แพงที่สุดในปัจจุบันสามารถเรียกว่า HC-05 และ HC-06 มีวางจำหน่ายทั่วไปในร้านค้าออนไลน์ของจีนและบนอีเบย์ ข้อแตกต่างระหว่างกันคืออันแรกสามารถทำงานได้ทั้งในโหมดทาสและโหมดมาสเตอร์ อันที่สองเป็นอุปกรณ์ทาสล้วนๆ (แต่สามารถแก้ไขได้!) กล่าวอีกนัยหนึ่ง HC-06 ไม่สามารถตรวจจับอุปกรณ์ที่จับคู่และสร้างการสื่อสารกับอุปกรณ์นั้นได้ มันสามารถเชื่อฟังได้เฉพาะกับอุปกรณ์หลักเท่านั้น อุปกรณ์ทั้งสองใช้ชิป CSR BC417 ซึ่งรองรับ Bluetooth เวอร์ชัน 2.0 ที่ความเร็วสูงสุด 3 Mbit/s เป็นโมดูลเหล่านี้ที่จะกล่าวถึงต่อไป
1. ตัวเลือกการดำเนินการ
โดยปกติแล้ว โมดูลจะขายโดยมีสองบอร์ดที่บัดกรีเข้าด้วยกัน อันที่เล็กกว่านั้นเป็นโมดูลจากโรงงานซึ่งใช้กันอย่างแพร่หลายในอุปกรณ์อิเล็กทรอนิกส์ต่างๆ ใหญ่ - ผ้าพันคอดีไซน์พิเศษสำหรับ DIY นี่คือลักษณะของบอร์ดขนาดเล็กที่มีชิป BC417:และนี่คือโมดูล DIY HC-05 และ HC-06:
เพื่อจุดประสงค์อันชาญฉลาดของฉัน ฉันมักจะใช้ HC-05 เนื่องจากมีราคาไม่แตกต่างจาก HC-06 มากนัก และช่วยให้คุณสามารถเชื่อมโยงอุปกรณ์ทั้งสองเข้าด้วยกันได้โดยไม่มีปัญหาใดๆ ตัวอย่างเช่น คุณสามารถสร้างหุ่นยนต์และรีโมทคอนโทรลสำหรับมันได้ ฉันมักจะได้รับโมดูลจากประเทศจีนเหมือนกับในภาพด้านซ้ายทุกประการ แต่บางครั้งก็ไม่มีปุ่ม ผ้าพันคอจำลองอีกรุ่นหนึ่งก็เป็นเรื่องธรรมดาเช่นกัน ต่างจากที่แสดงไว้ด้านบน พวกเขาไม่มีขา EN แต่มีขา KEY ซึ่งสบายกว่าเล็กน้อย
พินเอาท์แล้วขามีหน้าที่รับผิดชอบอะไรในตัวเลือกโมดูลทั้งหมด?
- TH—เปิด/ปิดโมดูล
- VCC - แหล่งจ่ายไฟ +5V;
- GND - กราวด์;
- TXD, RXD - อินเทอร์เฟซ UART สำหรับการสื่อสารกับคอนโทรลเลอร์
- รัฐ - ตัวบ่งชี้สถานะ;
- KEY - เท้าสำหรับเข้าสู่โหมดคำสั่ง AT
2. การเชื่อมต่อกับ Arduino Uno
มีขาไม่มากจึงไม่สับสน เราเชื่อมต่อบลูทู ธ กับ Arduino Uno ตามรูปแบบต่อไปนี้:บลูทู ธ | จีเอ็นดี | วีซีซี | เท็กซัส | RXD | สำคัญ |
อาร์ดูโน่ อูโน่ | จีเอ็นดี | +5V | 10 | 11 |
3. การจับคู่ระดับแรงดันไฟฟ้า
บอร์ดโมดูล Bluetooth ขนาดเล็กมีแรงดันไฟฟ้าลอจิก 3.3 โวลต์ ซึ่งหมายความว่า Arduino Uno สามารถเบิร์นพอร์ตหรือส่งสัญญาณไม่ถูกต้องได้ โชคดีในกรณีส่วนใหญ่ กระดานขนาดใหญ่มีทุกสิ่งไว้บนกระดานเพื่อหลีกเลี่ยงปัญหานี้ โมดูลข้างต้นสามารถเชื่อมต่อกับ Arduino ได้อย่างง่ายดายโดยไม่ต้องยุ่งยากโดยไม่จำเป็น แม้ว่าผู้ผลิตเองจะเขียนคำเตือนบนผ้าพันคอเกี่ยวกับระดับสัญญาณ 3.3 โวลต์ก็ตาม อย่างไรก็ตาม ในบางสถานการณ์อาจจำเป็นต้องติดตั้งตัวแบ่งแรงดันไฟฟ้าบนสาย Arduino TX - BT RX เพื่อลดระดับลอจิก ในความเป็นจริงแม้ว่าทุกอย่างจะทำงานโดยไม่มีตัวแบ่ง แต่ก็เป็นการดีกว่าถ้าใส่เข้าไปเพื่อประโยชน์ในการสั่งซื้อ วงจรแบ่งอยู่ด้านล่าง:4. การเตรียม Arduino
เพื่อเริ่มการตั้งค่า เราต้องอัปโหลดภาพร่างเสริมลงใน Arduino โดยพื้นฐานแล้วมันคือโปรแกรมทวนสัญญาณที่จะแลกเปลี่ยนข้อมูลระหว่างเทอร์มินัลบนคอมพิวเตอร์และโมดูล Bluetooth โปรแกรมนั้นง่ายมาก: #include5. การเตรียมเครื่องเทอร์มินัล
คุณสามารถใช้มอนิเตอร์พอร์ตที่ติดตั้งใน Arduino IDE เป็นเทอร์มินัล หรือคุณสามารถใช้อันอื่นก็ได้ ฉันใช้เทอร์มินัลบุคคลที่สาม TeraTerm ก่อนเชื่อมต่อ คุณต้องทำการตั้งค่าที่สำคัญสองรายการ:- อัตรารับส่งข้อมูล: 9600;
- อักขระป้อนบรรทัด: CR+LF
เมื่อทุกอย่างได้รับการกำหนดค่าอย่างถูกต้องแล้ว ให้เชื่อมต่อกับพอร์ต COM และตรวจสอบการเชื่อมต่อ มีเหตุผลที่จะแบ่งการจัดการเพิ่มเติมทั้งหมดออกเป็นสองส่วน: สำหรับโมดูลทาส HC-06 และสำหรับมาสเตอร์ HC-05
6. การตั้งค่า HC-06
กำลังตรวจสอบการเชื่อมต่อ
หลังจากจ่ายไฟให้กับโมดูลแล้ว LED จะเริ่มกระพริบแรงๆ:ตอนนี้ไปที่เทอร์มินัลแล้วเขียนคำสั่ง: ที่ ในการตอบสนอง โมดูลควรบอกเราว่า: ตกลง คำสั่งถัดไปของเราจะถามโมดูลเกี่ยวกับเวอร์ชัน: AT+เวอร์ชั่น? เราได้รับสิ่งนี้: โอเคลินวอร์1.5 เกิดขึ้น? ถ้าไม่เช่นนั้น ให้ตรวจสอบ:
- ความเร็วในการเชื่อมต่อกับโมดูลที่ตั้งค่าไว้ในโปรแกรมแปล: สำหรับการสื่อสารกับทาสความเร็วต้องเป็น 9600
- การตั้งค่าอักขระการป้อนบรรทัด: อย่าลืม CR+LF!
- เรากด Enter หลังจากแต่ละคำสั่งหรือไม่? คุณไม่เคยรู้...
คำสั่งที่เป็นประโยชน์
โมดูล Bluetooth Slave มีเพียงสามพารามิเตอร์ในการกำหนดค่า:- คำสั่งเปลี่ยนรหัสผ่านบนอุปกรณ์: AT+PIN<пароль>
- การเปลี่ยนแปลงความเร็ว: AT+โบ๊ด<скорость>
- เปลี่ยนชื่ออุปกรณ์: AT+ชื่อ<имя>
7. การตั้งค่า HC-05
เปลี่ยนเป็นโหมดคำสั่ง AT
ในการเข้าถึงการตั้งค่าโมดูลหลัก จะต้องสลับไปที่โหมดคำสั่ง AT มีสองวิธีที่คุณสามารถใช้เพื่อเข้าสู่โหมดนี้ (ฉันใช้วิธีแรกเสมอ) วิธีแรก:- ถอดโมดูลออกจากแหล่งจ่ายไฟ
- เราใช้สัญญาณ +3.3V ไปที่ขา KEY
- เราเปิดโมดูล
- เราเปิดโมดูล
- เราใช้สัญญาณ +3.3V KEY ที่ขา
ตรวจสอบการเชื่อมต่อ HC
ลองตรวจสอบโหมดคำสั่งของ HC-05 ในลักษณะเดียวกับในกรณีของโมดูลทาส: >>: ที่ <<: ตกลง >>: AT+เวอร์ชั่น? <<: +เวอร์ชัน:2.0-20100601การตั้งค่า HC-05 ให้เป็นทาส
หากต้องการเปลี่ยนโมดูลให้เป็นทาส คุณจะต้องรันหลายคำสั่ง: รีเซ็ตการตั้งค่าก่อนหน้า: AT+ORGL การรีเซ็ตอุปกรณ์ที่จับคู่: AT+RMAAD การตั้งรหัสผ่าน: AT+PSWD=1234 การเปิดใช้งานโหมดทาส: AT+บทบาท=0 นอกจากนี้ คุณสามารถค้นหาที่อยู่อุปกรณ์ (จำเป็นในการกำหนดค่าโมดูลที่จับคู่): AT+ADDR? เพื่อเป็นการตอบสนองเราได้รับที่อยู่: อดีอาร์=12:6:143117 หลังการตั้งค่า ให้ถอดขา KEY ออกจาก +3.3V แล้วรีสตาร์ทโมดูล พร้อม!การตั้งค่า HC-05 เป็นต้นแบบ
โมดูลมาจากโรงงานในฐานะทาส และเพื่อให้เป็นโมดูลหลัก คุณจะต้องรันคำสั่งต่อไปนี้ รีเซ็ตการตั้งค่าก่อนหน้า: AT+ORGL การรีเซ็ตอุปกรณ์ที่จับคู่: AT+RMAAD การเปิดใช้งานโหมดหลัก: AT+บทบาท=1 รีสตาร์ทหลังจากเปลี่ยนบทบาท: AT+รีเซ็ต หากเราต้องการเชื่อมต่อทาสและมาสเตอร์เราจะเขียนคำสั่งต่อไปนี้: การตั้งรหัสผ่านทาส: AT+PSWD=1234 ระบุอุปกรณ์ที่จับคู่: AT+PAIR=<адрес>,<таймаут> (ตัวอย่าง: AT+คู่=12,6,143117,5) เราเชื่อมโยงกับที่อยู่เฉพาะ: AT+ผูก=<адрес> (ตัวอย่าง: AT+ผูก=12,6,143117) เราห้ามการเชื่อมต่อกับที่อยู่อื่น: AT+CMOD=0 พร้อม! ตอนนี้โมดูลเชื่อมต่อกับทาสแล้ว และทุกครั้งที่เปิดโมดูลจะพยายามเชื่อมต่อกับมันและทำงานร่วมกับเขา
การอัพเกรดโล่มอเตอร์
ปรากฎว่าผู้ผลิตโมดูล Motor Shield ทำให้ลูกค้าไม่สามารถติดตั้งโมดูลอื่นที่ด้านบนของผลิตภัณฑ์ของตนได้ เห็นได้ชัดว่าพวกเขาชอบที่จะอยู่ด้านบนหรือเพียงแค่บีบแผงหน้าสัมผัสปกติ
ความแตกต่างนี้ไม่เหมาะกับฉันเลย นั่นคือเหตุผลที่ฉันตัดสินใจหยิบหัวแร้งขึ้นมาและนำ Motor Shield มาในรูปแบบที่สะดวกสำหรับฉัน
ฉันดึงซ็อกเก็ตหน้าสัมผัสเดิมออกอย่างระมัดระวังแล้วโยนทิ้งไป
ฉันติดตั้งอันปกติแทน
ในรูปแบบนี้โมดูลมีความสะดวกในการใช้งานมากขึ้น ตอนนี้ฉันสามารถเชื่อมต่อสาย Bluetooth เข้ากับขั้วต่อได้อย่างเหมาะสม และไม่บัดกรีเข้ากับหน้าสัมผัสบน Motor Shield อย่างแน่นหนา
โมดูลบลูทูธ JY-MCU สำหรับ Arduino
โมดูล Bluetooth ของ JY-MCU นั้นมีขนาดค่อนข้างเล็ก ชุดส่งมอบประกอบด้วยสายเชื่อมต่อ การกำหนดพินจะแสดงที่ด้านหลัง
สามารถจ่ายไฟจากแหล่งพลังงาน 3.6-6V สิ่งนี้ทำให้เรามีโอกาสเชื่อมต่อโดยตรงกับ Arduino โดยไม่ต้องใช้ตัวควบคุมหรือตัวแบ่งแรงดันไฟฟ้า
รหัสที่ใช้เมื่อเชื่อมต่อกับอุปกรณ์: 1234
การเชื่อมต่อ Bluetooth JY-MCU กับ Arduino Mega 2560
การเชื่อมต่อค่อนข้างง่าย
แผนภาพการเชื่อมต่ออย่างเป็นทางการ:
- TXT บน JY-MCU เชื่อมต่อกับ RX (0) บน Arduino
- เชื่อมต่อ RXD บน JY-MCU กับ TX (1) บน Arduino
ด้วยตัวเลือกการเชื่อมต่อนี้ คุณจะต้องปิดโมดูลบลูทูธทุกครั้งก่อนที่จะโหลดแบบร่าง อย่าลืมเรื่องนี้
ฉันไม่พอใจกับตัวเลือกนี้ ดังนั้นฉันจึงตัดสินใจใช้พอร์ตแยกที่รองรับซีเรียล
แผนภาพการเชื่อมต่ออย่างไม่เป็นทางการ:
- VCC บน JY-MCU เชื่อมต่อกับ +5V Arduino
- เชื่อมต่อ GND บน JY-MCU กับ GND Arduino
- TXT บน JY-MCU เชื่อมต่อกับ PIN 50 แบบแยกบน Arduino
- เชื่อมต่อ RXD บน JY-MCU เข้ากับ PIN 51 แบบแยกบน Arduino
ตอนนี้คุณสามารถอัปโหลดภาพร่างได้โดยไม่ต้องปิดเครื่องไปยังโมดูล Bluetooth
เพื่อรักษาความปลอดภัยให้กับ Bluetooth ฉันจึงตัดสินใจใช้บอร์ด Proto Shield และเขียงหั่นขนมขนาดเล็กแบบไร้บัดกรี ในอนาคต ฉันจะเชื่อมต่ออุปกรณ์ การควบคุม และจอแสดงผลอื่นๆ เข้ากับอุปกรณ์ดังกล่าว
ร่างสำหรับควบคุมหุ่นยนต์บน Arduino ผ่าน Bluetooth ผ่านสมาร์ทโฟน Android
ในภาพร่างของฉัน ฉันใช้ฟังก์ชันต่อไปนี้:
- การเคลื่อนไหวไปข้างหน้า
- กำลังเคลื่อนตัวถอยหลัง
- เลี้ยวซ้าย
- เลี้ยวขวา
- เลี้ยวซ้ายอย่างนุ่มนวลเมื่อก้าวไปข้างหน้า
- เลี้ยวขวาอย่างนุ่มนวลเมื่อก้าวไปข้างหน้า
- เลี้ยวซ้ายอย่างนุ่มนวลเมื่อถอยหลัง
- เลี้ยวขวาได้อย่างราบรื่นเมื่อถอยหลัง
- หยุด
การตั้งค่าความเร็ว 0%
การตั้งค่าความเร็ว 10%
การตั้งค่าความเร็ว 20%
การตั้งค่าความเร็ว 30%
การตั้งค่าความเร็ว 40%
การตั้งค่าความเร็ว 50%
การตั้งค่าความเร็ว 60%
การตั้งค่าความเร็ว 70%
การตั้งค่าความเร็ว 80%
การตั้งค่าความเร็ว 90%
ตั้งค่าความเร็วได้ 100%
ฉันใช้ฟังก์ชันในแบบร่างเพื่อไม่ให้โค้ดซ้ำสำหรับเหตุการณ์ที่คล้ายกัน
#รวม
// เชื่อมต่อไลบรารีควบคุมเครื่องยนต์
#รวม// เชื่อมต่อไลบรารีสำหรับเซอร์โว
#รวม// เชื่อมต่อไลบรารีเพื่อทำงานกับ Serial ผ่านพอร์ตแยก //สร้างวัตถุสำหรับเครื่องยนต์
AF_DCมอเตอร์มอเตอร์1(1); //ช่อง M1 บน Motor Shield - ด้านหลังซ้าย
AF_DCมอเตอร์มอเตอร์2(2); //ช่อง M2 บน Motor Shield - ด้านหลังขวา
AF_DCมอเตอร์มอเตอร์3(3); //ช่อง M3 บน Motor Shield - ด้านหน้าซ้าย
AF_DCมอเตอร์มอเตอร์4(4); //ช่อง M4 บน Motor Shield - ด้านหน้าขวา// สร้างวัตถุสำหรับเซอร์โว
เซอร์โวกับเซอร์โว;ซอฟต์แวร์อนุกรม BTSซีเรียล (50, 51); // รับ เท็กซัส
// สร้างตัวแปรสำหรับคำสั่ง Bluetooth
ถ่าน vcmd;
// สร้างตัวแปรเพื่อจดจำความเร็วของมอเตอร์
int vspdL, vspdR;
/* สร้างตัวแปรที่มีค่าจะลดความเร็วระหว่างการเลี้ยวที่ราบรื่น
ความเร็วปัจจุบันต้องมากกว่าค่านี้ มิฉะนั้นมอเตอร์ในทิศทางการหมุนก็จะไม่หมุน */
int vspd = 200;การตั้งค่าเป็นโมฆะ () (
// ตั้งค่าอัตราการถ่ายโอนข้อมูล Bluetooth
BTSerial.begin(9600);
// ตั้งค่าความเร็วในการถ่ายโอนข้อมูลผ่านสายเคเบิล
อนุกรมเริ่มต้น(9600);
// เลือกพินที่เซอร์โวเชื่อมต่ออยู่
vsservo.แนบ(9); // หรือ 10 หากเสียบเข้ากับขั้วต่อด้านนอกสุด
// หมุนเซอร์โวไปที่ 90 องศาทุกครั้งที่เปิดเครื่อง
vsservo.write(90);
// กำหนดความเร็วการหมุนสูงสุดของเครื่องยนต์
ความเร็ว(255,255);
}เป็นโมฆะวน() (
// ถ้ามีข้อมูล
ถ้า (BTSerial.available())
{
// อ่านคำสั่งแล้วนำไปใส่ในตัวแปร char แปลงโค้ดอักขระคำสั่งเป็นอักขระ
vcmd = (ถ่าน) BTSerial.read();
// ส่งคำสั่งไปยังพอร์ตเพื่อให้สามารถตรวจสอบได้ใน "Port Monitor"
Serial.println(vcmd);// ซึ่งไปข้างหน้า
ถ้า (vcmd == "F") (
ไปข้างหน้า();
}
// กลับ
ถ้า (vcmd == "B")
{
vย้อนกลับ();
}
// ซ้าย
ถ้า (vcmd == "L")
{
vleft();
}
// ขวา
ถ้า (vcmd == "R")
{
ไรท์();
}
// ตรงและซ้าย
ถ้า (vcmd == "G")
{
vไปข้างหน้าซ้าย();
}
//ตรงและขวา
ถ้า (vcmd == "ฉัน")
{
vไปข้างหน้าขวา();
}
//หันหลังไปทางซ้าย
ถ้า (vcmd == "H")
{
vย้อนกลับซ้าย();
}
// หันหลังไปทางขวา
ถ้า (vcmd == "J")
{
vbackwardright();
}
// หยุด
ถ้า (vcmd == "S")
{
วีรีลีส();
}
// ความเร็ว 0%
ถ้า (vcmd == "0")
{
วีสปีด(0,0);
}
// ความเร็ว 10%
ถ้า (vcmd == "1")
{
ความเร็ว(25,25);
}
// ความเร็ว 20%
ถ้า (vcmd == "2")
{
วีสปีด(50,50);
}
// ความเร็ว 30%
ถ้า (vcmd == "3")
{
ความเร็ว(75,75);
}
// ความเร็ว 40%
ถ้า (vcmd == "4")
{
วีสปีด(100,100);
}
// ความเร็ว 50%
ถ้า (vcmd == "5")
{
ความเร็ว(125,125);
}
// ความเร็ว 60%
ถ้า (vcmd == "6")
{
ความเร็ว(150,150);
}
// ความเร็ว 70%
ถ้า (vcmd == "7")
{
ความเร็ว(175,175);
}
// ความเร็ว 80%
ถ้า (vcmd == "8")
{
วีสปีด(200,200);
}
// ความเร็ว 90%
ถ้า (vcmd == "9")
{
ความเร็ว(225,225);
}
// ความเร็ว 100%
ถ้า (vcmd == "q")
{
ความเร็ว(255,255);
}
}
}// ซึ่งไปข้างหน้า
เป็นโมฆะไปข้างหน้า() (
vspeed(vspdL,vspdR);
vforwardRL();
}// ส่งต่อสำหรับ RL
เป็นโมฆะ vforwardRL() (
motor1.run (ไปข้างหน้า);
motor2.run (ไปข้างหน้า);
motor3.run(ไปข้างหน้า);
motor4.run (ไปข้างหน้า);
}// กลับ
เป็นโมฆะ vbackward() (
vspeed(vspdL,vspdR);
vbackwardRL();
}// กลับไปที่ RL
เป็นโมฆะ vbackwardRL() (
motor1.run (ย้อนกลับ);
motor2.run (ย้อนกลับ);
motor3.run(ย้อนกลับ);
motor4.run(ย้อนกลับ);
}// ซ้าย
เป็นโมฆะ vleft() (
vspeed(vspdL,vspdR);
motor1.run (ย้อนกลับ);
motor2.run (ไปข้างหน้า);
motor3.run(ย้อนกลับ);
motor4.run (ไปข้างหน้า);
}// ขวา
เป็นโมฆะ vright() (
vspeed(vspdL,vspdR);
motor1.run (ไปข้างหน้า);
motor2.run (ย้อนกลับ);
motor3.run(ไปข้างหน้า);
motor4.run(ย้อนกลับ);
}// ไปข้างหน้าและซ้าย
เป็นโมฆะ vforwardleft() (
ถ้า (vspdL > vspd) (
vspeed(vspdL-vspd,vspdR);
}
อื่น
{
vspeed(0,vspdR);
}
vforwardRL();
}// ไปข้างหน้าและขวา
เป็นโมฆะ vforwardright() (
ถ้า (vspdR > vspd) (
vspeed(vspdL,vspdR-vspd);
}
อื่น
{
vspeed(vspdL,0);
}
vforwardRL();
}//หันหลังไปทางซ้าย
เป็นโมฆะ vbackwardleft() (
ถ้า (vspdL > vspd) (
vspeed(vspdL-vspd,vspdR);
}
อื่น
{
vspeed(0,vspdR);
}
vbackwardRL();
}// หันหลังไปทางขวา
เป็นโมฆะ vbackwardright() (
ถ้า (vspdR > vspd) (
vspeed(vspdL,vspdR-vspd);
}
อื่น
{
vspeed(vspdL,0);
}
vbackwardRL();
}// หยุด
เป็นโมฆะ vrelease())(
motor1.run (ปล่อย);
motor2.run (ปล่อย);
motor3.run(ปล่อย);
motor4.run (ปล่อย);
}//เปลี่ยนความเร็ว
เป็นโมฆะ vspeed (int spdL, int spdR) (
ถ้า (spdL == spdR) (
vspdL=spdL;
เทียบกับspdR=spdR;
}
motor1.setSpeed(spdL);
motor2.setSpeed(spdR);
motor3.setSpeed(spdL);
motor4.setSpeed(spdR);
}
โปรแกรม Bluetooth RC Car - ควบคุมรถหุ่นยนต์จากสมาร์ทโฟน Android
ฉันติดตั้งโปรแกรม Bluetooth RC Car บนสมาร์ทโฟนของฉัน ในความคิดของฉัน นี่เป็นซอฟต์แวร์ที่ดีที่สุดในการควบคุมรถหุ่นยนต์
โปรแกรมช่วยให้คุณสามารถส่งคำสั่งเมื่อกดปุ่มหรือตอบสนองต่อข้อมูลจากมาตรความเร่งในสมาร์ทโฟนของคุณ ปรับความเร็วการเคลื่อนไหวด้วยแถบเลื่อน เปิดไฟหน้าและไฟท้าย เปิดและปิดสัญญาณเสียง เปิดและปิด สัญญาณฉุกเฉิน
โปรแกรมต้องใช้ Android เวอร์ชัน 2.3.3 หรือสูงกว่า ขนาดของโปรแกรมคือ 3 เมกะไบต์
รายการคำสั่ง:
- F – ไปข้างหน้า
- บี-กลับ
- ล – ซ้าย
- ร-ถูกต้อง
- G - ตรงและซ้าย
- ฉัน - ตรงและไปทางขวา
- H - ถอยหลังและซ้าย
- เจ - กลับไปกลับมา
- ส-หยุด
- W - เปิดไฟหน้า
- w - ไฟหน้าดับอยู่
- U - เปิดไฟท้าย
- คุณ - ไฟท้ายดับอยู่
- V - สัญญาณเสียงเปิดอยู่
- v - สัญญาณเสียงถูกปิด
- X - สัญญาณฉุกเฉินเปิดอยู่
- x - สัญญาณฉุกเฉินปิดอยู่
- 0 – ความเร็วในการเคลื่อนที่ 0%
- 1 – ความเร็วในการเคลื่อนที่ 10%
- 2 – ความเร็วในการเคลื่อนที่ 20%
- 3 – ความเร็วในการเคลื่อนที่ 30%
- 4 – ความเร็วในการเคลื่อนที่ 40%
- 5 – ความเร็วในการเคลื่อนที่ 50%
- 6 – ความเร็วในการเคลื่อนที่ 60%
- 7 – ความเร็วในการเคลื่อนที่ 70%
- 8 – ความเร็วในการเคลื่อนที่ 80%
- 9 – ความเร็วในการเคลื่อนที่ 90%
- q – ความเร็วในการเคลื่อนที่ 100%
อย่างที่คุณเห็น พื้นที่ทดสอบความคิดสร้างสรรค์ค่อนข้างดี ฉันยังจะเพิ่มความสามารถในการเปิดไฟซ้ายและขวาแยกกันสำหรับไฟหน้าและหลัง
ฉันได้เน้นด้วยตัวหนาคำสั่งที่ได้รับการสนับสนุนอยู่แล้วในแบบร่าง ฉันจะใช้ส่วนที่เหลือเพื่อจุดประสงค์อื่น
หลักการส่งคำสั่ง: เมื่อกดปุ่มในโปรแกรมคำสั่งจะถูกส่งผ่าน Bluetooth หนึ่งครั้ง และเมื่อปล่อยปุ่ม คำสั่ง S-stop จะถูกส่งทันที
การสาธิตการทำงาน
ครั้งต่อไป ฉันวางแผนที่จะเชื่อมต่อเครื่องค้นหาระยะอัลตราโซนิกกับหุ่นยนต์ และใช้อัลกอริธึมการหลีกเลี่ยงสิ่งกีดขวาง