สารบัญ:

Neurobots Battle Royale: การต่อสู้ที่ควบคุมด้วยกล้ามเนื้อ Hexbugs: 7 ขั้นตอน
Neurobots Battle Royale: การต่อสู้ที่ควบคุมด้วยกล้ามเนื้อ Hexbugs: 7 ขั้นตอน

วีดีโอ: Neurobots Battle Royale: การต่อสู้ที่ควบคุมด้วยกล้ามเนื้อ Hexbugs: 7 ขั้นตอน

วีดีโอ: Neurobots Battle Royale: การต่อสู้ที่ควบคุมด้วยกล้ามเนื้อ Hexbugs: 7 ขั้นตอน
วีดีโอ: OpenBCI EEG/EMG Controlled Hexbug 2024, กรกฎาคม
Anonim
Neurobots Battle Royale: การต่อสู้ที่ควบคุมด้วยกล้ามเนื้อ Hexbugs
Neurobots Battle Royale: การต่อสู้ที่ควบคุมด้วยกล้ามเนื้อ Hexbugs

บทช่วยสอนนี้แสดงวิธีใช้ข้อมูล EMG ที่สตรีมผ่านฮาร์ดแวร์ OpenBCI และ OpenBCI GUI เพื่อควบคุมการทำงานของ Hexbug ความสามารถในการต่อสู้ของ hexbugs เหล่านี้สามารถควบคุมได้ด้วยกล้ามเนื้อของคุณเอง และคุณจะสามารถมีส่วนร่วมในการต่อสู้ Hexbug ของคุณเองได้!

ทักษะเบื้องหลังที่เป็นประโยชน์:

  • ความรู้เกี่ยวกับการเขียนโปรแกรม Arduino หรือ C

    ข้อมูลพื้นฐานเกี่ยวกับ Arduino

  • วิธีตั้งค่า OpenBCI Headband Kit ด้วย Cyton หรือ Ganglion

    สิ่งนี้จะช่วยคุณตั้งค่าและทำงานกับบอร์ด OpenBCI

  • สตรีมข้อมูล EMG ด้วย OpenBCI

ความรู้พื้นฐานบางประการเกี่ยวกับข้อมูล EMG

เสบียง

  • ฮาร์ดแวร์

    • คอมพิวเตอร์ที่ตรงตามข้อกำหนดของระบบ GUI
    • Hexbug 2.0 Dual Pack
    • อิเล็กโทรดเจลแข็งโฟม EMG/ECG (30/แพ็ค)
    • สายเคเบิลอิเล็กโทรดสแน็ป EMG/ECG
    • OpenBCI Cyton Board (500 เหรียญ) หรือ Ganglion Board (200 เหรียญ)
    • สายจัมเปอร์ชาย-ชาย 20 เส้น
    • เขียงหั่นขนม
    • ตัวต้านทาน 10 x 10kΩ
    • Arduino Genuino Uno
    • ไฟ LED เสริม 5 ดวง (เพื่อเชื่อมต่อสำหรับการดีบัก)
  • ซอฟต์แวร์

    • OpenBCI GUI
    • Arduino IDE
    • รหัสที่ให้มา
  • คู่มือการเริ่มต้นใช้งาน OpenBCI

    • OpenBCI GUI
    • ปมประสาทหรือ Cyton

ขั้นตอนที่ 1: บัดกรีสายจัมเปอร์ไปยังคอนโทรลเลอร์

สายจัมเปอร์บัดกรีไปยังคอนโทรลเลอร์
สายจัมเปอร์บัดกรีไปยังคอนโทรลเลอร์
สายจัมเปอร์บัดกรีไปยังคอนโทรลเลอร์
สายจัมเปอร์บัดกรีไปยังคอนโทรลเลอร์
สายจัมเปอร์บัดกรีไปยังคอนโทรลเลอร์
สายจัมเปอร์บัดกรีไปยังคอนโทรลเลอร์

1.1 ถอดฝาปิดคอนโทรลเลอร์

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

ถอดปุ่มกดที่ติดเทปออกแล้วทิ้ง ยกเลิกการประสานปุ่ม "ไฟ" แล้วทิ้ง

1.2 บัดกรีบนสายจัมเปอร์

จากนั้นประสานสายจัมเปอร์ตัวผู้-ตัวผู้แต่ละเส้นเข้ากับวงกลมด้านในขนาดเล็กที่มีปุ่มไปข้างหน้า ถอยหลัง ซ้ายและขวา ยังประสานการเชื่อมต่อกับสายไฟที่ถอดออกและหมุดกราวด์ทางด้านซ้าย

1.3 เปลี่ยนฝาปิดคอนโทรลเลอร์

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

เราใช้ฝาปิดซ้ำเพื่อให้ตัวสลับช่องสัญญาณเลื่อนยังคงสัมผัสกับแผ่นแปะที่เป็นสื่อกระแสไฟฟ้าบนบอร์ดได้อย่างมีประสิทธิภาพ

ขั้นตอนที่ 2: สร้างการตั้งค่า Breadboard และเชื่อมต่อคอนโทรลเลอร์

สร้างการตั้งค่า Breadboard และเชื่อมต่อคอนโทรลเลอร์
สร้างการตั้งค่า Breadboard และเชื่อมต่อคอนโทรลเลอร์
สร้างการตั้งค่า Breadboard และเชื่อมต่อคอนโทรลเลอร์
สร้างการตั้งค่า Breadboard และเชื่อมต่อคอนโทรลเลอร์
สร้างการตั้งค่า Breadboard และเชื่อมต่อคอนโทรลเลอร์
สร้างการตั้งค่า Breadboard และเชื่อมต่อคอนโทรลเลอร์

สร้างการตั้งค่าใหม่ตามที่แสดงด้านบน

คำอธิบาย:

2.1 วางหมุดคอนโทรลเลอร์ในเขียงหั่นขนม

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

2.2 เพิ่มตัวต้านทาน

หลังจากใส่หมุดเหล่านี้แล้ว ให้เพิ่มตัวต้านทาน 10KΩ ที่เชื่อมทั้งสองด้านของเขียงหั่นขนม สิ่งนี้จะแก้ไขปริมาณกระแสไฟที่ไหลไปยังแต่ละพิน ซึ่งทำให้บั๊กทำงานได้อย่างถูกต้อง

2.3 เพิ่มไฟ LED ตรวจสอบข้อผิดพลาด

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

2.4 เชื่อมต่อการตั้งค่ากับ Arduino

สุดท้าย เพิ่มสายจัมเปอร์อีกเส้นเพื่อเชื่อมต่อแต่ละแถวกับพิน Arduino มันเป็นสิ่งสำคัญที่พวกเขาสอดคล้องดังต่อไปนี้:

3 - ยิง 4 - ไปข้างหน้า 5 - ซ้าย 6 - ขวา

ขั้นตอนที่ 3: ทดสอบด้วยการสตรีมข้อมูลสังเคราะห์

ทดสอบด้วยการสตรีมข้อมูลสังเคราะห์
ทดสอบด้วยการสตรีมข้อมูลสังเคราะห์
ทดสอบด้วยการสตรีมข้อมูลสังเคราะห์
ทดสอบด้วยการสตรีมข้อมูลสังเคราะห์

3.1 อัปโหลดโค้ดตัวอย่างไปที่บอร์ด

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

3.2 เปิดสตรีมมิ่งสังเคราะห์

8 Channels จะทำงานได้ดีสำหรับตัวอย่างนี้ คลิก "เริ่มระบบ" เพื่อดำเนินการต่อ

เมื่อคุณเปิด GUI แล้ว ให้ปิดช่อง 6-8

3.3 ตั้งค่าวิดเจ็ตเครือข่าย

เปิดและตั้งค่า Networking Widget ตามที่แสดงในภาพโดยใช้โหมดซีเรียล เราต้องการให้ชนิดข้อมูลเป็น "EMG"

นอกจากนี้ โปรดทราบว่าอัตราบอดในร่าง Arduino ของเราคือ 57600 ดังนั้นเราจึงเลือก 57600 จากเมนูดร็อปดาวน์ของ Baud

ตรวจสอบให้แน่ใจว่าได้เลือกพอร์ตที่ถูกต้องสำหรับ Arduino เป็นพอร์ตเดียวกับที่เราใช้ในการอัปโหลดสเก็ตช์ไปยัง Arduino หากใช้ Mac/Linux ควรระบุว่า "usbmodem" ซึ่งแตกต่างจากบอร์ด OpenBCI ซึ่งจะมีป้ายกำกับว่า "usbserial"

เมื่อคุณตรวจสอบแล้วว่าข้อมูลทั้งหมดถูกต้องแล้ว ให้กดเริ่ม!

3.4 การทดสอบการทำงาน

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

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

ขั้นตอนที่ 4: ตั้งค่าบอร์ด OpenBCI และอิเล็กโทรด

ตั้งค่าบอร์ด OpenBCI และอิเล็กโทรด
ตั้งค่าบอร์ด OpenBCI และอิเล็กโทรด
ตั้งค่าบอร์ด OpenBCI และอิเล็กโทรด
ตั้งค่าบอร์ด OpenBCI และอิเล็กโทรด

มีสองทิศทางที่สามารถทำได้: หนึ่งคนที่ควบคุมคำสั่งทั้ง 5 คำสั่ง หรือหลายคนที่ควบคุมคำสั่งต่างๆ แต่ละรายการ สิ่งนี้จะแยกความแตกต่างของวิธีการทำ

ตัวเลือก A: คนเดียวที่ควบคุมคำสั่งทั้งห้า

เพียงทำตามคำแนะนำในบทช่วยสอนการตั้งค่า EMG จากเอกสารประกอบ OpenBCI ที่นี่

ตัวเลือก B: หลายคนควบคุมคำสั่งต่างๆ

ทำตามบทช่วยสอนการตั้งค่า EMG จากเว็บไซต์ OpenBCI แต่มีการเปลี่ยนแปลงเพียงครั้งเดียว: ต้องเชื่อมต่อหลายกราวด์เข้าด้วยกัน

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

ขั้นตอนที่ 5: เชื่อมต่อกับข้อมูลจริง

เชื่อมต่อกับข้อมูลจริง
เชื่อมต่อกับข้อมูลจริง
เชื่อมต่อกับข้อมูลจริง
เชื่อมต่อกับข้อมูลจริง

ตอนนี้ กลับไปที่หน้าแรกของ GUI แล้วเลือก LIVE (จาก Cyton) หรือ LIVE (จาก Ganglion) เป็นแหล่งข้อมูล ขึ้นอยู่กับบอร์ดที่คุณใช้

จากที่นี่ ให้เปิด EMG Widget และ Networking Widget แล้วเริ่มการสตรีมอย่างที่เคยเป็นมา ตอนนี้ข้อมูลควรจะสตรีมจากการป้อนข้อมูลสดของคุณ!

ขั้นตอนที่ 6: การต่อสู้

เมื่อทุกอย่างพร้อมแล้ว คุณก็พร้อมสำหรับการต่อสู้ หากมีการสร้างการตั้งค่าสองแบบ คุณสามารถใช้การควบคุมเพื่อต่อสู้ได้

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

hexbug แต่ละตัวมีสามชีวิต และหลังจากที่สิ่งเหล่านี้ผ่านไป เพียงแค่กดปุ่มเปิด/ปิดเพื่อรีเซ็ตคะแนน

ขอให้สนุกและต่อสู้!

ขั้นตอนที่ 7: การแก้ไขปัญหา - รหัสควบคุมแป้นพิมพ์

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

แนะนำ: