Tag Archives: umom

Kontrolišite kompjuter vašim umom!

kontrola kompjutera

Kontrolisati kompjuter sopstvenim umom definitivno izgleda kao nešto više od naučno-fantastičnog filma, ali se kontrola umom zapravo relativno lako i jeftino postigne. Koristeći jeftinu EEG igračku, koristimo moć našeg uma da šaljemo komande ka našem računaru. Ima mnogo toga da se uradi, pa da počnemo da petljamo.

1). Pogledajte video

2). Nabavka delova delovi

delovi

Evo delova koji su vam potrebni i približne cene u trenutku pisanja ovog članka.

– Star Wars Force Trainer (ili neki drugi EEG set za glavu-slušalice) = $ 40
– Arduino Uno = $ 7
– Hard disk konektor = polovni besplatno (ili 0,35 $ ako ne možete da nadjete polovni)
– Ukupno je oko $ 50.

3). Rastavite Force Trainerforce trainer force trainerforce trainerforce trainerforce trainer

Da biste koristili moždane talase koje “Star Wars Force trainer” prima, morate da ga rastavite i povežete sa njima. Sve što vam treba su slušalice-set za glavu. Jedna od najboljih stvari u vezi ovog projekta je da još uvek funkcioniše kao igračka čak i nakon što ste ga hakovali. Dakle, ne morate da brinete o tome da neće biti u stanju da se ponovo igrate sa njim nakon što ste ga koristili odvojeno.

1. Na slušalicama, izvadite baterije i zavrtnje koji drže gornju ploču.
2. Pronađite NeuroSky EEG ploču, kao na slici.
3. Zalemite-spojite žice na T-Pin na EEG tabli.
4. Spojite drugu žicu na uzemljenje na kućištu akumulatora.
5. Izbušite ili isecite malu rupu u plastičnom kućištu da žice mogu da prođu.
6. Stavite malo lepka na žice posle prolaza kroz rupu da ih drži na mestu.
Sada bi slušalice trebalo da budu spremne za slanje podataka! Zamenite baterije da obezbedite da sve i dalje radi, a zatim zavrnite gornje kućište ponovo. Sledeći deo je povezivanje Arduino sa slušalicama radi prikupljanja podataka!

4). Povežite Arduinopovežite arduinopovežite arduinopovežite arduinopovežite arduinopovežite arduino

Sledeći korak je da podatke EEG sa slušalica prebacimo na naše računare. Da bi smo to učinili, potrebno nam je nešto što će pretvoriti sirove podatke iz žica u čitljive podatke koji dolaze preko USB-a. Koristićemo Arduino za to. A evo koraka kojim ćemo morati da sve povežemo.

1. Ako želite, možete da pričvrstite Arduino na vrh slušalica koristeći traku ili zip vezice.
2. Povežite T pin žicu od slušalica na RX pin na Arduinu.
3. Povežite uzemljenje na slušalicama na pin-uzemljenje na Arduinu.
4. Korišćenjem USB kabla, povežite Arduino sa računarom.
5. Preuzmite i instalirajte Arduino verziju softvera 1.0.5.
6. Softver ne radi ni sa jednom novijom verzijom.
7. Pre pokretanja softvera, preuzmite i instalirajte Arduino moždanu biblioteku. Postavite je u vašem Arduino biblioteka folderu.
8. Pokrenite softver i napunite (load up) test program odlaskom na File> Examples> Brain> BrainSerialTest.
9. Postavite ih na Arduino (možda ćete morati da privremeno uklonite RX žicu kako bi to uradili).
10. Otvorite serijsku konzolu, stavite slušalice na glavu, uključite ih i vidite kakve rezultate ste dobili!
11. Prvi broj je jačina signala, drugi je vrednost pažnje, a treći je vrednost posredovanja.

*** NAPOMENA *** Ako stalno dobijate 200,0,0 kao svoj status, to može biti zbog problema uzemljenja sa slušalicama. Ako koristite laptop, isključite ga i pustite ga da radi bez baterije dok su vaše slušalice priključene da vidite da li to otklanja smetnju.

5). Resetujte Arduinoarduino Na žalost, u kupljenom stanju, Arduino Uno R2 i R3 ne može imitirati tastaturu i slati komande sa tastature na računar. Arduino Leonardo to može da uradi, ali bi bilo idealno kada ne biste morali da kupite novi Arduino samo za simuliranje tastature. Srećom, ovaj tutorijal Kevina DeMarca nam pokazuje zaobilaznicu koja omogućava da Arduino Uno R3 i R2 oponašaju tastaturu resetovanjem Atmega čipa.
Ako koristite Windows ili Mac, možete uraditi slične korake navedene ovde.
Ovde su koraci za linux:
1. Postavite kratki spoj čvrstog diska na pinove-vrhove za reset i uzemljenje Arduina kao što je prikazano na slici.
2. Uključite Arduino na vaš USB port računara.
3. Kada vidite da Arduino dobija struju, sačekajte nekoliko sekundi, a zatim uklonite kratki spojnik sa pina-vrha. Ovo bi trebalo da resetuje Arduino i tada možemo da postavimo softver.

6). Upload novog firmware-programa

firmware uploading

Kao što je pomenuto u prethodnom koraku, sa resetovanim Arduino možemo da postavimo svoj firmvare-software na Atmega čip. Zašto bismo ovo radili? Zato što će nam omogućiti da imamo Arduino koji deluje kao HID tastatura. Dakle, evo koraka da se započne:

1. Otvorite Linux terminal
2. Update apt-get

  1. sudo apt-get update

3. Instalirajte DFU (Device Firmware Updater) Program

  1. sudo apt-get install dfu-programmer

4. Skinite i odzipujte program koji će nam trebati. Ovaj zip fajl sadrži dve heksa datoteke: Arduino-tastatura-0.3.hex i Arduino-usbserial-uno.hex

  1. wget http://www.tinkernut.com/demos/arduino_hid/arduino_hid.zip

 

  1. unzip arduino_hid.zip

5. Koristite DFU programer da obrišete čip, postavite novi program i resetujte čip. Za ovaj primer samo ćemo preneti (upload) Atmega16u2 verziju USB firmware.

  1. sudo dfu-programmer atmega16u2 erase
  1. sudo dfu-programmer atmega16u2 flash --debug 1 Arduino-usbserial-uno.hex
  1. sudo dfu-programmer atmega16u2 reset

Sa novo postavljenim firmware-programom, vi sada imate kontrolu nad Arduinom. To možete učiniti jednostavnim isključenjem i priključenjem.

7). Simuliranje tastaturesimulacija tastature

Sada znamo kako da flešujemo firmware i sada moramo da ga doteramo da se ponaša kao tastatura. Dakle, prva stvar koju treba da uradite je da napišete jednostavan program za Arduino koji šalje prečice na serijsku konzolu. Kako ćemo poslati prečice? Korišćenjem ove liste HID kodova za tastaturu ( list of HID keyboard codes), pronađite znak koji želite da pošaljete. Ovo je primer koda koji daje Kevin DeMarco:/* Arduino USB HID Keyboard Demo * Random Key/Random Delay */ uint8_t buf[8] = { 0 }; /* Keyboard report buffer */ void setup() { Serial.begin(9600); randomSeed(analogRead(0)); delay(200); } void loop() { delay(5000); buf[0] = 0; buf[2] = 0x15; // letter R Serial.write(buf, 8); releaseKey(); } void releaseKey() { buf[0] = 0; buf[2] = 0; Serial.write(buf, 8); // Release key }

Proverite ovaj kod za greške i onda ga postavite na Arduino. Sada sve što je ostalo da uradite je da pratite iste korake kao u koracima 2 i 3 da prenesete-upload Arduino program za tastaturu:

1. Isključite Arduino sa računara.
2. Postavite vezu čvrstog diska na uzemljenje i resetujte pinove.
3. Priključite Arduino natrag u računar tako da ima napajanje.
4. Uklonite vezu hard diska.
5. U terminalu vašeg računara uradite ove komande da prenesete-upload Arduino program za tastaturu.

  1. sudo dfu-programmer atmega16u2 erase
    sudo dfu-programmer atmega16u2 flash --debug 1 Arduino-keyboard-0.3.hex
    sudo dfu-programmer atmega16u2 reset

6. Uključite i isključite Arduino naizmenično. Sa ponovo povezanim Arduinom otvorite text editor i trebalo bi da vidite slovo koje otkucate.

8). Povezivanje na EEGEEG povezivanjeEEG povezivanje Poslednji korak je da povežete EEG-slušalice na Arduino i editujete Arduino kod, tako da on šalje komande tastaturi od našeg mozga kad god ti podaci u našem mozgu dostignu određenu vrednost. Mi to možemo uraditi otvaranjem Arduino koda sa “Homemade Mind Control TV Remote” tutorijala i uklanjanjem svih referentnih kodova sa IR LED i komandi, a onda ih zameniti sa našim novim komandama na tastaturi. Konačni kod bi trebalo da izgleda nešto slično ovome:

#include <Brain.h>
Brain brain(Serial);
long interval = 500;
long previousMillis = 0;
int medValue;
uint8_t buf[8] = { 0 };
void setup() {
Serial.begin(9600);
randomSeed(analogRead(0));
delay(200);
}
void loop() {
if (brain.update()) {
Serial.println(brain.readCSV());
medValue = brain.readMeditation();
}
if(brain.readSignalQuality() == 0) {
if (medValue < 50) {
buf[0] = 0;
buf[2] = 0x17; // letter T
Serial.write(buf, 8);
delay(40);
releaseKey();

buf[0] = 0;
buf[2] = 0x0C; // letter I
Serial.write(buf, 8);
delay(40);
releaseKey();

buf[0] = 0;
buf[2] = 0x11; // letter N
Serial.write(buf, 8);
delay(40);
releaseKey();

buf[0] = 0;
buf[2] = 0x0E; // letter K
Serial.write(buf, 8);
delay(40);
releaseKey();

buf[0] = 0;
buf[2] = 0x08; // letter E
Serial.write(buf, 8);
delay(40);
releaseKey();

buf[0] = 0;
buf[2] = 0x15; // letter R
Serial.write(buf, 8);
delay(40);
releaseKey();

buf[0] = 0;
buf[2] = 0x11; // letter N
Serial.write(buf, 8);
delay(40);
releaseKey();

buf[0] = 0;
buf[2] = 0x18; // letter U
Serial.write(buf, 8);
delay(40);
releaseKey();

buf[0] = 0;
buf[2] = 0x17; // letter T
Serial.write(buf, 8);
delay(40);
releaseKey();

buf[0] = 0;
buf[2] = 0x28; // enter
Serial.write(buf, 8);
delay(40);
releaseKey();
}
}

}
void releaseKey()
{
buf[0] = 0;
buf[2] = 0;
Serial.write(buf, 8); // Release key
}

Pre nego što otpremimo-upload na Arduino, moramo da vratimo Arduino nazad u USB mod, pa ponovite korake 2 i 3 za to. I na kraju, kada ste to otpremili na vaš Arduino, moraćete da ponovite korak 4 da vratite Arduino u režim tastature. Ako je sve uspešno, kada imate slušalice priključene na računar, kada jednom vaša meditacijska vrednost padne ispod 50, trebalo bi da vidite komande sa tastature kako se izvršavaju na ekranu!

http://www.instructables.com/id/Control-A-Computer-With-Your-Mind/?ALLSTEPS

By

Preveo autor sajta.