Controlando o brilho do Led usando meditação e nível de atenção (Parte 5/13)

Controlar el brillo del LED mediante la meditación y el nivel de atención (Parte 5/13)

Controlar el brillo del LED mediante la meditación y el nivel de atención.

RESUMEN
Después de hablar del concepto teórico de ondas cerebrales, es hora de ver algunas aplicaciones en tiempo real. Aquí discutiremos la eficiencia, la flexibilidad y las diversas características de lo que hemos hecho hasta ahora. Actualmente estoy pensando en cambiar algo dependiendo de mi nivel de atención y meditación, digamos el brillo de un pequeño LED. Estaremos controlando el brillo de un LED utilizando los niveles de atención y meditación de nuestro cerebro en un momento concreto. Usaremos Arduino UNO y un sensor mental flexible que elegimos para leer las ondas cerebrales y un LED para mostrar los resultados. DESCRIPCIÓN Estamos cambiando el brillo del LED, que se puede controlar fácilmente mediante la técnica PWM . Nota rápida: PWM es una técnica para controlar dispositivos analógicos a través de salidas digitales. A través de las salidas digitales vamos creando una onda cuadrada de patrones ON y OFF. Este patrón de ENCENDIDO y APAGADO se utiliza para crear voltaje analógico que varía entre Bajo Voltaje y Alto Voltaje y podemos variar el voltaje cambiando la duración del tiempo de ENCENDIDO en relación con el tiempo de APAGADO. Si pasamos este patrón ON OFF al LED a alta velocidad, aparentemente se recibe un voltaje analógico y su brillo cambia en consecuencia. Primero, controlemos el brillo del LED usando el nivel de atención. Entonces, ahora para controlar el brillo de un LED, mediremos el nivel de atención y los metros del chip TGAM1. Tenga en cuenta que este chip nos da el nivel de atención en una escala de 0 a 100. También es interesante saber que el chip transmite las señales de Meditación sólo cuando el sensor está conectado con precisión al Cerebro y el módulo del sensor está recibiendo el 100% de la señal. fortaleza. La intensidad de la señal varía de 0 a 200. Imagem mostrando o brilho de um LED sendo controlado pelo nível de meditação usando sensor de ondas cerebrais
Fig. 1: Imagen que muestra el brillo de un LED controlado por el nivel de meditación mediante un sensor de ondas cerebrales.
Dramáticamente, cuando la intensidad de la señal es del 100%, el sensor envía el valor 0 y cuando el sensor envía 200, significa que no hay conexión del sensor de metal con nuestro cerebro. Entonces, después de confirmar que la intensidad de nuestra señal es del 100% y que nuestro sensor envía 0 en serie para la intensidad de la señal, podemos realizar este experimento. Ahora, como sabemos, PWM tiene un ciclo de trabajo que determina el nivel analógico. El ciclo de trabajo es básicamente el tiempo dividido por el período total. Para cambiar el brillo del LED según el nivel de atención, cambiaremos el ciclo de trabajo de PWM. Dado que obtenemos el valor de meditación del sensor en una escala de 0 a 100, haremos que el valor del ciclo de trabajo sea igual al valor de meditación restado de 100. Por ejemplo, si el valor de meditación del sensor es 40, entonces el ciclo de trabajo es 100. 40 = 60. Imagem mostrando o brilho de um LED sendo controlado pelo nível de meditação usando um sensor de ondas cerebrais
Fig. 2: Imagen que muestra el brillo de un LED controlado por el nivel de meditación mediante el sensor de ondas cerebrales
Esto hará que el brillo del LED sea paralelo al nivel de meditación. Puedes consultar el código y el vídeo de este experimento. Después del nivel de meditación, haremos lo mismo con el nivel de atención. Solo para recordarle nuevamente, verifique si la intensidad de la señal alcanza el 100% y con un valor de 0. Imagem mostrando o brilho de um LED sendo controlado pelo nível de meditação usando sensor de ondas cerebrais
Fig. 3: Imagen que muestra el brillo de un LED controlado por el nivel de meditación mediante el sensor de ondas cerebrales
Nuevamente necesitamos eliminar los valores de atención del sensor y cambiar el ciclo de trabajo PWM en relación con los valores de atención. Nuevamente, haga que el valor del ciclo de trabajo sea igual al valor de atención restado de 100. Por ejemplo, si el valor de meditación del sensor es 40, el ciclo de trabajo será 100 – 40 = 60. Consulte la sección de software para ver cómo se implementa PWM en el código. Y también finalizamos el control de brillo utilizando valores de atención. Consulte el código y el vídeo para realizar el experimento usted mismo. Diagrama de blocos do controlador de brilho LED baseado no sensor MindFlex Brainwave
Fig. 4: Diagrama de bloques del controlador de brillo LED basado en el sensor MindFlex Brainwave

Hardware: encuentre el diagrama de circuito adjunto de las conexiones que debemos realizar. Cogemos un pin del pin T del sensor mindflex y conectamos este pin al pin Rx de nuestro Arduino UNO. Además, cortocircuitamos el sensor y la tierra UNO mediante un cable. Tenga especial cuidado al soldar cualquier cosa al sensor Mindflex ya que los pines están muy cerca uno del otro.

Programas: Vayamos a la parte del software. Hemos estado recibiendo los valores del medidor E desde el sensor a nuestro arduino a través del pin T. Una vez que recibimos el valor en cualquier punto específico, solo necesitamos convertir ese nivel de valor al brillo del LED. Como se mencionó anteriormente, usaremos técnicas PWM. PWM en Arduino se realiza mediante escritura analógica: p.
Escritura analógica(13,240);
AnalogWrite en Arduino se utiliza para escribir ondas PWM en un pin. En el ejemplo anterior, el primer parámetro es el número PIN y el segundo es el valor PIN. Entonces estamos escribiendo 240 en el pin 13. Ahora podemos calcular fácilmente el voltaje analógico en el valor 240. El rango de voltaje total es de 0 V a 5 V y el rango de valores es de 0 a 255.
Esto significa 240 = (5/255)*240 = ~4,70 V.
Ahora, los valores que obtenemos para y metros están en el rango de 0 a 100.
Entonces digamos que obtenemos evalue = 70.
Multiplicaremos el valor de e por 2,55 para ponerlo en el rango de 0 a 255.
Entonces será analogWrite (pin,evalue*2.55) en un bucle.
Algunos puntos a tener en cuenta:
El sensor suele proporcionar entre un 60 y un 80% de resistencia debido a su orientación y a la ubicación donde lo coloquemos. Intente mantener el sensor de metal exactamente encima de su ojo izquierdo. También me apliqué agua salada en la frente para una mejor conectividad con el sensor. Si no encuentra el 100%, entonces es normal. En los próximos artículos, explicaré cómo podemos controlar varios objetos sin señalar valores de atención y meditación.
La intensidad de la señal también afecta la forma en que soldamos el cable al pin T. Intente proteger este cable y también asegúrese de que las sondas de referencia estén conectadas correctamente. Si tiene algún cable conectado al pin EEG del sensor, desconecte ese cable, ya que esto creará ruido en los valores del sensor.
Pruebe este experimento y avíseme si tiene algún problema. Estén atentos a más experimentos basados ​​en ondas cerebrales relacionados con el control de un motor.

Código fuente del proyecto

###

 //Programa para

#incluir
// Configura el analizador cerebral, pásale el objeto serie de hardware que deseas escuchar. Cerebro (Serie); //char a(400); Secuencia a,a1; int v = 0; int z=0,salida; uint32_t número=0; uint32_t número1=0; configuración vacía { // Inicia el serial del hardware. Serie.begin(9600); pinMode(9, SALIDA); } bucle vacío { // Espere paquetes aproximadamente una vez por segundo. // La función .readCSV devuelve una cadena (bueno, char*) que enumera los datos cerebrales más recientes, en el siguiente formato: // "intensidad de la señal, atención, meditación, delta, theta, alfa bajo, alfa alto, beta bajo, beta alto, gamma bajo, gamma alto" si (cerebro.actualización) { //Serial.println(brain.readErrors); //Serial.println(brain.readCSV); //sprintf(a, "%c",brain.readCSV); a = cerebro.readCSV; v = a.indexOf(','); v = a.indexOf(',',v+1); v = a.indexOf(',',v+1); v = a.indexOf(',',v+1); z = a.indexOf(',',v+1); a1 = a.subcadena(v+1,z); número = a1.toInt; v = a.indexOf(',',z+1); a = a.substring(z+1,v); número1 = a.toInt; //Serial.println(núm); Serie.println(num1); escritura analógica(9, salida) //brain.readCSV .toCharArray(a,200); } }

###

Diagramas de circuito

Diagrama-de-circuito-MindFlex-Sensor-de-ondas-cerebrales-Controlador-de-brillo-LED

Vídeo del proyecto

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.