Talaan ng mga Nilalaman:

Neurobots Battle Royale: Mga Kinokontrol na Combat Hexbugs: 7 Mga Hakbang
Neurobots Battle Royale: Mga Kinokontrol na Combat Hexbugs: 7 Mga Hakbang

Video: Neurobots Battle Royale: Mga Kinokontrol na Combat Hexbugs: 7 Mga Hakbang

Video: Neurobots Battle Royale: Mga Kinokontrol na Combat Hexbugs: 7 Mga Hakbang
Video: Kidz Squad Squabble! HeroForce vs The White Hat Game Master Nerf Battle Royale! 2024, Nobyembre
Anonim
Neurobots Battle Royale: Mga Kinokontrol na Musika na Hexbugs
Neurobots Battle Royale: Mga Kinokontrol na Musika na Hexbugs

Ipinapakita ng tutorial na ito kung paano gamitin ang data ng EMG na naka-stream sa pamamagitan ng hardware ng OpenBCI at ng OpenBCI GUI upang makontrol ang mga pagkilos ng isang Hexbug. Ang mga kakayahan sa labanan ng mga hexbugs na ito ay maaaring kontrolado ng iyong sariling pag-input ng kalamnan, at magagawa mong makisali sa mga pag-aaway na Hexbug ng iyong sarili!

Kapaki-pakinabang na Mga Kasanayan sa Background:

  • Kaalaman sa Arduino o C-based na programa

    Mga Pangunahing Kaalaman sa Arduino

  • Paano i-set up ang OpenBCI Headband Kit gamit ang Cyton o Ganglion

    Tutulungan ka nitong mag-setup at makipagtulungan sa OpenBCI Boards

  • Pag-stream ng Data ng EMG kasama ang OpenBCI

Ilang kaalaman sa background tungkol sa data ng EMG

Mga gamit

  • Hardware

    • Isang computer na nakakatugon sa Mga Kinakailangan sa System ng GUI
    • Hexbug 2.0 Dual Pack
    • EMG / ECG Foam Solid Gel Electrodes (30 / pack)
    • Mga Kable ng EMG / ECG Snap Electrode
    • OpenBCI Cyton Board ($ 500) o Ganglion Board ($ 200)
    • 20 male-male jumper cables
    • Breadboard
    • 10 x 10kΩ Mga Resistor
    • Arduino Genuino Uno
    • Opsyonal na 5 LEDs (upang kumonekta para sa pag-debug)
  • Software

    • OpenBCI GUI
    • Ang Arduino IDE
    • Ibinigay Code
  • Mga Gabay sa Pagsisimula ng OpenBCI

    • OpenBCI GUI
    • Ganglion o Cyton

Hakbang 1: Mga Solder Jumper Cables sa Controller

Mga Solder Jumper Cables sa Controller
Mga Solder Jumper Cables sa Controller
Mga Solder Jumper Cables sa Controller
Mga Solder Jumper Cables sa Controller
Mga Solder Jumper Cables sa Controller
Mga Solder Jumper Cables sa Controller

1.1 Tanggalin ang Lid of Controller

I-off ang malinaw na plastik na pambalot sa pamamagitan ng pag-wedging isang flat distornilyador o ibang tool sa apat na mga locking tab ng controller. Mag-hang sa sliding channel-Switcher at ang kaso mismo. Lahat ng iba pang mga pindutan ay maaaring itapon.

Alisin ang mga naka-tap na push button at itapon. Gayundin, de-solder ang pindutang "Fire" at itapon.

1.2 Solder sa Jumper Cables

Pagkatapos, maghinang ang bawat isa sa mga male-male jumper cable sa maliit, panloob na mga bilog kung saan ang pasulong, paatras, kaliwa at kanang mga pindutan ay. Gayundin ang mga koneksyon sa solder sa tinanggal na cable ng apoy, at ang ground pin sa kaliwa nito.

1.3 Palitan ang Lid of Controller

Gamit ang mga gunting o isang kutsilyo ng utility, gupitin ang mga piraso ng malinaw na takip ng plastik na makagambala sa posisyon ng iyong mga jumper cables at muling mai-install ito sa controller, pinapanatili ang switch ng channel sa posisyon.

Muling ginagamit namin ang takip upang ang sliding channel-Switcher ay mananatiling mabisa sa pakikipag-ugnay sa conductive patch sa board.

Hakbang 2: Lumikha ng Pag-set up ng Breadboard at Ikonekta ang Controller

Lumikha ng Setup ng Breadboard at Ikonekta ang Controller
Lumikha ng Setup ng Breadboard at Ikonekta ang Controller
Lumikha ng Setup ng Breadboard at Ikonekta ang Controller
Lumikha ng Setup ng Breadboard at Ikonekta ang Controller
Lumikha ng Setup ng Breadboard at Ikonekta ang Controller
Lumikha ng Setup ng Breadboard at Ikonekta ang Controller

Muling likhain ang pag-set up tulad ng ipinakita sa itaas.

Paliwanag:

2.1 Maglagay ng Mga Controller Pins sa Breadboard

Ang bawat utos ay makikita sa sarili nitong hilera. Ilagay ang bawat pin sa sarili nitong hilera sa panloob na bahagi ng breadboard. Mula sa itaas hanggang sa ibaba, ang pagkakasunud-sunod ng mga ito ay dapat na Kanan, Kaliwa, Pasulong, Sunog.

2.2 Magdagdag ng Mga Resistor

Matapos ipasok ang mga pin na ito, magdagdag ng isang risistor na 10KΩ na tulay sa dalawang gilid ng breadboard. Itatama nito ang dami ng kasalukuyang pagpunta sa bawat pin, na nagpapahintulot sa bug na gumana nang tama.

2.3 Magdagdag ng Error sa Pagsuri sa mga LED

Para sa mga hangarin sa pagpapakita, sa puntong ito maaari din kaming magdagdag ng isang LED. Ang anode ng LED ay dapat na umaayon sa control pin at resistor, at ang cathode ay nasa isang hiwalay na linya ng breadboard. Ikonekta ang isa pang risistor mula sa linya ng katod sa lupa ng tinapay. Tandaan na ang hakbang na ito ay opsyonal, ngunit makakatulong upang ma-troubleshoot ang anumang mga error sa circuit.

2.4 Ikonekta ang pag-set up sa Arduino

Sa wakas, magdagdag ng isa pang jumper cable upang ikonekta ang bawat hilera sa isang Arduino pin. Mahalaga na sila ay tumutugma sa mga sumusunod:

3 - Sunog 4 - Pasulong 5 - Kaliwa 6 - Kanan

Hakbang 3: Pagsubok Sa Streaming ng Synthetic Data

Pagsubok Sa Streaming ng Synthetic Data
Pagsubok Sa Streaming ng Synthetic Data
Pagsubok Sa Streaming ng Synthetic Data
Pagsubok Sa Streaming ng Synthetic Data

3.1 Mag-upload ng Sample Code sa Lupon

Pagkatapos i-download ang aming ibinigay na code, buksan sa Arduino. Ikonekta ang iyong board sa iyong laptop, at tiyaking piliin ito bilang port mula sa dropdown ng Tools. Pagkatapos, i-upload ang iyong code sa Arduino Board.

3.2 Buksan ang Synthetic Streaming

Ang 8 Mga Channel ay gagana nang maayos para sa halimbawang ito. I-click ang "Start System" upang magpatuloy.

Kapag nabuksan mo na ang GUI, patayin ang mga channel 6-8.

3.3 Pag-setup ng Widget sa Networking

Buksan at i-setup ang Networking Widget tulad ng ipinakita sa larawan, gamit ang Serial mode. Nais naming ang uri ng data ay "EMG".

Gayundin, tandaan ang rate ng baud sa aming sketch ng Arduino ay 57600, kaya pinili namin ang 57600 mula sa dropdown ng Baud.

Tiyaking piliin ang tamang port para sa Arduino. Ito ang parehong port na ginamit namin upang mai-upload ang sketch sa Arduino. Kung gumagamit ng Mac / Linux, dapat itong may label na "usbmodem" -iba sa OpenBCI board na mamamarkahan ng "usbserial."

Kapag nakumpirma mo na ang lahat ng impormasyon ay tama, pindutin ang pagsisimula!

3.4 Mga Pagpapatakbo ng Pagsubok

Tulad ng synthetic data ay mas mahirap kontrolin, i-tweak ang mga setting sa EMG widget hanggang sa ang mga parisukat ay sapat na pabagu-bago upang maipasa ang halaga ng threshold na naitala sa code. Kung hindi ito sapat, maaaring sa iyong interes na baguhin ang halaga ng threshold sa code at muling mai-upload sa iyong board.

Maaari rin itong makatulong na patayin ang lahat maliban sa isang channel nang paisa-isa, at subukan ang bawat utos nang paisa-isa upang matiyak na ginagawa nilang lahat ang dapat nilang gawin. Kapag nakumpirma mo na ang lahat ay gumagana nang maayos, pagkatapos ay maaari kang magpatuloy sa totoong data.

Hakbang 4: I-set up ang Iyong OpenBCI Board at Electrodes

I-setup ang Iyong OpenBCI Board at Electrodes
I-setup ang Iyong OpenBCI Board at Electrodes
I-setup ang Iyong OpenBCI Board at Electrodes
I-setup ang Iyong OpenBCI Board at Electrodes

Mayroong dalawang mga direksyon na maaaring tumagal nito: isang tao na nagkokontrol sa lahat ng 5 mga utos, o maraming tao na nagkokontrol sa iba't ibang mga utos bawat isa. Makakaiba nito ang paraan ng pagganap nito.

Pagpipilian A: Isang Taong Kinokontrol ang Lahat ng Limang Mga Utos

Sundin lamang ang mga tagubilin sa tutorial na Pag-setup ng EMG mula sa OpenBCI Documentation dito.

Opsyon B: Maramihang Mga Tao na Kinokontrol ang Iba't Ibang Mga Utos

Sundin ang tutorial na Pag-setup ng EMG mula sa website ng OpenBCI ngunit may isang pagbabago: maraming mga batayan ang dapat na magkasama-sama.

Upang magawa ito, putulin ang halos 3 pulgada ng mga lalaking pin wire at ang dulo ng isang babaeng pin wire at alisin ang isang pulgada ng goma mula sa mga dulo upang mailantad ang mga wire sa loob. Ulitin ito para sa maraming mga lalaking wires kung kinakailangan upang mabigyan ang bawat tao ng isang indibidwal na lupa. Haluin ang mga nakahantad na dulo na magkasama, at naglalaman ng mga ito sa loob ng isang piraso ng heat-shrink tubing.

Hakbang 5: Kumonekta sa Tunay na Data

Kumonekta sa Tunay na Data
Kumonekta sa Tunay na Data
Kumonekta sa Tunay na Data
Kumonekta sa Tunay na Data

Ngayon, bumalik sa tahanan ng GUI at pumili ng LIVE (mula sa Cyton) o LIVE (mula sa Ganglion) -depende sa pisara na iyong ginagamit- bilang mapagkukunan ng data.

Mula dito, buksan ang EMG Widget at ang Networking Widget, at simulang mag-streaming nang eksakto tulad ng dati. Ngayon, ang data ay dapat na streaming mula sa iyong live na input!

Hakbang 6: Labanan

Sa lahat ng naka-set up ngayon, handa ka na para sa labanan. Kung ang dalawang mga pag-setup ay nilikha, maaari mong gamitin ang mga kontrol upang labanan.

Mangyaring tandaan na ang mga robot ay dapat na buksan nang paisa-isa upang matiyak na ang mga signal ay natipon mula sa dalawang natatanging mapagkukunan.

Ang bawat hexbug ay may tatlong buhay, at pagkatapos nitong lumipas ang lahat, pindutin lamang ang power button upang i-reset ang mga marka.

Magsaya at makipaglaban!

Hakbang 7: Pag-areglo - Code ng Control Code

Kung nagkakaproblema ka sa pag-set up ng iyong board at nais itong kontrolin gamit ang keyboard input lamang, i-download ang code na ito upang magamit ang built-in na Arduino Serial Monitor upang makontrol ang iyong circuit. Papayagan ka nitong ihiwalay ang bawat aksyon at matukoy kung ang problemang iyong nararanasan ay nagmumula sa pisikal na pag-set up ng Arduino o mula sa data.

Inirerekumendang: