Stap 9: Software
Het bestuur van de Arduino Leonardo is kundig voor emuleren van toetsenbord of muis. Met deze functie maakte ik een code die emuleert WASD en controle veel spellen op uw computer. De NeuroSky maakt gebruik van Essense waarden: aandacht en meditatie van 1 tot 100 en detecteert knippert. Als de waarde van Essense de grens (70 voor meditatie) en 65 voor aandacht bereikt of knippert detecteert emuleert een ingedrukte toets.
De rol van de twee LEDs is om aan te geven wanneer u de aandacht of meditatie limiet bereikt. Het rood geeft aan aandacht en de groene meditatie.
Sluit uw Arduino Leonardo en laad-up van deze code. De bibliotheken van de Software onderdelen stap downloaden. De modules van Bluetooth, reeds zijn geconfigureerd zodat na het laden van de code kunt u beginnen met het spelen van videospellen.
/* Code created by Tamás Imets for playing videogames with mindwaves Feel free to use it 25th of March, 2016 */#include <Mindwave.h> #include <SofwareSerial.h> #include <Keyboard.h>SoftwareSerial bluetooth(9, 8); //softwareserial pins Mindwave mindwave; //mindwave library activatedint medlimit = 70; //set limits int attlimit = 65; //set limitsvoid setup() { bluetooth.begin(MINDWAVE_BAUDRATE); //set Baudrate pinMode(5, OUTPUT); //setup pins pinMode(4, OUTPUT); //setup pins } void onMindwaveData() { if (mindwave.quality() < 95) { /if you blink Keyboard.write('w'); //presses W } if (mindwave.quality() == 100) { Keyboard.write(' '); } if (mindwave.meditation() > medlimit) { //if you meditate digitalWrite(5, HIGH); Keyboard.write('d'); //presses D } if (mindwave.meditation() < medlimit) { digitalWrite(5, LOW); Keyboard.write(' '); } if (mindwave.attention() > attlimit) { //if youe focus digitalWrite(6, HIGH); Keyboard.write('a'); //presses A } if (mindwave.attention() < attlimit) { digitalWrite(6, LOW); Keyboard.write(' '); } }void loop() { mindwave.update(bluetooth, onMindwaveData); }