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, November
Anonim
Neurobots Battle Royale: Muscle-Controlled Combat Hexbugs
Neurobots Battle Royale: Muscle-Controlled Combat Hexbugs

Tento tutoriál ukazuje, ako používať údaje EMG streamované prostredníctvom hardvéru OpenBCI a GUI OpenBCI na ovládanie akcií Hexbug. Bojové schopnosti týchto hexbugov je potom možné ovládať vlastným svalovým vkladom a budete sa môcť zapojiť do vlastných bitiek Hexbug!

Užitočné znalosti na pozadí:

  • Znalosť programovania na báze Arduina alebo C.

    Základy Arduina

  • Ako nastaviť súpravu čelenky OpenBCI pomocou Cyton alebo Ganglion

    To vám pomôže nastaviť a začať pracovať s doskami OpenBCI

  • Streamovanie údajov EMG pomocou OpenBCI

Niektoré znalosti o údajoch EMG

Zásoby

  • Hardvér

    • Počítač, ktorý spĺňa systémové požiadavky GUI
    • Dvojitý balík Hexbug 2.0
    • EMG/EKG penové tuhé gélové elektródy (30/balenie)
    • Káble na prichytenie elektród EMG/EKG
    • OpenBCI Cyton Board (500 dolárov) alebo Ganglion Board (200 dolárov)
    • 20 prepojovacích káblov muž-muž
    • Breadboard
    • Rezistory 10 x 10 kΩ
    • Arduino Genuino Uno
    • Voliteľných 5 LED diód (na pripojenie na ladenie)
  • Softvér

    • OpenBCI GUI
    • IDE Arduino
    • Poskytnutý kód
  • Príručky Začíname s OpenBCI

    • OpenBCI GUI
    • Ganglion alebo Cyton

Krok 1: Spájkovacie prepojovacie káble k ovládaču

Spájkovacie prepojovacie káble k ovládaču
Spájkovacie prepojovacie káble k ovládaču
Spájkovacie prepojovacie káble k ovládaču
Spájkovacie prepojovacie káble k ovládaču
Spájkovacie prepojovacie káble k ovládaču
Spájkovacie prepojovacie káble k ovládaču

1.1 Odstráňte veko ovládača

Odstráňte priehľadný plastový kryt zaklinovaním plochého skrutkovača alebo iného nástroja do štyroch zaisťovacích úchytiek ovládača. Zaveste na posuvný prepínač kanálov a samotné puzdro. Všetky ostatné tlačidlá je možné zahodiť.

Odstráňte nalepené tlačidlá a zlikvidujte ich. Tiež odspájkujte tlačidlo „Fire“a zlikvidujte ho.

1.2 Spájka na prepojovacích kábloch

Potom spájajte všetky prepojovacie káble medzi mužmi a mužmi do malých vnútorných kruhov, kde boli tlačidlá vpred, vzad, vľavo a vpravo. Tiež spájkujte pripojenia k odstránenému požiarnemu káblu a uzemňovaciemu kolíku vľavo.

1.3 Vymeňte kryt ovládača

Nožnicami alebo nožom odrežte kusy číreho plastového veka, ktoré by zasahovali do polohy vašich prepojovacích káblov, a znova ich nainštalujte na ovládač, pričom prepínač kanálov nechajte v polohe.

Opätovne použijeme veko tak, aby posuvný prepínač kanálov zostal efektívne v kontakte s vodivými záplatami na doske.

Krok 2: Vytvorte Breadboard Setup a pripojte ovládač

Vytvorte Breadboard Setup a pripojte ovládač
Vytvorte Breadboard Setup a pripojte ovládač
Vytvorte Breadboard Setup a pripojte ovládač
Vytvorte Breadboard Setup a pripojte ovládač
Vytvorte Breadboard Setup a pripojte ovládač
Vytvorte Breadboard Setup a pripojte ovládač

Znova vytvorte nastavenie, ako je uvedené vyššie.

Vysvetlenie:

2.1 Umiestnite kolíky ovládača do Breadboardu

Každý príkaz bude umiestnený vo svojom vlastnom riadku. Každý špendlík umiestnite do vlastného radu vo vnútornej časti dosky na pečenie. Poradie zhora nadol by malo byť pravé, ľavé, vpred, oheň.

2.2 Pridajte odpory

Po vložení týchto kolíkov pridajte odpor 10 KΩ premosťujúci dve strany dosky dosky. To opravuje množstvo prúdu prechádzajúceho na každý pin, čo umožňuje, aby chyba fungovala správne.

2.3 Pridať kontrolky LED na kontrolu chýb

Na účely vizualizácie v tomto mieste môžeme tiež pridať LED diódu. Anóda LED by mala byť v súlade s ovládacím kolíkom a odporom a katóda je na samostatnom riadku dosky. Pripojte ďalší odpor z vedenia katódy k zemi nepájivého poľa. Tento krok je voliteľný, ale môže pomôcť pri riešení akýchkoľvek chýb v obvode.

2.4 Pripojte nastavenie k Arduinu

Nakoniec pridajte ďalší prepojovací kábel na pripojenie každého radu k kolíku Arduino. Je dôležité, aby zodpovedali nasledovne:

3 - Požiar 4 - Vpred 5 - Vľavo 6 - Vpravo

Krok 3: Testujte pomocou syntetických dátových tokov

Testujte so syntetickými dátami streamovania
Testujte so syntetickými dátami streamovania
Testujte so syntetickými dátami streamovania
Testujte so syntetickými dátami streamovania

3.1 Nahrajte vzorový kód na nástenku

Po stiahnutí nášho poskytnutého kódu otvorte program v Arduine. Pripojte dosku k prenosnému počítaču a v rozbaľovacej ponuke Nástroje ho vyberte ako port. Potom nahrajte svoj kód na dosku Arduino.

3.2 Otvorené syntetické streamovanie

V tomto prípade bude 8 kanálov fungovať správne. Pokračujte kliknutím na „Spustiť systém“.

Po otvorení grafického rozhrania vypnite kanály 6-8.

3.3 Nastavenie sieťového widgetu

V sériovom režime otvorte a nastavte miniaplikáciu Networking podľa obrázku. Chceme, aby bol dátový typ „EMG“.

Všimnite si tiež, že prenosová rýchlosť v našom náčrte Arduino je 57 600, takže z rozbaľovacej ponuky Baud vyberáme 57 600.

Nezabudnite vybrať správny port pre Arduino. Je to ten istý port, ktorý sme použili na nahranie náčrtu do Arduina. Ak používate systém Mac/Linux, mal by byť označený ako „usbmodem“-odlišný od dosky OpenBCI, ktorá bude označená ako „usbserial“.

Akonáhle potvrdíte, že všetky informácie sú správne, stlačte štart!

3.4 Bežné testy

Pretože je syntetické údaje oveľa ťažšie ovládať, upravujte nastavenia v miniaplikácii EMG, kým nie sú štvorce dostatočne volatilné, aby prekročili prahovú hodnotu uvedenú v kóde. Ak to nestačí, môže byť vo vašom záujme zmeniť prahovú hodnotu v kóde a znova ho nahrať na tabuľu.

Môže tiež pomôcť vypnúť všetky kanály okrem jedného naraz a testovať každý príkaz jeden po druhom, aby ste sa uistili, že všetci robia to, čo majú. Keď potvrdíte, že všetko funguje dobre, môžete prejsť na skutočné údaje.

Krok 4: Nastavte dosku OpenBCI a elektródy

Nastavte dosku OpenBCI a elektródy
Nastavte dosku OpenBCI a elektródy
Nastavte dosku OpenBCI a elektródy
Nastavte dosku OpenBCI a elektródy

Existujú dva smery, ktorými sa to môže uberať: jedna osoba ovládajúca všetkých 5 príkazov alebo niekoľko ľudí ovládajúcich rôzne príkazy. To bude odlišovať spôsob, akým sa to robí.

Možnosť A: Jedna osoba ovládajúca všetkých päť príkazov

Jednoducho postupujte podľa pokynov v tomto návode na inštaláciu EMG z dokumentácie OpenBCI tu.

Možnosť B: Viac ľudí ovládajúcich rôzne príkazy

Nasledujte návod na nastavenie EMG z webu OpenBCI, ale s jednou zmenou: je potrebné spojiť viac dôvodov.

Za týmto účelom odrežte asi 3 palce mužských kolíkových drôtov a koniec jedného samičieho kolíkového drôtu a odstráňte palec gumy z koncov, aby ste odhalili drôty vo vnútri. Opakujte to pre toľko mužských vodičov, koľko je potrebné, aby mala každá osoba samostatné uzemnenie. Spojte tieto odhalené konce k sebe a umiestnite ich do kúska zmršťovacej trubičky.

Krok 5: Pripojte sa k skutočným dátam

Pripojte sa k skutočným dátam
Pripojte sa k skutočným dátam
Pripojte sa k skutočným dátam
Pripojte sa k skutočným dátam

Teraz sa vráťte domov GUI a ako zdroj údajov zvoľte LIVE (od Cytona) alebo LIVE (od Gangliona) - v závislosti od dosky, ktorú používate.

Odtiaľto otvorte widget EMG a widget Networking a začnite streamovať rovnako ako predtým. Teraz by údaje mali prúdiť z vášho živého vstupu!

Krok 6: Bitka

Keď je všetko pripravené, ste pripravení na bitku. Ak boli vytvorené dve nastavenia, môžete pomocou ovládacích prvkov bojovať.

Upozorňujeme, že roboty by sa mali zapínať jeden po druhom, aby sa zabezpečilo zhromažďovanie signálov z dvoch jedinečných zdrojov.

Každý hexbug má tri životy a potom, čo všetky prešli, skóre resetujte jednoduchým stlačením vypínača.

Bavte sa a bojujte!

Krok 7: Riešenie problémov - Ovládací kód klávesnice

Ak máte problémy s nastavením dosky a chcete ju ovládať iba pomocou vstupu z klávesnice, stiahnite si tento kód a na ovládanie obvodu použite vstavaný sériový monitor Arduino. To vám umožní izolovať každú akciu a určiť, či problém, s ktorým sa stretávate, pochádza z fyzického nastavenia Arduino alebo z údajov.

Odporúča: