Hovedkonseptet med dette prosjektet er at ved hjelp av forskjellige hjernebølger vil brukeren være i stand til å kontrollere roboten, markøren på PCen hans eller slå av / på lysene i huset hans, mens mikrokontrolleren (Particle Photon) lager en online analyse av brukerens hjernebølger. Så ja, med denne enheten kan du virkelig bruke kraften i tankene ... Denne enheten er ikke bare beregnet på late eller fans, den ble opprettet for å gi folk muligheten. som sliter hver dag med sin funksjonshemming. Robotenutviklet av forfatteren fungerer akkurat som et rullestolsystem hjem automatisering vil hjelpe brukeren til å kontrollere lyset eller fjernsynet, selv om han / hun ikke kan bevege seg. PC-kontrollermodus kan være nyttig selv for de som er helt sunne.
Hvordan fungerer det?
Fire mikrokontrollere ble brukt for å bringe dette prosjektet til live: Arduino Mega, Arduino Leonardo, UNO og Particle Photon. Mega er hjernen i prosjektet, som mottar signaler fra headsettet, analyserer og sender kommandoer til andre enheter. Overfører alle data til Particle Photon, som oppretter en webserver. Leonardo kontrollerer musen på en PC, og Uno brukes til å motta IR (infrarøde signaler) og kontrollere roboten. En enhet er i stand til å kontrollere tre forskjellige enheter (eller mer hvis du vil programmere noe annet). Videre vil disse tre forskjellige enhetene bli kalt kanaler. Enheten bytter mellom disse kanalene hvis du lukker øynene:
Lukk øynene i 1-2 sekunder: bytt til automatisering av hjemmet
Lukk øynene i 2-4 sekunder: bytt til robotkontrollmodus
Lukk øynene i 1-6 sekunder: bytter til muskontrollermodus
For å gjøre funksjonen til hjemmeautomatisering, som du kan koble til hva som helst: en TV, lyspærer, stikkontakter, alt du måtte ønske, stafetter ble brukt
For oppfatningen av hjernebølger - Necomimi, som kan bevege ørene dine, avhengig av hjernebølgene (oppmerksomhet, meditasjon). Inni i en liten brikke som leser hjernebølger, filtrerer ut støy og gir et veldig godt signal. Det fungerer med UART (Serial) -grensesnittet, så med litt hacking kan vi bruke Arduino til å lese hjernebølger.Rollen til dette headsettet er å trådløst overføre hjernebølger til en sentral server.
Hvis du allerede er kjent med forrige prosjektså kan du hoppe over demonterings- og ombyggingsfasen til Necomimi.
Gå ned for å se hvordan du kan demontere og lage et trådløst Bluetooth-headset ut av det.
Hjemmeautomatiseringssystem
Hvis du bytter til hjemmeautomatiseringsmodus, må du øke oppmerksomhetsnivået over 70 for å slå på det første reléet, øke meditasjonsnivået over 70 for å slå på det andre stafetten, og øke begge verdiene over 70 for å slå på det tredje stafetten. Det er litt vanskelig, men ikke umulig etter litt trening i sinnet. Hvis reléet allerede er på, bruk den samme kommandoen for å slå den av (hvis den er på, nå 70 for å slå den av). Når systemet er klart, kan alle høyspentapparater (lys, TV, datamaskin, vifte, hva som helst) kobles til relémodulen.
Muskontroll
Markøren styres av følelser. Hvis oppmerksomhetsnivået er mindre enn 25, beveger det seg til venstre, hvis mellom 25 og 50 beveger det seg til høyre, hvis mellom 50 og 75 går det opp, og hvis mellom 75 og 100 går det ned. Du kan avgi et klikk på museknappen ved å øke meditasjonsnivået. Selvfølgelig må du trene for dette.
Robotkontroll
Roboten har bare tre forskjellige lag: stopp, sving til venstre og gå fremover. Hvorfor bare to bevegelsesalternativer? Fordi disse to retningene er nok til å flytte roboten hvor som helst. Bruk ditt meditasjonsnivå for å rotere med roboten, og når du har nådd retningen du vil bevege deg, stopper roboten, og fortsett deretter med oppmerksomhetsnivået. Dette er den beste måten å kontrollere roboten på, og selv nybegynnere som ikke kan kontrollere oppmerksomhets- / meditasjonsverdiene så godt kan leke med denne roboten.
Hodesettet overfører BT (Bluetooth) signaler til Arduino Mega, som analyserer innkommende byte og, avhengig av brukerens tanker, kontrollerer forskjellige funksjoner. Til å begynne med ønsket forfatteren å bruke Particle Photon som en datasender, men denne lille modulen fikk en rolle i å lage en webserver. Det var den største modifiseringen i hele prosjektet. Han brukte også hjemmelagde Arduino-moduler, men du kan kjøpe disse modulene på nettet.
Alle delene er fra GearBest.com. Dette er en nettbutikk, den samme som eBay, men reservedeler blir levert mye raskere (kanskje alt dette er på aliexpress). Hvis du vil lage din egen spillkontroller, robotkontroller eller Force Detecto r, kan du derfor starte med å kjøpe deler.
Verktøy som kreves:
loddejern
lodde
limpistol
selvklebende tape / dobbeltsidig tape
tråd stripper
trådkuttere
utstyr:
/ Arduino Nano
programvare:
Hacking av Necomimi
Vi ønsker å endre dette EEG-leketøyet for dataoverføring via Bluetooth, så først skal vi demontere saken. Skruer er under klistremerket. Fjern klistremerket og baksiden av enheten, så finner du små brett inni. Den under hovedtavlen er Neurosky TGAM-brikken. 4 ledninger fra hovedtavlen til mikrokontrolleren er loddet til den, så ta et loddejern og fjern denne kretsen forsiktig. Lodd nå de tre ledningene til GND-tappen, til VCC-tappen og til T-tappen. En T-pin er en senderutgang med en hastighet på 57600 baud, som sender datapakker til mikrokontrolleren vår. Når du har loddet de tre ledningene over, kan du bygge inn din egen oppladbare strømkilde. Forfatteren bruker et 500 mAh litium-ion-batteri, en USB-ladekrets, en 5 V boost-krets og to motstander (100 ohm og 200 ohm) for å gi en separat 3,4 V strømforsyning til brikken og Bluetooth-modulen. På bildet koblingsskjema.
Hvis kretsen er klar, konfigurer du Bluetooth-modulen.
Følg instruksjonene og figurene nedenfor og lag ditt eget trådløse EEG-headset.
Den viktigste delen er å koble “T” -nålen til “RX” på Bluetooth-modulen.
HC-06: Last først opp skissen som heter “HC_06_Bluetooth” til Arduino UNO, og koble deretter Bluetooth-modulen som vist i diagrammet.
// HC-06-Bluetooth
ugyldig oppsett () {
// Start maskinvareserien.
Serial.begin (9600); // standard HC-06 baud rate
forsinkelse (1000);
Serial.print ("AT");
forsinkelse (1000);
Serial.print ("AT + VERSION");
forsinkelse (1000);
Serial.print ("AT + PIN"); // for å fjerne passord
forsinkelse (1000);
Serial.print ("AT + BAUD7"); // Still baudrate til 576000 - f.eks Necomimi dafault
forsinkelse (1000);
Serial.begin (57600); //
forsinkelse (1000);
}
void loop () {
}
Åpne Serial Monitor i Arduino IDE og vent til Arduino konfigurerer BT-modulen. Bluetooth-modulen din er nå satt til 57600 baud. Du kan prøve mange BCI-applikasjoner (Brain Computer Interface) fordi dette hacket Necomimi-leketøyet vil være kompatibelt med alle Neurosky-applikasjoner.
Du kan bruke disse appene for å lære hvordan du kontrollerer hjernebølgene.
HC-05: Bruk deretter “HC_05_Bluetooth” og last inn Arduino på samme måte som før.
// HC-06-Bluetooth
oppsett av tomrom () {
// Start maskinvareserien.
Serial.begin (9600); // standard HC-05 baud rate
forsinkelse (1000);
Serial.print ("AT");
forsinkelse (1000);
Serial.print ("AT + VERSION");
forsinkelse (1000);
Serial.println ("AT + ROLE = 1"); // still HC-05 til mastermodus
forsinkelse (1000);
Serial.println ("AT + LINK =" Sett inn adressen din her "); // nå skal modulen automatisk koble til
forsinkelse (1000);
Serial.print ("AT + UART = 57600,1,0"); // Still baudrate til 576000
Serial.begin (57600); //
forsinkelse (1000);
}
void loop () {
}
Koble "EN" -tappen på HC-05 til 3v3 Arduino. Du må skrive adressen til HC-06-modulen din i kode. Sjekk BT-moduladressen på Android-smarttelefonen din. Erstatt ":" (doble prikker) med "," komma i koden.
Og du må endre adressen i koden: 20: 15: 09: 15: 17: 82 = 2015.09.151782 Dermed kan HC-05-modulen gjenkjenne adressen.
Fjernkontroll
For å lage denne rimelige roboten ble det brukt en infrarød sensor på 38 kHz, som brukes i fjernkontroller på TV.
Motordriver
Diagram for motorstasjon - Du trenger følgende detaljer:
2 skrueklemmer
L293D IC3
Toppstift (90 grader)
1k motstand
Rød LED
ledning
Kretskort
Ved hjelp av flere kobberledninger, og følg diagrammet, koble mikrokretsstiftene til kontaktstiftene. Det spiller ingen rolle hvilken etappe av mikrokretsen som hvilken pin på kontakten, bare husk hvor du koblet dem. LED-en kobles i serie med motstanden og parallelt med 5 V VCC.
chassis montering
Som elmotordriver brukes L293D-brikken, som kan styre to motorer. Se på diagrammet for å bygge diagrammet.
Koble deler til Arduino
Arduino Pin == & gt; motorfører
4 == & gt; 15
5 == & gt; 10
6 == & gt; 7
7 == & gt; 2
VIN == & gt; 8
5v == & gt; 1, 9, 16
GND == & gt; 4, 5, 13, 12
Så, se på kretsdiagrammet til L293D-modulen, og koble deretter kontaktene til Arduino UNO, som beskrevet ovenfor. Pinne 5v Arduino må være koblet til pinne 1, 9, 16 for å aktivere chipmotorens kontrollfunksjon. Bruk så til slutt skrueklemmene til å slå på motorene.
Biblioteket bruker IRremote, en kode som leser 38 kHz infrarøde signaler, avkoder dem og deretter flytter roboten. (Last ned biblioteket i delen "programvare").
Det er kommentarer i koden, men bunnlinjen er at den avkoder IR-signalene som kommer fra hovedserveren, og deretter, avhengig av hva brukeren vil, slår den på motorene, hvoretter roboten beveger seg fremover eller svinger til venstre. Last ned koden: "Robot_Code". Last ned dette til Arduino, og roboten din vil være klar.
Hovedserver (Arduino Mega, Leonardo, Photon)
Serveren leser innkommende datapakker fra det trådløse headsettet. Vi vil bruke den konfigurerte BT-modulen for å gi kommunikasjon mellom headsettet og serveren. Arduino Mega er hjernen i hele kretsen, alt er koblet til denne mikrokontrolleren: Bluetooth, infrarød sender LED, webserver og muskontroller. Koden er litt komplisert, men som regel har den kommentarer å forstå.
bolig
Alt er enkelt. To 18x15 cm pleksiglassplater, glatt kantene med sandpapir. Flere skruer for å koble dem til hverandre.
Stafettstyret
Du trenger følgende detaljer:
2n2222 transistor (3 stk)
germanium dioder (3 stk)
330 ohm-motstander (3 stk.)
1 kOhm motstand (3 stk.)
Relé 5 V (3 stk.)
pin-kontakter
Kretskort
Et bilde er verdt mer enn tusen ord, så se på diagrammet for hvordan du kobler deler på et trykt kretskort.
Hvis "Signal" -utgangen kommer fra en Arduino, vil reléet slå seg på. Transistoren forsterker signalet for å gi tilstrekkelig kraft for reléet. Vi vil bruke 37-38-39 kontakter for å kontrollere HØY LAV-nivåene til hvert relé.
For å installere deler på et pleksiglasveske, brukte forfatteren dobbeltsidig tape. Han har ganske mye detaljene.
Dette er en programvareserver, så det er ikke så vanskelig å lage en krets. Du trenger bare å slå på mikrokontroller og opprette en forbindelse mellom dem. IR-LED-en er koblet til pinne D3, og reléet er koblet til 37-38-39. D16 Arduino Mega går til RX Photon og D18 til RX Leonardo.
Robotforbindelse
[2,02 Kb] (nedlastinger: 14)
Men nå er koden klar og fungerer, så du trenger bare å laste ned mikrokontroller. Last ned .ino-filen eller kopier / lim inn koden i IDE-en og bruk den. Koden for Particle Photon må lastes ned via nettleseren IDE. For å gjøre dette, registrer deg kl. Og koble den bærbare datamaskinen til mikrokontrolleren. Alt skjer nesten automatisk, bare legg til enhets-ID-en din.
Før du laster ned kodene, må du forsikre deg om at ingenting er koblet til RX / TX-pinnene. Så koble Bluetooth-modulen din fra Mega, og koble Mega fra Leonardo og Photon.
[489 b] (nedlastinger: 15)
WebserverFor å legge til IoT (Internet of Things) -funksjonen til prosjektet sitt, lagde forfatteren en online datalogger ved bruk av Particle Photon. Avhengig av hva du gjør med enheten, oppretter Photon en personlig server og skriver data til skyen.Dette kan virke skremmende med det første, men forestill deg at du kan bestemme om du er stresset (oppmerksomhetsnivåene øker og synker raskt) eller er det verdt å sove
(meditasjonsnivået er alltid over 80)
. Denne webserveren kan hjelpe deg med å leve sunnere.
Nettleserkoding
Particle har også et elektronisk panel der du kan publisere alle data ved hjelp av “Particle.publish ();” syntaks. Verktøylinjens utviklere har spart mye tid for brukere. Koden er lastet ned trådløst.