Cuprins:

Neurobots Battle Royale: Hexbug-uri de luptă controlate de mușchi: 7 pași
Neurobots Battle Royale: Hexbug-uri de luptă controlate de mușchi: 7 pași

Video: Neurobots Battle Royale: Hexbug-uri de luptă controlate de mușchi: 7 pași

Video: Neurobots Battle Royale: Hexbug-uri de luptă controlate de mușchi: 7 pași
Video: OpenBCI EEG/EMG Controlled Hexbug 2024, Iulie
Anonim
Neurobots Battle Royale: Hexbug-uri de luptă controlate de mușchi
Neurobots Battle Royale: Hexbug-uri de luptă controlate de mușchi

Acest tutorial arată cum să utilizați datele EMG transmise prin hardware OpenBCI și OpenBCI GUI pentru a controla acțiunile unui Hexbug. Capacitățile de luptă ale acestor hexbugs pot fi apoi controlate de propriul aport de mușchi și veți putea să vă angajați în lupte proprii Hexbug!

Abilități utile de fundal:

  • Cunoașterea programării Arduino sau C

    Bazele Arduino

  • Cum să configurați kitul de bandă OpenBCI cu Cyton sau Ganglion

    Acest lucru vă va ajuta să configurați și să lucrați cu plăcile OpenBCI

  • Transmiterea de date EMG cu OpenBCI

Câteva cunoștințe de bază despre datele EMG

Provizii

  • Hardware

    • Un computer care îndeplinește cerințele de sistem GUI
    • Hexbug 2.0 Dual Pack
    • Electrozi cu gel solid din spumă EMG / ECG (30 / pachet)
    • Cabluri cu electrod Snap EMG / ECG
    • OpenBCI Cyton Board (500 USD) sau Ganglion Board (200 USD)
    • 20 cabluri jumper mascul-mascul
    • Pană de pâine
    • Rezistoare 10 x 10kΩ
    • Arduino Genuino Uno
    • 5 LED-uri opționale (pentru conectare pentru depanare)
  • Software

    • OpenBCI GUI
    • ID-ul Arduino
    • Codul furnizat
  • Ghiduri introductive OpenBCI

    • OpenBCI GUI
    • Ganglion sau Cyton

Pasul 1: Cabluri de sudare la controler

Cabluri de sudare pentru sudare la controler
Cabluri de sudare pentru sudare la controler
Cabluri de sudare a jumperului la controler
Cabluri de sudare a jumperului la controler
Cabluri de sudare pentru sudare la controler
Cabluri de sudare pentru sudare la controler

1.1 Scoateți capacul controlerului

Scoateți carcasa din plastic transparent prin înșurubarea unei șurubelnițe plate sau a unui alt instrument în cele patru cleme de blocare ale controlerului. Agățați-vă de comutatorul de canale glisant și de carcasă în sine. Toate celelalte butoane pot fi aruncate.

Scoateți butoanele cu bandă și aruncați. De asemenea, desfaceți butonul „Foc” și aruncați.

1.2 Lipire pe cabluri jumper

Apoi, lipiți fiecare dintre cablurile jumperului mascul-mascul la cercurile mici, interioare, unde erau butoanele înainte, înapoi, stânga și dreapta. De asemenea, lipiți conexiunile la cablul de incendiu îndepărtat și la știftul de masă din stânga acestuia.

1.3 Înlocuiți capacul controlerului

Folosind foarfece sau un cuțit utilitar, tăiați bucăți din capacul transparent din plastic care ar interfera cu poziția cablurilor jumper și reinstalați-l pe controler, menținând comutatorul de canal în poziție.

Reutilizăm capacul astfel încât comutatorul de canal glisant să rămână efectiv în contact cu patch-urile conductoare de pe placă.

Pasul 2: Creați configurarea Breadboard și conectați controlerul

Creați configurarea Breadboard și conectați controlerul
Creați configurarea Breadboard și conectați controlerul
Creați configurarea Breadboard și conectați controlerul
Creați configurarea Breadboard și conectați controlerul
Creați configurarea Breadboard și conectați controlerul
Creați configurarea Breadboard și conectați controlerul

Recreați configurarea așa cum se arată mai sus.

Explicaţie:

2.1 Așezați pinii controlerului în Breadboard

Fiecare comandă va fi situată în propriul rând. Așezați fiecare știft în rândul său în porțiunea interioară a plăcii. De sus în jos, ordinea acestora ar trebui să fie dreapta, stânga, înainte, foc.

2.2 Adăugați rezistențe

După introducerea acestor știfturi, adăugați un rezistor de 10KΩ care să pună în legătură cele două părți ale panoului. Acest lucru corectează cantitatea de curent care se îndreaptă către fiecare pin, ceea ce permite bug-ului să funcționeze corect.

2.3 Adăugați LED-uri de verificare a erorilor

În scopul vizualizării, în acest moment putem adăuga și un LED. Anodul LED-ului ar trebui să fie în linie cu știftul de control și rezistența, iar catodul se află pe o linie separată a panoului. Conectați un alt rezistor de la linia catodului la solul panoului. Rețineți că acest pas este opțional, dar poate ajuta la depanarea oricăror erori ale circuitului.

2.4 Conectați configurarea la Arduino

În cele din urmă, adăugați un alt cablu jumper pentru a conecta fiecare rând la un pin Arduino. Este important să corespundă după cum urmează:

3 - Foc 4 - Înainte 5 - Stânga 6 - Dreapta

Pasul 3: testați cu fluxul de date sintetice

Testați cu fluxul de date sintetice
Testați cu fluxul de date sintetice
Testați cu fluxul de date sintetice
Testați cu fluxul de date sintetice

3.1 Încărcați exemplul de cod pe forum

După descărcarea codului nostru furnizat, deschideți în Arduino. Conectați-vă placa la laptop și asigurați-vă că o selectați ca port din meniul derulant Instrumente. Apoi, încărcați codul pe placa Arduino.

3.2 Deschideți fluxul sintetic

8 canale vor funcționa bine pentru acest exemplu. Faceți clic pe „Porniți sistemul” pentru a continua.

După ce ați deschis GUI, opriți canalele 6-8.

3.3 Configurare widget de rețea

Deschideți și configurați Widget-ul de rețea așa cum se arată în imagine, utilizând modul Serial. Vrem ca tipul de date să fie „EMG”.

De asemenea, rețineți că rata baud din schița noastră Arduino este de 57600, deci selectăm 57600 din meniul derulant Baud.

Asigurați-vă că selectați portul corect pentru Arduino. Este același port pe care l-am folosit pentru a încărca schița pe Arduino. Dacă utilizați Mac / Linux, acesta ar trebui să fie etichetat „usbmodem” -diferit de pe placa OpenBCI care va fi etichetat „usbserial”.

După ce ați confirmat că toate informațiile sunt corecte, apăsați Start!

3.4 Testele de alergare

Deoarece datele sintetice sunt mult mai greu de controlat, modificați setările din widgetul EMG până când pătratele sunt suficient de volatile pentru a trece valoarea prag enumerată în cod. Dacă acest lucru nu este suficient, poate fi în interesul dumneavoastră să modificați valoarea pragului din cod și să reîncărcați pe tabloul dvs.

De asemenea, vă poate ajuta să opriți toate canalele, cu excepția unui canal, și să testați fiecare comandă una câte una pentru a vă asigura că toate fac ceea ce ar trebui să facă. După ce ați confirmat că totul funcționează bine, puteți trece la date reale.

Pasul 4: Configurați placa OpenBCI și electrozii

Configurați placa OpenBCI și electrozii
Configurați placa OpenBCI și electrozii
Configurați placa OpenBCI și electrozii
Configurați placa OpenBCI și electrozii

Există două direcții pe care le poate lua: o persoană care controlează toate cele 5 comenzi sau mai multe persoane care controlează comenzi diferite fiecare. Acest lucru va diferenția modul în care se face acest lucru.

Opțiunea A: o persoană care controlează toate cele cinci comenzi

Pur și simplu urmați instrucțiunile din acest tutorial de configurare EMG din Documentația OpenBCI aici.

Opțiunea B: mai multe persoane care controlează diferite comenzi

Urmați tutorialul de configurare EMG de pe site-ul web OpenBCI, dar cu o singură modificare: mai multe motive trebuie să fie îmbinate împreună.

Pentru a face acest lucru, tăiați aproximativ 3 centimetri de fire pin masculine și capătul unui fir pin feminin și îndepărtați un centimetru de cauciuc de la capete pentru a expune firele din interior. Repetați acest lucru pentru câte fire masculine este necesar pentru a oferi fiecărei persoane o legătură individuală. Împingeți aceste capete expuse împreună și le conține într-o bucată de tub termocontractabil.

Pasul 5: Conectați-vă la date reale

Conectați-vă la date reale
Conectați-vă la date reale
Conectați-vă la date reale
Conectați-vă la date reale

Acum, reveniți la pagina de pornire GUI și alegeți LIVE (de la Cyton) sau LIVE (de la Ganglion) - în funcție de placa pe care o utilizați - ca sursă de date.

De aici, deschideți widgetul EMG și widgetul de rețea și începeți să transmiteți streaming exact așa cum am avut înainte. Acum, datele ar trebui să fie transmise în flux din intrarea dvs. live!

Pasul 6: Luptă

Cu totul acum pregătit, sunteți gata de luptă. Dacă au fost create două setări, puteți utiliza comenzile pentru a lupta.

Vă rugăm să rețineți că roboții trebuie aprinși unul câte unul pentru a se asigura că semnalele sunt colectate din două surse unice.

Fiecare hexbug are trei vieți și, după ce toate acestea au trecut, pur și simplu apăsați butonul de alimentare pentru a reseta scorurile.

Distrează-te și luptă!

Pasul 7: Depanare - Cod de control tastatură

Dacă aveți probleme cu configurarea plăcii și doriți să o controlați folosind doar intrarea de la tastatură, descărcați acest cod pentru a utiliza monitorul serial Arduino încorporat pentru a vă controla circuitul. Acest lucru vă va permite să izolați fiecare acțiune și să determinați dacă problema pe care o întâmpinați provine din configurarea fizică Arduino sau din date.

Recomandat: