Beanie vänder hjärnvågor in ljuset (14 / 15 steg)
Steg 14: Använda hatten till kontroll grafik bearbetning
Nu när du har gjort dig hatten, du kan leka med det i bearbetningen. Behandlingen är en fri och öppen källa programmeringsspråket som tillåter dig att skapa vackra grafik genom för att ändra variabler såsom färger, former och rörelse av grafik med hjärnvågor. Hemsidan är väl dokumenterat, med omfattande handledning och ett stöd samhälle. Det är intuitivt och roligt att arbeta med, även om du har liten erfarenhet av kodning. Du kan skapa fantastiska visuella med minimalistisk kod.
Kontrollera att datorn körs på batterier, koppla sedan mini-USB till pompom av hatten. Om du gjort din hatt med bluetooth, behöver du inte en USB-kabel, men du kommer att behöva anpassa Arduino firmware att arbeta med bluetooth (i detta fall kan du behöva använda en annan Arduino med mer RAM-minne).
Slå på hatten.
Klädd i hatten, Anslut den andra änden av USB-kabeln till datorn.
Öppna din Arduino IDE. Kontrollera att du har valt rätt seriell port (COM). Det är oftast den lägsta siffran. Också välja rätt styrelsen (TinyLily Välj "Arduino Pro eller Pro Mini 3.3V 8 MHz ATmega328). Om du får ett felmeddelande, FN-plug USB och plug tillbaka i igen.
seriell importera för bearbetning skisser.
Kopiera denna kod till din skiss och anpassa den.
i början av skissar du
import processing.serial.*;
Seriella myPort;
InString sträng;
Seriella strängen innehåller följande uppgifter i följande ordning:
batteri, avkoppling procentandel, uppmärksamhet procentandel, delta, theta, låg alpha, hög alpha, låg beta, hög beta, gamma
float batt; batterinivå
flyta sig; signalkvalitet
float att; uppmärksamhet procentandel
float koppla av; avkoppling procentandel
Du kan också visualisera olika frekvens band aktiviteten, men var noga med att bara jämföra dessa belopp i förhållande till varandra. Dessa värden är outputed som "unitless" från Neurosky chip.
i setup
void setup() {
println(Serial.list()); / /
myPort = ny följetong (denna, Serial.list() [0], 57600); ändra detta till den seriella porten.
myPort.bufferUntil('\n');
}
inkludera en seriell händelse
void serialEvent(Serial myPort) {
InString sträng = myPort.readStringUntil('\n');
om (inString! = null); {
inString = trim(inString);
flyta [] val = float (split (inString, ","));
om (val.length > = 3) {
batt = val [0];
koppla av = val [1].
att = 100-koppla av;
Jag föreslår att dessa värden i genomsnitt över några sekunder, att få en jämnare färg övergång (men inte för mycket eller annat förseningen är för stor och det är inte "realtid" hjärnans aktivitet)
}
}
}