Obsah:

Neurobots Battle Royale: Muscle-Controlled Combat Hexbugs: 7 Steps
Neurobots Battle Royale: Muscle-Controlled Combat Hexbugs: 7 Steps

Video: Neurobots Battle Royale: Muscle-Controlled Combat Hexbugs: 7 Steps

Video: Neurobots Battle Royale: Muscle-Controlled Combat Hexbugs: 7 Steps
Video: OpenBCI EEG/EMG Controlled Hexbug 2024, Červenec
Anonim
Neurobots Battle Royale: Muscle-Controlled Combat Hexbugs
Neurobots Battle Royale: Muscle-Controlled Combat Hexbugs

Tento tutoriál ukazuje, jak používat data EMG streamovaná hardwarem OpenBCI a grafickým uživatelským rozhraním OpenBCI k ovládání akcí Hexbug. Bojové schopnosti těchto hexbugů pak můžete ovládat svým vlastním svalovým vkladem a budete se moci zapojit do vlastních Hexbugských bojů!

Užitečné znalosti na pozadí:

  • Znalost programování na bázi Arduina nebo C.

    Základy Arduina

  • Jak nastavit sadu čelenky OpenBCI pomocí Cyton nebo Ganglion

    To vám pomůže nastavit a začít pracovat s deskami OpenBCI

  • Streamování dat EMG pomocí OpenBCI

Některé znalosti o datech EMG

Zásoby

  • Hardware

    • Počítač, který splňuje systémové požadavky GUI
    • Hexbug 2.0 Dual Pack
    • Pěnové tuhé gelové elektrody EMG/EKG (30/balení)
    • Zástrčkové elektrodové kabely EMG/EKG
    • OpenBCI Cyton Board (500 $) nebo Ganglion Board (200 $)
    • 20 propojovacích kabelů muž-muž
    • Prkénko
    • Rezistory 10 x 10 kΩ
    • Arduino Genuino Uno
    • Volitelně 5 LED diod (pro připojení k ladění)
  • Software

    • OpenBCI GUI
    • Arduino IDE
    • Poskytnutý kód
  • Příručky Začínáme s OpenBCI

    • OpenBCI GUI
    • Ganglion nebo Cyton

Krok 1: Pájecí propojovací kabely k ovladači

Pájecí propojovací kabely k ovladači
Pájecí propojovací kabely k ovladači
Pájecí propojovací kabely k ovladači
Pájecí propojovací kabely k ovladači
Pájecí propojovací kabely k ovladači
Pájecí propojovací kabely k ovladači

1.1 Sejměte víko ovladače

Odstraňte čirý plastový kryt zaklíněním plochého šroubováku nebo jiného nástroje do čtyř zajišťovacích výčnělků ovladače. Zavěste na posuvný přepínač kanálů a samotné pouzdro. Všechna ostatní tlačítka lze zahodit.

Odstraňte nalepená tlačítka a zlikvidujte je. Také odpájejte tlačítko „Fire“a zlikvidujte.

1.2 Pájka na propojovacích kabelech

Poté připájejte každý z propojovacích kabelů muž-muž k malým vnitřním kruhům, kde byla tlačítka vpřed, vzad, vlevo a vpravo. Také pájte připojení k odstraněnému požárnímu kabelu a zemnicímu kolíku nalevo.

1.3 Vyměňte víko ovladače

Pomocí nůžek nebo nože odřízněte z čirého plastového víka kousky, které by zasahovaly do polohy propojovacích kabelů, a znovu je nainstalujte na ovladač, přičemž přepínač kanálů držte v poloze.

Víko znovu použijeme tak, aby přepínač posuvných kanálů zůstal efektivně v kontaktu s vodivými záplatami na desce.

Krok 2: Vytvořte Breadboard Setup a připojte ovladač

Vytvořte Breadboard Setup a připojte ovladač
Vytvořte Breadboard Setup a připojte ovladač
Vytvořte Breadboard Setup a připojte ovladač
Vytvořte Breadboard Setup a připojte ovladač
Vytvořte Breadboard Setup a připojte ovladač
Vytvořte Breadboard Setup a připojte ovladač

Znovu vytvořte nastavení, jak je uvedeno výše.

Vysvětlení:

2.1 Umístěte piny ovladače do Breadboardu

Každý příkaz bude umístěn ve svém vlastním řádku. Umístěte každý kolík do své vlastní řady do vnitřní části prkénka. Shora dolů by jejich pořadí mělo být Vpravo, Vlevo, Vpřed, Požár.

2.2 Přidejte odpory

Po vložení těchto kolíků přidejte odpor 10 KΩ přemosťující obě strany prkénka. Tím se opraví množství proudu procházejícího na každý pin, což umožňuje, aby chyba fungovala správně.

2.3 Přidat kontrolky LED pro kontrolu chyb

Pro účely vizualizace v tomto místě můžeme také přidat LED. Anoda LED by měla být v souladu s ovládacím kolíkem a rezistorem a katoda je na samostatném řádku nepájivého pole. Připojte další odpor z řady katody k uzemnění prkénka. Tento krok je volitelný, ale může pomoci při odstraňování případných chyb v obvodu.

2.4 Připojte nastavení k Arduinu

Nakonec přidejte další propojovací kabel pro připojení každé řady ke kolíku Arduino. Je důležité, aby odpovídaly takto:

3 - Požár 4 - Vpřed 5 - Vlevo 6 - Vpravo

Krok 3: Testujte pomocí streamovaných syntetických dat

Testujte pomocí streamovaných syntetických dat
Testujte pomocí streamovaných syntetických dat
Testujte pomocí streamovaných syntetických dat
Testujte pomocí streamovaných syntetických dat

3.1 Nahrajte ukázkový kód na tabuli

Po stažení našeho poskytnutého kódu otevřete v Arduinu. Připojte desku k notebooku a v rozevíracím seznamu Nástroje jej vyberte jako port. Poté nahrajte svůj kód na desku Arduino.

3.2 Otevřené syntetické streamování

8 kanálů bude v tomto případě fungovat dobře. Pokračujte kliknutím na „Spustit systém“.

Jakmile otevřete grafické uživatelské rozhraní, vypněte kanály 6-8.

3.3 Nastavení síťového widgetu

Pomocí sériového režimu otevřete a nastavte widget Networking, jak je znázorněno na obrázku. Chceme, aby datový typ byl „EMG“.

Všimněte si také, že přenosová rychlost v našem náčrtu Arduino je 57 600, takže z rozevíracího seznamu Baud vybereme 57 600.

Ujistěte se, že jste vybrali správný port pro Arduino. Je to stejný port, jaký jsme použili k nahrání skici do Arduina. Pokud používáte Mac/Linux, měl by být označen „usbmodem“-odlišně od desky OpenBCI, která bude označena „usbserial“.

Jakmile potvrdíte, že jsou všechny informace správné, stiskněte start!

3.4 Spouštění testů

Protože je syntetická data mnohem hůře ovladatelná, upravte nastavení v widgetu EMG, dokud nebudou čtverce dostatečně volatilní, aby mohly projít prahovou hodnotou uvedenou v kódu. Pokud to nestačí, může být ve vašem zájmu změnit prahovou hodnotu v kódu a znovu nahrát na vaši nástěnku.

Může také pomoci vypnout všechny kanály kromě jednoho najednou a testovat každý příkaz jeden po druhém, abyste se ujistili, že všichni dělají to, co dělat mají. Jakmile potvrdíte, že vše funguje dobře, můžete přejít ke skutečným datům.

Krok 4: Nastavení desky OpenBCI a elektrod

Nastavte desku OpenBCI a elektrody
Nastavte desku OpenBCI a elektrody
Nastavte desku OpenBCI a elektrody
Nastavte desku OpenBCI a elektrody

Mohou to mít dva směry: jedna osoba ovládající všech 5 příkazů nebo více lidí ovládajících různé příkazy. To bude odlišovat způsob, jakým se to děje.

Možnost A: Jedna osoba ovládající všech pět příkazů

Jednoduše postupujte podle pokynů v tomto tutoriálu EMG Setup z dokumentace OpenBCI zde.

Možnost B: Více lidí ovládajících různé příkazy

Postupujte podle pokynů k instalaci EMG z webu OpenBCI, ale s jednou změnou: je třeba spojit více důvodů dohromady.

Chcete -li to provést, odřízněte asi 3 palce mužských kolíkových vodičů a konec jednoho samičího kolíkového drátu a odstraňte palec gumy z konců, abyste odhalili dráty uvnitř. Opakujte to pro tolik mužských vodičů, kolik je potřeba, aby měl každý jedinec uzemnění. Spojte tyto odkryté konce dohromady a vložte je do kousku smršťovací trubičky.

Krok 5: Připojte se ke skutečným datům

Připojte se ke skutečným datům
Připojte se ke skutečným datům
Připojte se ke skutečným datům
Připojte se ke skutečným datům

Nyní se vraťte na domovskou stránku GUI a jako zdroj dat zvolte LIVE (od Cyton) nebo LIVE (od Ganglion) - podle desky, kterou používáte.

Odtud otevřete EMG Widget a Networking Widget a začněte streamovat přesně jako předtím. Nyní by data měla streamovat z vašeho živého vstupu!

Krok 6: Bitva

Když je nyní vše nastaveno, jste připraveni k boji. Pokud byla vytvořena dvě nastavení, můžete k ovládání použít ovládací prvky.

Vezměte prosím na vědomí, že roboti by se měli zapínat jeden po druhém, aby se zajistilo, že signály jsou shromažďovány ze dvou jedinečných zdrojů.

Každý hexbug má tři životy a poté, co všechny prošly, jednoduše resetujte skóre stisknutím tlačítka napájení.

Bavte se a bojujte!

Krok 7: Řešení potíží - ovládací kód klávesnice

Pokud máte nějaké problémy s nastavením desky a chcete ji ovládat pouze pomocí vstupu z klávesnice, stáhněte si tento kód a použijte k ovládání svého obvodu vestavěný sériový monitor Arduino. To vám umožní izolovat každou akci a určit, zda problém, se kterým se setkáváte, pochází z fyzického nastavení Arduino nebo z dat.

Doporučuje: