สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ในโครงการนี้ เราจะใช้อุปกรณ์ที่เปลี่ยนการบ่งชี้จาก Google Maps ให้เป็นเอาต์พุตทางประสาทสัมผัสเพื่อลดระดับความสามารถ เราสามารถใช้ระบบนำทางแบบบูรณาการบนร่างกายของเราได้
เราจะดำเนินการนี้โดยเชื่อมต่อบอร์ด Arduino กับอุปกรณ์โทรศัพท์มือถือของเราโดยใช้โมดูล Bluetooth ด้วยโทรศัพท์ของเรา เราสามารถส่งสัญญาณที่เราต้องการไปยังบอร์ด Arduino ที่จะเปิดใช้งานด้วยรูปแบบต่างๆ ของออดเหรียญ ขึ้นอยู่กับตัวบ่งชี้
สำหรับตอนนี้ สิ่งบ่งชี้จะมาจากแอป Bluetooth และไม่ใช่ Google Maps จริง เนื่องจากความรู้ด้านการเขียนโปรแกรมของเราไม่ได้ไปไกลขนาดนั้น อย่างไรก็ตาม โครงการนี้เป็นเพียงการแสดงให้เห็นว่าเราสามารถดำเนินการนี้ได้ เนื่องจากเรามีเครื่องมือ
จะมีสัญญาณบ่งชี้หลายประการ เลี้ยวขวาหรือซ้าย (เปิดใช้งานเสียงกริ่งขวาหรือซ้าย) ให้ตรงไป (เปิดใช้งานทั้งสองครั้งเดียว) ทางที่ไม่ถูกต้อง (เปิดใช้งานเสียงเตือนทั้งสองสองครั้ง) สิ้นสุดเส้นทาง (เปิดใช้งานสัญญาณเสียงเตือนทั้ง 2 ครั้ง 3 ครั้ง) และเลี้ยวซ้ายไปทางขวาเล็กน้อย (เปิดเสียงออดซ้ายหรือขวาด้วยกำลังน้อย)
ขั้นตอนที่ 1: รับส่วนประกอบ
นี่คือรายการส่วนประกอบที่คุณจะต้องสร้างโครงการใหม่
- อาร์ดูอิโน ลิลี่แพด
-โมดูลบลูทูธ HM-10
-สายไฟ
- เหรียญกริ่ง (x2)
-Phone (โดยเฉพาะ Android)
-ช่างเชื่อม
-ลวดดีบุก
ขั้นตอนที่ 2: เชื่อมต่อทุกอย่าง
ขั้นตอนที่ 3: มาสร้างโค้ดกัน
#รวม
ซอฟต์แวร์Serial HM10(10, 11); // RX = 10, TX = 11
ถ่าน appData;
สตริง inData = "";
การตั้งค่าเป็นโมฆะ () {
Serial.begin(24200);
Serial.println("อนุกรม HM10 เริ่มที่ 9600");
HM10.begin(9600); // ตั้งค่า HM10 serial ที่ 9600 baud rate
โหมดพิน (6, เอาต์พุต);
โหมดพิน (5, เอาต์พุต); }
วงเป็นโมฆะ () {
การทดสอบสตริง;
HM10.listen(); // ฟังพอร์ต HM10
ในขณะที่ (HM10.available() > 0) { // ถ้า HM10 ส่งอะไรให้อ่าน
appData = HM10.read();
inData = สตริง (appData); // บันทึกข้อมูลในรูปแบบสตริง
}
if (Serial.available ()) { // อ่านอินพุตของผู้ใช้ถ้ามี
ล่าช้า(10);
HM10.write(Serial.read());
}
if (inData.equals("1")) {// ถ้าหมายเลขที่ส่งจากโทรศัพท์เท่ากับ 1 ให้เปิดใช้งานออดที่ถูกต้องที่กำลังไฟเต็มเป็นเวลา 200 มิลลิวินาที
ล่าช้า(10);
Serial.println("DRETA");
analogWrite (6, 255);
ล่าช้า (200);
analogWrite (6, 0);
}
if (inData.equals ("2")) {// ถ้าหมายเลขที่ส่งจากโทรศัพท์เท่ากับ 2 ให้เปิดใช้งานออดด้านซ้ายอย่างเต็มกำลังเป็นเวลา 200 มิลลิวินาที
Serial.println("ESQUERRE");
analogWrite (5, 255);
ล่าช้า (200);
analogWrite (5, 0);
}
if (inData.equals ("3")) { // ถ้าหมายเลขที่ส่งจากโทรศัพท์เท่ากับ 3 ให้เปิดใช้งาน buzzers ทั้งสองเป็นเวลา 200 ms Serial.println ("RECTE");
analogWrite (5, 255);
analogWrite (6, 255);
ล่าช้า (200);
analogWrite (5, 0);
analogWrite (6, 0);
}
if (inData.equals ("4")) {// ถ้าหมายเลขที่ส่งจากโทรศัพท์เท่ากับ 4 ให้เปิดใช้งาน buzzers ทั้งสองเป็นระยะ 2 ครั้ง
Serial.println("ไม่ถูกต้อง");
analogWrite (5, 255);
analogWrite (6, 255);
ล่าช้า (100);
analogWrite (5, 0);
analogWrite (6, 0);
ล่าช้า (100);
analogWrite (5, 255);
analogWrite (6, 255);
ล่าช้า (100);
analogWrite (5, 0);
analogWrite (6, 0); }
if (inData.equals ("5")) { // ถ้าหมายเลขที่ส่งจากโทรศัพท์เท่ากับ 4 ให้เปิดใช้งาน buzzers ทั้งสองเป็นระยะ 3 ครั้ง
Serial.println("สุดท้าย");
analogWrite (5, 180);
analogWrite (6, 180);
ล่าช้า (100);
analogWrite (5, 0);
analogWrite (6, 0);
ล่าช้า (100);
analogWrite (5, 180);
analogWrite (6, 180);
ล่าช้า (100);
analogWrite (5, 0);
analogWrite (6, 0);
ล่าช้า (100);
analogWrite (5, 180);
analogWrite (6, 180);
ล่าช้า (100);
analogWrite (5, 0);
analogWrite (6, 0);
} if (inData.equals("6")) {// ถ้าหมายเลขที่ส่งจากโทรศัพท์เท่ากับ 6 ให้เปิดใช้งานเสียงกริ่งด้านขวาไม่น้อยกว่าครึ่งกำลัง
ล่าช้า(10);
Serial.println("DRETA");
analogWrite (6, 100);
ล่าช้า (200);
analogWrite (6, 0);
}
}
ขั้นตอนที่ 4: ใส่ทุกอย่างเข้าที่
หาเสื้อยืดที่มีกระเป๋าเสื้อแล้ววางเสียงกริ่งไว้บนไหล่แต่ละข้าง สายเคเบิลจะผ่านเสื้อยืดและรางรูที่กระเป๋าด้านหน้า คุณจะวางบอร์ด Arduino กับทุกสิ่งที่เชื่อมต่อ ในการพกพาเพียงเชื่อมต่อ Arduino กับแบตเตอรี่แล้ววางไว้ในกระเป๋าด้านหน้าเช่นกัน
ถ้าคุณต้องการ คุณสามารถใช้แบบเดียวกันนี้กับถุงมือบางชนิด ในบริเวณใดที่หนึ่งในร่างกายซึ่งง่ายต่อการแยกแยะสัญญาณบ่งชี้ด้านซ้าย/ขวา
หากคุณมี Arduino Lilypad จะพกพาสะดวกกว่ามาก