สารบัญ:

ถุงมือเซนเซอร์แบบยืดหยุ่น: 7 ขั้นตอน
ถุงมือเซนเซอร์แบบยืดหยุ่น: 7 ขั้นตอน

วีดีโอ: ถุงมือเซนเซอร์แบบยืดหยุ่น: 7 ขั้นตอน

วีดีโอ: ถุงมือเซนเซอร์แบบยืดหยุ่น: 7 ขั้นตอน
วีดีโอ: Force Glove Full Sensing Gaming Controller 2024, กรกฎาคม
Anonim
Image
Image

นี่เป็นโครงการสนุก ๆ ที่สามารถปรับให้เข้ากับการควบคุมทุกอย่างตั้งแต่แขนหุ่นยนต์ไปจนถึงอินเทอร์เฟซเสมือนจริง

ขั้นตอนที่ 1: วัสดุและชิ้นส่วน

สำหรับถุงมือ:

  • ถุงมือทำสวนราคาถูก
  • Arduino Lilypad
  • ที่ใส่เซลล์แบตเตอรี่ Lilypad
  • ด้ายเย็บผ้านำไฟฟ้า
  • ด้ายเย็บผ้าธรรมดา
  • Velostat
  • ติดเทป
  • ซุปเปอร์กาว
  • ยางยืด
  • ตัวต้านทาน 4.7Kohm ห้าตัว

สำหรับแขน:

  • เซอร์โว SG90 ห้าตัว
  • สายไฟฟ้า
  • เส้นใย PLA หรือ ABS
  • Ninjaflex (หรือเส้นใยยืดหยุ่นอื่น ๆ)
  • สายเบ็ด
  • แหล่งจ่ายไฟ 5V
  • บอร์ดขนมปังขนาดเล็ก (เป็นทางเลือก แต่มีประโยชน์สำหรับการเดินสายเซอร์โวแบบขนาน)

หมายเหตุ: หากคุณไม่มีเส้นใยการพิมพ์ 3 มิติที่ยืดหยุ่น คุณสามารถใช้แขนหุ่นยนต์ที่แตกต่างจาก Flexy Hand

ขั้นตอนที่ 2: การสร้างเซนเซอร์แบบยืดหยุ่น

การสร้างเซนเซอร์แบบยืดหยุ่น
การสร้างเซนเซอร์แบบยืดหยุ่น
การสร้างเซนเซอร์แบบยืดหยุ่น
การสร้างเซนเซอร์แบบยืดหยุ่น
การสร้างเซนเซอร์แบบยืดหยุ่น
การสร้างเซนเซอร์แบบยืดหยุ่น

วัสดุที่ฉันใช้คือ velostat เป็นวัสดุประเภท piezoresistive ซึ่งหมายความว่าไวต่อแรงกด และเมื่อคุณกด โค้งงอ หรือบิดเบี้ยว ความต้านทานจะเปลี่ยนไป นี่คือคุณสมบัติที่เราจะใช้เพื่อวัดว่าแต่ละนิ้วงอมากแค่ไหน

เริ่มต้นด้วยการตัด velostat 5 แถบ ขนาดประมาณ 0.7 ซม. x 8 ซม. ขนาดที่แน่นอนนั้นไม่เกี่ยวข้อง เนื่องจากเราสนใจที่จะอ่านค่าความต้านทานเชิงคุณภาพและไม่ใช่เชิงปริมาณ

ถัดไป วางเทปกาวเหนียวยาว 2 ชิ้นหงายขึ้นบนพื้นผิวเรียบ แล้วตัดด้ายเย็บผ้านำไฟฟ้าสองความยาว ฉันจะบอกว่ายาวอย่างน้อย 40 ซม. ควรมีส่วนเกินเสมอ เลือกใช้ซุปเปอร์กาวหยดเล็กๆ บนเทปเหนียว ใกล้กับฐาน ไม่จำเป็น แต่ฉันพบว่ามันป้องกันไม่ให้ด้ายเย็บผ้าหลุดออกมาโดยไม่ได้ตั้งใจ หากคุณไม่มีด้ายเย็บผ้าที่เป็นสื่อกระแสไฟฟ้า อาจเป็นไปได้ที่จะใช้ลวดทองแดงเส้นเล็กสำหรับขั้นตอนนี้ เช่น ลวดที่คุณพบในสายหูฟัง (ฉันพูดว่า "อาจ" เนื่องจากฉันไม่ได้ทดสอบแนวคิดนี้)

วางด้ายเย็บผ้ายาว 2 อันบนเทปเหนียวตรงกลาง โดยให้หางด้ายเย็บผ้ายื่นออกมาที่ปลายเทปกาว สิ่งสำคัญคือต้องใช้เทปกาวให้เกือบเต็มความยาว เพราะถ้าคุณไม่ทำ เซ็นเซอร์แบบยืดหยุ่นจะรวบรวมค่าที่อ่านได้ใกล้ฐานนิ้วของคุณเท่านั้น ไม่ใช่ที่ส่วนปลาย

วาง velostat ไว้บนด้ายเย็บผ้าชิ้นเดียวโดยให้ปิดปลายด้าย (คุณไม่ต้องการให้ด้ายเย็บผ้า 2 ชิ้นสัมผัสกัน) จากนั้นยกเทปกาวอีกชิ้นหนึ่งขึ้นบนด้านที่ไม่ได้ปิดของ velostat แล้วกดแรงๆ เพื่อขจัดฟองอากาศ ที่ฐานของเซ็นเซอร์ตรวจสอบให้แน่ใจว่าด้ายเย็บผ้า 2 ชิ้นไม่ทำให้เกิดไฟฟ้าลัดวงจร เพื่อป้องกันไม่ให้ด้ายเย็บผ้าหลุดออกจากด้านตรงข้าม (คล้ายกับจุดต่อรูปตัว "Y" ดูรูป)

ตัดเทปกาวส่วนเกินตามต้องการ สุดท้ายติดกาวยางยืดชิ้นเล็ก ๆ ที่ปลายเซ็นเซอร์ ทำซ้ำ 5 ครั้งโดยปรับขนาดของเซ็นเซอร์แต่ละตัวให้พอดีกับนิ้วของคุณ

ขั้นตอนที่ 3: ทำถุงมือ

ทำถุงมือ
ทำถุงมือ
ทำถุงมือ
ทำถุงมือ
ทำถุงมือ
ทำถุงมือ

ฉันจะให้ภาพรวมของขั้นตอนที่ฉันทำเป็นการส่วนตัว แต่วิธีที่คุณทำจะแตกต่างกันไปตามแต่ละกรณี ซึ่งส่วนใหญ่ขึ้นอยู่กับถุงมือที่คุณใช้

ประเด็นสำคัญประการหนึ่งที่ฉันไม่สามารถเน้นได้มากพอก็คือ ด้ายเย็บผ้านำไฟฟ้าไม่เหมือนกับลวดงานอดิเรกทั่วไป ไม่มีปลอกหุ้มฉนวน นอกจากนี้ เนื่องจากถุงมือมีความยืดหยุ่นและสามารถโค้งงอกลับได้ จึงทำให้เกิดไฟฟ้าลัดวงจรได้ง่ายมาก ส่งผลให้ชิ้นส่วนเสียหายและรูขนาดใหญ่ละลายในถุงมือ

หากคุณไม่มีด้ายเย็บผ้าที่เป็นสื่อกระแสไฟฟ้า คุณสามารถใช้สายไฟธรรมดาและบัดกรีการเชื่อมต่อของคุณได้

ฉันเริ่มต้นด้วยการเดินสายก้อนแบตเตอรี่ไปที่ถุงมือและเชื่อมต่อ 5V และ GND กับ Arduino Lilypad อย่าเพิ่งเย็บ Lilypad เข้าไปจนสุด เนื่องจากเราจะต้องงอไปข้างหลังแล้วเย็บข้างใต้ (ดูภาพด้านบน)

ฉันขอแนะนำให้ปูเทปไฟฟ้าไว้ด้านล่างของบอร์ด Lilypad เพื่อป้องกันไฟฟ้าลัดวงจร

ถัดไป ประสานปลายตัวต้านทาน 4.7Kohm ห้าตัวเป็นลูปเล็กๆ (คุณอาจต้องปรับค่าความต้านทานตามความยาวและความกว้างของแถบ velostat ของคุณ) ตัวเลือกเสริม: ใช้กาวร้อนติดไว้กับถุงมือ การเย็บถ้าไม่อยู่ในตำแหน่งเดิมจะยากกว่า

ศึกษารูปภาพด้านบนและแผนภาพวงจรอย่างละเอียดก่อนดำเนินการต่อ สิ่งสำคัญคือต้องกำหนดเส้นทางสำหรับด้ายเย็บผ้าก่อนเริ่มต้น ไม่เช่นนั้นคุณจะ "เย็บตัวเองเข้ามุม"

โดยส่วนตัวแล้วฉันเริ่มเย็บจาก GND บนก้อนแบตเตอรี่เป็นตัวต้านทาน 5 ตัว จากนั้นจากตัวต้านทานแต่ละตัวไปยังหมุด A0 ถึง A4 โดยเข้าไปใต้กระดาน Lilypad ที่เราหุ้มด้วยเทปฉนวนไว้ก่อนหน้านี้ ต่อจากนี้ ฉันได้ติดกาวที่ปลายเซ็นเซอร์งอแรกไปที่นิ้วหัวแม่มือ โดยที่ปลายด้านหนึ่งของด้ายเย็บผ้าไปที่ 5V และปลายอีกด้านหนึ่งไปที่ A0 ทำซ้ำสำหรับแต่ละนิ้ว แต่แทนที่จะไปที่ 5V โดยตรงในแต่ละครั้ง (และสร้างเขาวงกตของการเย็บแผล) เพียงแค่เย็บเข้ากับเซ็นเซอร์แบบยืดหยุ่นก่อนหน้า

เพื่อให้แน่ใจว่าเซ็นเซอร์ Flex แต่ละตัวยังคงตึงอยู่เมื่อคุณขยับนิ้วของคุณ เย็บยางยืดที่เราติดไว้กับเซ็นเซอร์ Flex ในขั้นตอนสุดท้ายกับปลายนิ้วบนถุงมือ เลือกร้อยห่วงรอบเซ็นเซอร์แบบยืดหยุ่นเพื่อให้แน่ใจว่าอยู่ในตำแหน่งเมื่อคุณขยับมือ

สุดท้ายบัดกรีสายไฟ 5 เส้นเข้ากับหมุดดิจิตอล 5 ถึง 9 ซึ่งจะใช้ในภายหลังเพื่อบอกเซอร์โวว่าจะไปที่ไหน

ขั้นตอนที่ 4: สร้างแขน

สร้างแขน
สร้างแขน
สร้างแขน
สร้างแขน

ฉันพิมพ์ไฟล์ arm off แบบ 3 มิติจากผู้ใช้ Gyrobot บน Thingiverse คุณสามารถหาได้ที่นี่

หากคุณต้องการ คุณก็สามารถพิมพ์ 3D ที่ปลายแขนได้เช่นกัน แต่เนื่องจากพันธนาการของเส้นใย ฉันจึงสร้างแบบจำลองมาเช่กระดาษจากปลายแขนของฉันเอง ฉันใช้เซอร์โว SG90 ห้าตัวในกรอบที่พิมพ์ 3 มิติ เชื่อมต่อกับแต่ละนิ้วด้วยสายเบ็ด ต่อสาย GND และ Vin ทั้งหมดขนานกับแหล่งพลังงานภายนอก เช่น หม้อแปลงไฟฟ้าติดผนัง AC-DC 5V

เชื่อมต่อพินอินพุตเซอร์โว (โดยปกติคือสายสีส้มตามแบบแผน) กับพินดิจิทัลที่สอดคล้องกันบนถุงมือ

ขั้นตอนที่ 5: อัปโหลดรหัส

อัพโหลดโค้ด
อัพโหลดโค้ด

เว้นแต่ว่าคุณมีสาย FTDI คุณจะต้องตั้งโปรแกรม Lilypad ผ่าน Arduino Uno ขั้นตอนสำหรับสิ่งนี้มีอธิบายไว้ในคำแนะนำนี้ ตรวจสอบให้แน่ใจว่าคุณได้เลือกประเภทบอร์ด Arduino ที่ถูกต้อง หากต้องการเปลี่ยนให้ไปที่ Tools/Board/Lilypad Arduino

ทำตามคำแนะนำด้านบนให้อัปโหลดรหัสการสอบเทียบก่อน

คัดลอกเอาต์พุตจากรหัสสอบเทียบลงในบรรทัดที่ 31 ของรหัสนี้ จากนั้นอัปโหลด

ขั้นตอนที่ 6: แสดงความคิดเห็นเกี่ยวกับอัตราบอด

ฉันมีข้อบกพร่องที่ค่อนข้างน่าผิดหวังกับอัตราบอด (ซึ่งเป็นความเร็วที่ข้อมูลได้รับการสื่อสารผ่านพอร์ตอนุกรม) ซึ่งเป็นปัจจัยสองที่ใหญ่กว่าที่ฉันตั้งโปรแกรมไว้ ดูวิดีโอ youtube ของฉันเวลาประมาณ 2:54 น. เพื่อสาธิตปัญหา น่าเสียดายที่สิ่งนี้ทำให้ฉันไม่สามารถทำตามแผนเริ่มต้นของฉันซึ่งก็คือการใช้บลูทูธและสื่อสารแบบไร้สายระหว่างถุงมือและมือหุ่นยนต์

ฉันไม่สามารถแก้ไขปัญหาอัตราบอดได้ แต่การเดาที่ดีที่สุดของฉันคือฮาร์ดแวร์ซอฟต์แวร์ที่คิดว่าออสซิลเลเตอร์บนบอร์ดเป็น 8mHz หรือ 16mHz ไม่ตรงกัน อาจเป็นเพราะฉันซื้อบอร์ดโคลนราคาถูกและไม่ใช่ผลิตภัณฑ์อย่างเป็นทางการ หากคุณใช้ผลิตภัณฑ์จริงคุณอาจไม่มีปัญหานี้ อย่างไรก็ตามนี่เป็นเพียงการคาดเดาของฉันเองและหากใครรู้สาเหตุที่แท้จริงโปรดแจ้งให้เราทราบในความคิดเห็นด้านล่าง

จากการแก้ไขชั่วคราว ฉันพบ 2 วิธีในการแก้ไขปัญหานี้:

  • เพิ่มอัตรารับส่งข้อมูลเป็นสองเท่าโดยใช้ปุ่มที่ด้านล่างซ้ายของจอภาพแบบอนุกรม ตัวอย่างเช่น หากรหัสระบุว่า Serial.begin(9600); เปลี่ยนเอาต์พุตมอนิเตอร์อนุกรมเป็น 19200
  • แทนที่จะเลือก Arduino Lilypad เป็นบอร์ดของคุณ ให้เลือก Arduino Pro เป็นบอร์ดของคุณ หากต้องการทำสิ่งนี้ใน Arduino IDE ให้ไปที่ Tools/Board/Arduino Pro หรือ Pro Mini จากนั้นอัปโหลด

ขั้นตอนที่ 7: เสร็จสิ้น

เสร็จสิ้น
เสร็จสิ้น

ฉันหวังว่าคุณจะพบข้อมูลที่เป็นประโยชน์นี้ หากคุณมีคำถามหรือข้อเสนอแนะใด ๆ โปรดแสดงความคิดเห็นด้านล่าง

Make It Move Contest 2017
Make It Move Contest 2017
Make It Move Contest 2017
Make It Move Contest 2017

รางวัลที่สามในการประกวด Make It Move 2017

แนะนำ: