- แนวคิด:
- วัสดุที่ต้องการ:
- แผนงานและฮาร์ดแวร์:
- โปรแกรมสำหรับ Arduino:
- โปรแกรมสำหรับการประมวลผล:
- การทำงาน:
นี่เป็นโครงการที่น่าสนใจมากซึ่งเราจะได้เรียนรู้วิธีการใช้งาน Virtual Reality โดยใช้ Arduino และ Processing สำหรับพวกเราส่วนใหญ่ภาพยนตร์เรื่อง Iron man โดย Jon Favreau เป็นแรงบันดาลใจในการสร้างสิ่งใหม่ ๆ ที่จะทำให้ชีวิตของเราง่ายและสนุกมากขึ้น ฉันชื่นชม Techs ที่แสดงในภาพยนตร์เป็นการส่วนตัวและอยากสร้างสิ่งที่คล้ายกับสิ่งนั้นมาโดยตลอด ดังนั้นในโปรเจ็กต์นี้ฉันได้พยายามเลียนแบบสิ่งของเสมือนจริงที่เกิดขึ้นในภาพยนตร์เช่นเราสามารถโบกมือหน้าคอมพิวเตอร์แล้วเลื่อนตัวชี้ไปยังตำแหน่งที่ต้องการและทำงานบางอย่าง
ที่นี่ฉันจะแสดงวิธีที่คุณสามารถเพียงแค่คลื่นมือของคุณในหน้าเว็บและวาดบางสิ่งบางอย่างในคอมพิวเตอร์ของคุณฉันจะแสดงให้คุณเห็นว่าคุณสามารถสลับไฟได้อย่างไรโดยการขยับมือและคลิกด้วยนิ้วในอากาศ
แนวคิด:
เพื่อให้สิ่งนี้เกิดขึ้นเราต้องใช้ประโยชน์จากพลังของArduino และการประมวลผลรวมกัน ส่วนใหญ่จะคุ้นเคยกับ Arduino แต่การประมวลผลอาจเป็นเรื่องใหม่สำหรับคุณ การประมวลผลเป็นแอปพลิเคชันเช่นเดียวกับ Arduino และยังเป็นโอเพ่นซอร์สและดาวน์โหลดได้ฟรี การใช้การประมวลผลคุณสามารถสร้างแอปพลิเคชันระบบอย่างง่ายแอปพลิเคชัน Android และอื่น ๆ อีกมากมาย นอกจากนี้ยังมีความสามารถในการประมวลผลภาพและการจดจำเสียง มันเหมือนกับ Arduino และเรียนรู้ได้ง่ายมาก แต่ไม่ต้องกังวลหากคุณยังใหม่กับการประมวลผลเพราะฉันได้เขียนบทช่วยสอนนี้ค่อนข้างง่ายเพื่อให้ทุกคนที่สนใจสามารถทำงานนี้ได้ในเวลาอันรวดเร็ว
ในบทช่วยสอนนี้เรากำลังใช้การประมวลผลเพื่อสร้างแอปพลิเคชันระบบอย่างง่ายซึ่งให้ UI และติดตามตำแหน่งของมือของเราโดยใช้การประมวลผลภาพ ตอนนี้เราต้องคลิกซ้ายและคลิกขวาโดยใช้นิ้วของเรา เพื่อให้สิ่งนั้นเกิดขึ้นฉันได้ใช้เซ็นเซอร์ฮอลล์สองตัว (ตัวหนึ่งที่นิ้วชี้และอีกอันบนนิ้วกลาง) ซึ่ง Arduino Nano จะอ่านได้ Arduino ยังส่งสถานะการคลิกไปยังคอมพิวเตอร์แบบไร้สายผ่านบลูทู ธ
มันอาจจะฟังดูซับซ้อน แต่เชื่อฉันเถอะ มันไม่ยากอย่างที่คิด ดังนั้นให้เรามาดูวัสดุที่จำเป็นสำหรับโครงการนี้ในการเริ่มต้นใช้งาน
วัสดุที่ต้องการ:
- Arduino นาโน
- เซ็นเซอร์ Hall (A3144) - 2Nos
- แม่เหล็กชิ้นเล็ก ๆ
- โมดูลบลูทู ธ (HC-05 / HC-06)
- แบตเตอรี่ 9V
- สายเชื่อมต่อดอทบอร์ด
- ถุงมือคู่หนึ่ง
- Arduino IDE (ซอฟต์แวร์)
- การประมวลผล IDE (ซอฟต์แวร์)
- คอมพิวเตอร์ที่มีเว็บแคมและบลูทู ธ (คุณยังสามารถใช้บลูทู ธ ภายนอกหรือเว็บแคมสำหรับคอมพิวเตอร์ของคุณได้)
แผนงานและฮาร์ดแวร์:
ส่วนฮาร์ดแวร์ของโครงการนี้ง่ายมากและง่ายต่อการสร้าง แผนผังที่สมบูรณ์แสดงไว้ด้านล่าง
Arduino ตัวต้านทานและหมุดแท่งแท่งจะถูกบัดกรีเข้ากับดอทบอร์ดดังที่แสดงด้านล่าง
เซ็นเซอร์ฮอลล์และโมดูลบลูทู ธ ถูกบัดกรีเข้ากับสายเชื่อมต่อดังที่แสดงด้านล่าง
เมื่อทั้งสองส่วนพร้อมแล้วก็สามารถประกอบเข้ากับถุงมือเพื่อให้ใช้งานได้ง่าย ฉันใช้ถุงมือพลาสติกแบบใช้แล้วทิ้งซึ่งหาซื้อได้จากร้านขายยาใกล้บ้านคุณ คุณควรตรวจสอบให้แน่ใจว่าแม่เหล็กอยู่บนนิ้วหัวแม่มือของคุณและเซ็นเซอร์ฮอลล์ 1 และเซ็นเซอร์ฮอลล์ 2 ควรอยู่ก่อนดัชนีและนิ้วกลางของคุณตามลำดับ ฉันใช้เทปเป็ดเพื่อยึดส่วนประกอบให้เข้าที่ เมื่อประกอบส่วนประกอบแล้วควรมีลักษณะดังนี้
ตอนนี้ให้เราเปิด Arduino IDE และเริ่มการเขียนโปรแกรม
โปรแกรมสำหรับ Arduino:
วัตถุประสงค์ของรหัส Arduino นี้คือเพื่ออ่านสถานะของเซ็นเซอร์ฮอลล์และออกอากาศโดยใช้โมดูลบลูทู ธ นอกจากนี้ยังควรรับข้อมูลจาก Bluetooth และสลับ LED ออนบอร์ดตามค่าที่เข้ามา โปรแกรมที่สมบูรณ์จะได้รับในตอนท้ายของบทช่วยสอนนี้ ฉันได้อธิบายสองสามบรรทัดด้านล่าง
if (Phs1! = HallState_1 - Phs2! = HallState_2) // ตรวจสอบว่ามีการกดปุ่มใหม่หรือไม่ {if (HallState_1 == LOW && HallState_2 == LOW) Aisha.write (1); ถ้า (HallState_1 == HIGH && HallState_2 == LOW) Aisha.write (2); ถ้า (HallState_1 == LOW && HallState_2 == สูง) Aisha.write (3); ถ้า (HallState_1 == HIGH && HallState_2 == สูง) Aisha.write (4); }
ดังที่แสดงในบรรทัดด้านบนตามสถานะของเซ็นเซอร์ฮอลล์บลูทู ธ จะเขียนค่าเฉพาะ ตัวอย่างเช่นถ้าเซ็นเซอร์ฮอลล์ 1 สูงและเซ็นเซอร์ฮอลล์ 2 อยู่ในระดับต่ำเราจะถ่ายทอดกระแส“ 2” ผ่านโมดูลบลูทู ธ ตรวจสอบให้แน่ใจว่าคุณได้เขียนค่าลงในโมดูล BT และไม่ได้พิมพ์ออกมา เพราะมันจะง่ายต่อการอ่านเฉพาะด้านการประมวลผลเฉพาะในกรณีที่มีการเขียน นอกจากนี้ค่าจะส่งก็ต่อเมื่อไม่เหมือนกับค่าก่อนหน้า
ถ้า (BluetoothData == 'y') digitalWrite (ledpin, HIGH); ถ้า (BluetoothData == 'n') digitalWrite (ledpin, LOW);
เส้นเหล่านี้ใช้เพื่อสลับ LED ออนบอร์ดซึ่งเชื่อมต่อกับ Pin 13 ตามค่าที่โมดูล BT ได้รับ ตัวอย่างเช่นหากโมดูลได้รับ 'y' ไฟ LED จะเปิดขึ้นและหากได้รับ 'n' แสดงว่าจะปิด
โปรแกรมสำหรับการประมวลผล:
วัตถุประสงค์ของโปรแกรมการประมวลผลคือการสร้างแอปพลิเคชันระบบซึ่งสามารถทำหน้าที่เป็น UI (ส่วนต่อประสานผู้ใช้) และยังดำเนินการประมวลผลภาพเพื่อติดตามวัตถุเฉพาะ ในกรณีนี้เราจะติดตามวัตถุสีน้ำเงินที่ติดอยู่กับถุงมือด้านบน โดยทั่วไปโปรแกรมมีสี่หน้าจอ
- หน้าจอการสอบเทียบ
- หน้าจอหลัก
- หน้าจอสี
- LED สลับหน้าจอ
เราสามารถนำทางจากหน้าจอหนึ่งไปยังอีกหน้าจอหนึ่งได้เพียงแค่โบกมือและลากหน้าจอบนอากาศ นอกจากนี้เรายังสามารถคลิกสถานที่ที่ต้องการเพื่อสลับ LED หรือแม้แต่วาดบางอย่างบนหน้าจอ
คุณสามารถคัดลอกวางโปรแกรมการประมวลผลทั้งหมด (ระบุไว้ในตอนท้าย) และแก้ไขตามความคิดสร้างสรรค์ของคุณหรือดาวน์โหลดไฟล์ EXE จากที่นี่และทำตามขั้นตอนต่อไปนี้เพื่อเปิดแอปพลิเคชัน
- ติดตั้ง JAVA ในคอมพิวเตอร์ของคุณหากคุณไม่เคยติดตั้งมาก่อน
- ติดตั้ง You Cam ที่สมบูรณ์แบบบนคอมพิวเตอร์ของคุณ
- เพิ่มพลังให้ Arduino ของคุณและจับคู่คอมพิวเตอร์ของคุณกับโมดูลบลูทู ธ
- เปิดไฟล์แอพพลิเคชั่น
หากทุกอย่างเป็นไปด้วยดีคุณจะสังเกตเห็นไฟ LED บนโมดูลบลูทู ธ ของคุณเสถียรและไฟเว็บแคมของคุณติด หากคุณมีปัญหาใด ๆ ติดต่อฉันผ่านส่วนความคิดเห็นและเราจะช่วยคุณ
ดูวิดีโอในตอนท้ายเพื่อทราบวิธีปรับเทียบแอปพลิเคชันของคุณและใช้งาน
หากคุณต้องการแก้ไขโค้ดและสร้างคุณสมบัติเพิ่มเติมในสิ่งนี้คุณสามารถใช้ข้อมูลเชิงลึกต่อไปนี้ของโปรแกรม
สามารถดาวน์โหลด IDE การประมวลผลได้จากที่นี่ หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการประมวลผลและสร้างโปรเจ็กต์ที่น่าสนใจเพิ่มเติมคุณสามารถไปที่บทแนะนำได้ที่นี่
การประมวลผลมีความสามารถในการอ่านข้อมูลอนุกรมในโปรแกรมนี้ข้อมูลอนุกรมมาจากพอร์ต Bluetooth COM คุณต้องเลือกพอร์ต COM ที่บลูทู ธ ของคุณเชื่อมต่อโดยใช้บรรทัดด้านล่างนี้
พอร์ต = Serial ใหม่ (นี่คือ Serial.list (), 9600);
ที่นี่ฉันได้เลือกพอร์ต COM 1 stของฉันซึ่งเป็น COM5 ในกรณีของฉัน (ดูภาพด้านล่าง) และฉันได้กล่าวว่าโดยโมดูลบลูทู ธ ทำงานบน 9600 baudrate
ดังที่กล่าวไว้ก่อนหน้านี้การประมวลผลยังมีความสามารถในการประมวลผลภาพในบทช่วยสอนนี้ภาพจะถูกส่งไปยังร่างโดยใช้เว็บแคม ในแต่ละภาพเราติดตามวัตถุเฉพาะ หากต้องการทราบข้อมูลเพิ่มเติมคุณสามารถไปที่บทแนะนำนี้
ฉันพยายามอย่างเต็มที่ที่จะอธิบายโปรแกรม (ให้ไว้ตอนท้าย) ผ่านบรรทัดความคิดเห็น คุณสามารถดาวน์โหลดไฟล์ได้ที่นี่
หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับภาพร่างคุณสามารถติดต่อฉันผ่านส่วนความคิดเห็นและฉันจะช่วยคุณ
การทำงาน:
เมื่อฮาร์ดแวร์และซอฟต์แวร์พร้อมแล้วให้สวมถุงมือและเตรียมพร้อมสำหรับการดำเนินการบางอย่าง ตอนนี้เพียงแค่เปิดเครื่อง Arduino จากนั้นเปิดแอปพลิเคชัน ไฟ LED ของโมดูลบลูทู ธ ควรมีความเสถียร ตอนนี้หมายความว่าแอปพลิเคชันระบบของคุณได้สร้างลิงค์บลูทู ธ กับ Arduino ของคุณแล้ว
คุณจะได้รับหน้าจอต่อไปนี้ที่คุณต้องเลือกวัตถุที่จะติดตาม การติดตามนี้สามารถทำได้โดยคลิกที่วัตถุ ในกรณีนี้วัตถุคือแผ่นดิสก์สีน้ำเงิน ตอนนี้คุณสามารถย้ายวัตถุของคุณและสังเกตว่าตัวชี้ตามหลังวัตถุของคุณ ใช้วัตถุสีที่เป็นเอกลักษณ์และห้องที่สว่างเพื่อผลลัพธ์ที่ดีที่สุด
แตะนิ้วหัวแม่มือด้วยนิ้วชี้แล้วคุณจะเห็นข้อความ“ คีย์ 1 ที่กดแล้ว” และเมื่อคุณกดนิ้วหัวแม่มือด้วยนิ้วกลางคุณจะเห็น“ ปุ่ม 2 กด” ซึ่งแสดงว่าทุกอย่างทำงานได้ดีและการปรับเทียบสิ้นสุดลง ตอนนี้คลิกที่ปุ่มเสร็จสิ้น
เมื่อกดปุ่มเสร็จสิ้นคุณจะถูกนำไปที่หน้าจอหลักซึ่งคุณสามารถวาดภาพบนอากาศหรือสลับ LED บนบอร์ด Arduino ดังที่แสดงในวิดีโอด้านล่าง