Neuroplay

by Tvorogova

HTML

<script src="https://braincomputer.io/development/assets/js/notifyObject-1.0.0.js"></script>
<script src="https://braincomputer.io/development/assets/js/neuroplay-1.0.0.js"></script>
Медитация:
<h1 id="med" style="color: #159">?</h1>
<br/><br/>
Концентрация:
<h1 id="con" style="color: #C30">?</h1>

<div id="pic" style="background: url(https://w7.pngwing.com/pngs/509/170/png-transparent-brain-illustration-brain-thought-drawing-brain-people-flower-fictional-character.png) no-repeat; background-size: cover; position: absolute; top: 0; left:0; width: 100%; height: 100%">
</div>"

JavaScript

var neuroplay = null;
var control = 0;

function bci(data)
{
		//В этой функции необходимо преобразовывать входящий сигнал (медитацию ИЛИ концентрацию) 
    //и превращать его в управляющее воздействие
    //data.meditation и data.concentration лежат в диапазоне от 0 до 100

	  $("#med").html(data.meditation + "%");
  	$("#con").html(data.concentration + "%");
    
    var incr = 0.5;
    
    if (data.meditation > 50)
    {
    control += incr;
    }
    else
    {
    control -= incr;
    }
    
    if (control < 0) control = 0;
    if (control > 100) control = 100;
    
    var color = Math.floor(255*control/100);
    
    //$("body").css("background-color", "rgb("+color+", "+color+", "+color+")");
    $("#pic").css("opacity", control/100);
    }

$(function() 
{
		//Этот код выполняет подключение к ПО NeuroPlay
    //10 раз в секунду запрашивает состояние нейроинтерфейса (медитацию, концентрацию и т.д.) 
    neuroplay = new NeuroplayConnector();
    neuroplay.connect();  
    neuroplay.on('bci', bci);
    setInterval(function() { neuroplay.send('bci'); }, 100);
});