สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
สวัสดี, ต่อไปนี้คือบทช่วยสอนเกี่ยวกับวิธีการพล็อตกราฟค่าแบบเรียลไทม์จากไมโครคอนโทรลเลอร์ เช่น Arduino ไปยังแอป ใช้โมดูล Bluetooth เช่น HC-05 เพื่อทำหน้าที่เป็นอุปกรณ์ส่งข้อความเพื่อส่งและรับข้อมูลระหว่าง Arduino และ Android
แอปนี้ใช้งานง่ายและสามารถใช้เพื่อวัตถุประสงค์อื่น เช่น ตัวควบคุมเพื่อควบคุมรถหุ่นยนต์ จอภาพแบบอนุกรม ซึ่งคล้ายกับที่นำเสนอโดย Arduino IDE เพื่อรับข้อความซีเรียลและส่งข้อมูลอนุกรม
พอแล้ว - แชท มาเริ่มกันเลย
เสบียง
- Arduino nano หรือ mega
- ทำให้แอป Bluetooth เป็นอนุกรม (https://play.google.com/store/apps/details?id=com.athenaDEVKE.bluetoothserialcommunication)
- HC-05
- สายจัมเปอร์ชาย
- ตัวต้านทาน 10K และ 20K เพื่อสร้างตัวแบ่งแรงดันไฟฟ้า หากไม่ใช้ตัวต้านทานที่คล้ายกันสองตัวที่มีค่าสูงปานกลางในอนุกรมจะยังคงใช้งานได้
ขั้นตอนที่ 1: แผนผังและการเชื่อมต่อ
- เชื่อมต่ออุปกรณ์ตามที่แสดงด้านบนและเปิดโมดูล
- อัปโหลดรหัสทดสอบต่อไปนี้:
#include // เชื่อมต่อโมดูลบลูทูธ HC-05 หรือ HC-06 กับ Arduino และประกาศพินที่ใช้หากคุณวางแผนที่จะใช้ซอฟต์แวร์ซีเรียล
// ใช้เพื่อระบุค่ากราฟ
String graphTag = "กราฟ:";
// ใช้เพื่อระบุการแยกค่าภายในสตรีม
ถ่าน valueSeparatorCharacter = '&';
// ใช้เพื่อระบุจุดสิ้นสุดของสตรีม สิ่งนี้จะใช้กับทั้งมอนิเตอร์แบบอนุกรมและกราฟ
charterminati
- ตรวจสอบให้แน่ใจว่าคุณดาวน์โหลด Serialize Bluetooth-Plotter, terminal &controller (https://play.google.com/store/apps/details?id=com….)
- ขั้นแรก ตรวจสอบให้แน่ใจว่าคุณได้จับคู่โมดูล hc-05 กับโทรศัพท์ของคุณ แล้วจึงเริ่มแอป
- เลือกแท็บ กำหนดค่า คลิกที่รีเฟรชเพื่อเติมกล่องคำสั่งผสม เลือกโมดูลจากกล่องคำสั่งผสม จากนั้นคลิกปุ่มเชื่อมต่อและรอข้อความป๊อปอัปที่ระบุว่าอุปกรณ์เชื่อมต่ออยู่
- คลิกกำหนดค่ากราฟและตั้งค่าแท็กกราฟ เลือกประเภทกราฟ ตั้งค่าอักขระที่ใช้แยกค่าและอักขระที่สิ้นสุด
;
การตั้งค่าเป็นโมฆะ () {
// ประกาศอัตราบอด แอพรองรับเฉพาะ 9600
mySerial.begin(9600);
}
วงเป็นโมฆะ () {
// ตัวอย่างการวนรอบของการพล็อตคลื่นไซน์
สำหรับ (ลอย x = -2 * PI; x <= 2 * PI; x = x + PI / 50) {
mySerial.print (กราฟแท็ก);
mySerial.print(240 * บาป (x));
mySerial.print(valueSeparatorCharacter);
mySerial.print(240 * บาป(x + (2 * PI / 3)));
mySerial.print(valueSeparatorCharacter);
mySerial.print(240 * บาป(x + (4 * PI / 3)));
mySerial.print(terminationSeparatorCharacter);
}
}
- ตรวจสอบให้แน่ใจว่าคุณดาวน์โหลด Serialize Bluetooth-Plotter, terminal &controller (https://play.google.com/store/apps/details?id=com….)
- ขั้นแรก ตรวจสอบให้แน่ใจว่าคุณได้จับคู่โมดูล hc-05 กับโทรศัพท์ของคุณ แล้วจึงเริ่มแอป
- เลือกแท็บ กำหนดค่า คลิกที่รีเฟรชเพื่อเติมกล่องคำสั่งผสม เลือกโมดูลจากกล่องคำสั่งผสม จากนั้นคลิกปุ่มเชื่อมต่อและรอข้อความป๊อปอัปที่ระบุว่าอุปกรณ์เชื่อมต่ออยู่
- คลิกกำหนดค่ากราฟและตั้งค่าแท็กกราฟ เลือกประเภทกราฟ ตั้งค่าอักขระที่ใช้แยกค่าและอักขระที่สิ้นสุด
ขั้นตอนที่ 2: การอ่านอินพุตจากแอพ
- ด้วยการตั้งค่าเดียวกับด้านบน:
- อัปโหลดรหัสด้านล่าง:
#include SoftwareSerial mySerial(12, 11); // เหมือนปกติตั้งค่าหมุด tx และ rx
การตั้งค่าเป็นโมฆะ () {
// อัตราบอดของโมดูลบลูทูธต้องตั้งค่าเป็น 9600 เพื่อสื่อสารกับแอป
mySerial.begin(9600);
// สามารถกำหนดอัตรารับส่งข้อมูลได้ตามต้องการ
Serial.begin(9600);
}
วงเป็นโมฆะ () {
ถ้า(mySerial.available()>0){
// เมื่อได้รับข้อมูลอ่านสตริงไม่เกินบรรทัดใหม่
สตริง inputString = mySerial.readStringUntil('\n'); // อ่านอินพุตไม่เกินบรรทัดใหม่
// พิมพ์สตริง
Serial.println (อินพุตสตริง);
}
}
ทดสอบคอนโทรลเลอร์และตรวจสอบเอาต์พุตบนจอภาพอนุกรมและ voila ที่คุณกำลังอ่านข้อมูลจากแอป
ขั้นตอนที่ 3: ทบทวน/สรุปวิดีโอ
หากคุณพบปัญหา โปรดทำตามวิดีโอสอนด้านบน