Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Mga Solder Jumper Cables sa Controller
- Hakbang 2: Lumikha ng Pag-set up ng Breadboard at Ikonekta ang Controller
- Hakbang 3: Pagsubok Sa Streaming ng Synthetic Data
- Hakbang 4: I-set up ang Iyong OpenBCI Board at Electrodes
- Hakbang 5: Kumonekta sa Tunay na Data
- Hakbang 6: Labanan
- Hakbang 7: Pag-areglo - Code ng Control Code
Video: Neurobots Battle Royale: Mga Kinokontrol na Combat Hexbugs: 7 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
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
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
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
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
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
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:
Kinokontrol ng Word Clock ng 114 na Mga Serbisyo: 14 Mga Hakbang (na may Mga Larawan)
Ang Word Clock na Kinokontrol ng 114 Servos: Ano ang mayroon ng 114 LEDs at palaging tumatakbo? Tulad ng maaari mong malaman ang sagot ay isang salitang orasan. Ano ang mayroon ng 114 LEDs + 114 servos at palaging gumagalaw? Ang sagot ay ang orasan na kinokontrol ng servo para sa proyektong ito Nakipagtulungan ako sa isang kaibigan ko na lumingon
Kinokontrol ng Arduino Robotic Arm W / 6 Mga Degree ng Freedom: 5 Mga Hakbang (na may Mga Larawan)
Kinokontrol ng Arduino Robotic Arm W / 6 Degree of Freedom: Miyembro ako ng isang robotics group at bawat taon ang aming pangkat ay nakikilahok sa isang taunang Mini-Maker Faire. Simula noong 2014, nagpasya akong bumuo ng isang bagong proyekto para sa kaganapan sa bawat taon. Sa oras na iyon, mayroon akong isang buwan bago ang kaganapan upang maglagay ng isang bagay na makakalimutan
Kinokontrol ng Arduino na Dock ng Telepono na May Mga Lampara: 14 Mga Hakbang (na may Mga Larawan)
Arduino Controlled Phone Dock With Lamps: Ang ideya ay sapat na simple; lumikha ng isang dock ng singilin sa telepono na magbubukas lamang ng lampara kapag nagcha-charge ang telepono. Gayunpaman, tulad ng madalas na nangyayari, ang mga bagay na tila simpleng simple ay maaaring magtapos sa pagkuha ng medyo mas kumplikado sa kanilang pagpapatupad. Ito ay
Kinokontrol ng Arduino Lilypad Mga Nearrings ng NeoPixel: 7 Mga Hakbang (na may Mga Larawan)
Kinokontrol ng Arduino Lilypad Mga Nearrings ng NeoPixel: Kamusta sa lahat, Ayaw mo bang magkaroon ng ganoon kaayos at astig na hikaw kapag lumabas ka sa gabi o para sa mga pagdiriwang? Nais kong magkaroon nito, iyon ang dahilan kung bakit ginawa ko ang Arduino Lilypad Controlled Neopixel Earrings. :) Ang mga hikaw na ito ay hindi lamang nag-iilaw. Mayroon silang
Kahanga-hangang Mga Moving Gear na Kinokontrol ng Mga Kahanga-hangang Pindutan (na Magpatuloy): 9 Mga Hakbang
Kahanga-hangang Mga Moving Gear na Kinokontrol ng Mga Kahanga-hangang Pindutan (na Magpatuloy): Physical / electronic game design for UCLA Design Media Arts with Eddo Stern. Hindi kumpleto ang itinuturo na ito. Ang proyekto ay nagpapatuloy pa rin