Huvudkonceptet för detta projekt är att med hjälp av olika hjärnvågor kan användaren kontrollera roboten, markören på sin PC eller slå på / stänga av lamporna i hans hus, medan mikrokontrollern (Particle Photon) skapar en online-analys av användarens hjärnvågor. Så ja, med den här enheten kan du verkligen använda kraften i tanken ... Den här enheten är inte bara avsedd för lata eller fans, den skapades för att ge människor möjlighet. som kämpar varje dag med sin funktionsnedsättning. Robotenutvecklad av författaren fungerar precis som ett rullstolsystem hem automatisering hjälper användaren att kontrollera ljuset eller TV: n, även om han / hon inte kan röra sig. PC-kontrollläge kan vara användbart även för dem som är helt friska.
Hur fungerar det?
Fyra mikrokontroller användes för att leva upp detta projekt: Arduino Mega, Arduino Leonardo, UNO och Particle Photon. Mega är hjärnan i projektet, som tar emot signaler från headsetet, analyserar och skickar kommandon till andra enheter. Skickar all data till Particle Photon, som skapar en webbserver. Leonardo styr musen på en dator, och Uno används för att ta emot IR (infraröda signaler) och kontrollera roboten. En enhet kan styra tre olika enheter (eller mer om du vill programmera något annat). Vidare kommer dessa tre olika enheter att kallas kanaler. Enheten växlar mellan dessa kanaler om du stänger ögonen:
Stäng ögonen i 1-2 sekunder: växla till hemmeautomationsfunktionen
Stäng ögonen i 2-4 sekunder: växla till robotkontrollläge
Stäng ögonen i 1-6 sekunder: växlar till muskontrollläge
För att göra funktionen av hemmeautomation, till vilken du kan ansluta vad som helst: en TV, glödlampor, uttag, allt du vill, reläer användes
För uppfattningen av hjärnvågor - Necomimi, som kan flytta öronen beroende på hjärnvågorna (uppmärksamhet, meditation). Inuti ett litet chip som läser hjärnvågor, filtrerar bort brus och ger en mycket bra signal. Det fungerar med UART (Serial) -gränssnittet, så med lite hacking kan vi använda Arduino för att läsa hjärnvågor.Headsetets roll är att trådlöst överföra hjärnvågor till en central server.
Om du redan är bekant med föregående projektdå kan du hoppa över Necomimi-demonterings- och ombyggnadsfasen.
Gå ner för att se hur du ska ta isär och göra ett trådlöst Bluetooth-headset ur det.
Hemmautomationskontrollsystem
Om du byter till hemmeautomatiseringsläge, öka din uppmärksamhetsnivå över 70 för att slå på det första reläet, höja din meditationsnivå över 70 för att aktivera ditt andra relä och öka båda värdena över 70 för att aktivera ditt tredje relä. Det är lite svårt, men inte omöjligt efter en viss utbildning i sinnet. Om reläet redan är på, använd samma kommando för att stänga av det (om det är på, nå 70 för att stänga av det). När systemet är klart kan alla högspänningsapparater (ljus, TV, dator, fläkt, vad som helst) anslutas till relämodulen.
Muskontroll
Markören styrs av känslor. Om uppmärksamhetsnivån är mindre än 25, flyttar den till vänster, om mellan 25 och 50 flyttas den till höger, om mellan 50 och 75 går den upp, och om mellan 75 och 100 den går ner. Du kan avge ett klick på musknappen genom att öka meditationsnivån. Naturligtvis måste du träna för detta.
Robotkontroll
Roboten har bara tre olika lag: stopp, sväng vänster och gå framåt. Varför bara två rörelsealternativ? Eftersom dessa två riktningar räcker för att flytta roboten var som helst. Använd din meditationsnivå för att rotera med roboten, och när du har nått den riktning du vill flytta, stoppa roboten och gå sedan framåt med uppmärksamhetsnivån. Detta är det bästa sättet att kontrollera roboten och även nybörjare som inte kan kontrollera sina uppmärksamhets- / meditationsvärden så bra kan spela med denna robot.
Headsetet sänder BT-signaler (Bluetooth) till Arduino Mega, som analyserar inkommande byte och, beroende på användarens tankar, styr olika funktioner. Först ville författaren använda Particle Photon som datasändare, men denna lilla modul fick en roll i att skapa en webbserver. Det var den största modifieringen i hela projektet. Han använde också hemmagjorda Arduino-moduler, men du kan köpa dessa moduler online.
Alla delar är från GearBest.com. Detta är en onlinebutik, samma som eBay, men reservdelar levereras mycket snabbare (kanske allt detta finns på aliexpress). Därför, om du vill skapa din egen spelkontroll, robotkontroll eller Force Detecto r, börja med att köpa delar.
Verktyg som krävs:
lödkolv
lod
limpistol
självhäftande tejp / dubbelsidig tejp
tråd stripper
trådskärare
utrustning:
/ Arduino Nano
Software:
Hacka Necomimi
Vi vill modifiera denna EEG-leksak för dataöverföring via Bluetooth, så först kommer vi att ta isär fallet. Skruvarna är under klistermärket. Ta bort klistermärket och baksidan av enheten så hittar du små kort inuti. Den under huvudkortet är Neurosky TGAM-chip. Fyra trådar från huvudkortet på mikrokontrollern är lödda till den, så ta ett lödkolv och ta försiktigt bort denna krets. Löd nu de tre kablarna till GND-stiftet, till VCC-stiftet och till T-stiftet. En T-stift är en sändarutgång med en hastighet på 57600 baud, som skickar datapaket till vår mikrokontroller. När du har lödat de tre trådarna ovan kan du bygga in din egen uppladdningsbara strömkälla. Författaren använder ett 500 mAh litiumjonbatteri, en USB-laddarkrets, en 5 V boost-krets och två motstånd (100 ohm och 200 ohm) för att ge en separat 3,4 V strömförsörjning för chipet och Bluetooth-modulen. På fotot, anslutningsdiagrammet.
Om kretsen är klar konfigurerar du Bluetooth-modulen.
Följ instruktionerna och figurerna nedan och skapa ditt eget trådlösa EEG-headset.
Den viktigaste delen är att ansluta "T" -stiftet till "RX" på Bluetooth-modulen.
HC-06: Ladda först upp skissen med namnet “HC_06_Bluetooth” till Arduino UNO, anslut sedan Bluetooth-modulen som visas i diagrammet.
// HC-06-Bluetooth
void setup () {
// Starta hårdvaruserien.
Serial.begin (9600); // standard HC-06 baud rate
fördröjning (1000);
Serial.print ("AT");
fördröjning (1000);
Serial.print ("AT + VERSION");
fördröjning (1000);
Serial.print ("AT + PIN"); // för att ta bort lösenordet
fördröjning (1000);
Serial.print ("AT + BAUD7"); // Ställ in baudrate på 576000 - t.ex. Necomimi dafault
fördröjning (1000);
Serial.begin (57600); //
fördröjning (1000);
}
void loop () {
}
Öppna Serial Monitor i Arduino IDE och vänta på att Arduino konfigurerar BT-modulen. Din Bluetooth-modul är nu inställd på 57600 baud. Du kan prova många BCI-applikationer (Brain Computer Interface) eftersom den här hackade Necomimi-leksaken kommer att vara kompatibel med alla Neurosky-applikationer.
Du kan använda dessa appar för att lära dig hur du styr dina hjärnvågor.
HC-05: Använd sedan ”HC_05_Bluetooth” och ladda din Arduino på samma sätt som tidigare.
// HC-06-Bluetooth
void setup () {
// Starta hårdvaruserien.
Serial.begin (9600); // standard HC-05 baud rate
fördröjning (1000);
Serial.print ("AT");
fördröjning (1000);
Serial.print ("AT + VERSION");
fördröjning (1000);
Serial.println ("AT + ROLE = 1"); // Ställ in HC-05 i masterläge
fördröjning (1000);
Serial.println ("AT + LINK =" Sätt in din adress här "); // nu ska modulen anslutas automatiskt
fördröjning (1000);
Serial.print ("AT + UART = 57600,1,0"); // Ställ in baudrate på 576000
Serial.begin (57600); //
fördröjning (1000);
}
void loop () {
}
Anslut "EN" -stiftet på HC-05 till 3v3 Arduino. Du måste skriva adressen till din HC-06-modul i kod. Kontrollera BT-moduladressen på din Android-smartphone. Ersätt ":" (dubbla punkter) med "," kommatecken i koden.
Och du måste ändra adressen i koden: 20: 15: 09: 15: 17: 82 = 2015.09.151782 Således kan modulen HC-05 känna igen adressen.
Fjärrkontroll
För att skapa denna billiga robot användes en 38 kHz infraröd sensor som används i TV-fjärrkontroller.
Motordrivrutin
Diagram för motordrivning - Du behöver följande detaljer:
2 Skruvplintar
L293D IC3
Header Pin (90 grader)
1k motstånd
Röd LED
tråd
Kretskort
Använd flera koppartrådar och anslut mikrokretsstiften till kopplingsstiften enligt diagrammet. Det spelar ingen roll vilket ben i mikrokretsen till vilken kontaktstift, bara kom ihåg var du anslöt dem. Lysdioden ansluts i serie med motståndet och parallellt med 5 V VCC.
chassi-montering
Som elmotordrivare används L293D-chipet som kan styra två motorer. Titta på diagrammet för att bygga diagrammet.
Anslut delar till Arduino
Arduino Pin == & gt; motorförare
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å titta på kretsschemat för L293D-modulen och anslut sedan dess kontakter till Arduino UNO, som beskrivits ovan. Pin 5v Arduino måste vara ansluten till stift 1, 9, 16 för att aktivera chipmotorns styrfunktion. Använd sedan slutligen skruvanslutningarna för att slå på motorerna.
Biblioteket använder IRremote, en kod som läser 38 kHz infraröda signaler, avkodar dem och flyttar sedan roboten. (Ladda ner biblioteket i avsnittet "programvara").
Det finns kommentarer i koden, men i första hand är det att den avkodar de infraröda signalerna som kommer från huvudservern, sedan, beroende på vad användaren vill, slår den på motorerna, varefter roboten går framåt eller svänger åt vänster. Ladda ner koden: "Robot_Code". Ladda ner detta till din Arduino så kommer din robot att vara klar.
Huvudserver (Arduino Mega, Leonardo, Photon)
Servern läser inkommande datapaket från det trådlösa headsetet. Vi kommer att använda den konfigurerade BT-modulen för att tillhandahålla kommunikation mellan headsetet och servern. Arduino Mega är hjärnan i hela kretsen, allt är anslutet till denna mikrokontroller: Bluetooth, infraröd sändar-LED, webbserver och muskontroller. Koden är lite komplicerad, men som regel har den kommentarer att förstå.
hölje
Allt är enkelt. Två 18x15 cm plexiglasplattor, jämna ut kanterna med sandpapper. Flera skruvar för att ansluta dem till varandra.
Relätavla
Du behöver följande detaljer:
2n2222 transistor (3 st)
germanium dioder (3 st)
330 ohm-motstånd (3 st.)
1 kOhm-motstånd (3 st.)
Relä 5 V (3 st.)
stiftkontakt
Kretskort
En bild är värd mer än tusen ord, så titta på diagrammet för hur du ansluter delar på ett kretskort.
Om "Signal" -utgången kommer från en Arduino kommer reläet att slås på. Transistorn förstärker signalen för att ge tillräcklig effekt för reläet. Vi kommer att använda 37-38-39 kontakter för att kontrollera HÖG LÅGA nivåer för varje relä.
För att installera delar på ett hölje i plexiglas, använde författaren dubbelsidig tejp. Han har ganska mycket informationen.
Detta är en mjukvarulösare, så att göra en krets är inte så svårt. Du behöver bara slå på mikrokontrollerna och upprätta en koppling mellan dem. IR-lysdioden är ansluten till stift D3 och reläet är anslutet till 37-38-39. D16 Arduino Mega går till RX Photon och D18 till RX Leonardo.
Robotanslutning
[2,02 Kb] (nedladdningar: 14)
Men nu är koden klar och fungerar, så du behöver bara ladda ner dina mikrokontroller. Ladda ner .ino-filen eller kopiera / klistra in koden i din IDE och använd den. Koden för Particle Photon måste laddas ner via webbläsaren IDE. För att göra detta, registrera dig kl. Och anslut din bärbara dator till din mikrokontroller. Allt händer nästan automatiskt, lägg bara till ditt enhets-ID.
Innan du laddar ner koderna, se till att ingenting är anslutet till RX / TX-stiften. Så koppla bort din Bluetooth-modul från Mega och koppla bort Mega från Leonardo och Photon.
[489 b] (nedladdningar: 15)
WebbserverFör att lägga till funktionen IoT (Internet of Things) till sitt projekt skapade författaren en online datalogger med hjälp av Particle Photon. Beroende på vad du gör med enheten skapar Photon en personlig server och skriver data till molnet.Detta kan verka skrämmande till en början, men tänk dig att du kan avgöra om du är stressad (uppmärksamhetsnivåerna ökar och minskar snabbt) eller är det värt att sova
(meditationsnivån är alltid över 80)
. Denna webbserver kan hjälpa dig att leva hälsosammare.
Webbläsarkodning
Particle har också en onlinepanel där du kan publicera all data med hjälp av "Particle.publish ();" syntax. Verktygsfältets utvecklare har sparat mycket tid för användare. Koden har laddats ner trådlöst.