Controle a velocidade do motor usando meditação e nível de atenção do cérebro (Parte 6/13)

Controle la velocidad motora mediante la meditación y el nivel de atención cerebral (Parte 6/13)

Controle la velocidad motora mediante la meditación y el nivel de atención cerebral

RESUMEN

Después de controlar el brillo del LED con el nivel de atención y meditación del cerebro, pasemos a más aplicaciones en Brain Wave. Como la resolución del experimento anterior no estaba clara, ahora intentaremos un experimento diferente para obtener una imagen más clara.
En este artículo, estoy pensando nuevamente en cambiar algo que pueda brindarnos una comprensión más clara de las variaciones, por ejemplo, un motor de CC. Aquí controlaremos la velocidad de un motor utilizando los niveles de atención y meditación de nuestro cerebro en un momento concreto. Usaremos el Arduino UNO y el sensor mindflex para leer las ondas cerebrales y un MOTOR para mostrar los resultados. También podemos utilizar un amplificador antes del motor DC para ver más variaciones de velocidad.
DESCRIPCIÓN
Es importante señalar que la velocidad del motor se controla mediante la técnica PWM. Es la misma técnica que utilizamos para el control del brillo.
Nota rápida : la técnica PWM es una técnica para controlar dispositivos analógicos mediante 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 motor a alta velocidad, se recibirá un voltaje analógico y la velocidad del motor cambiará en consecuencia.
Primero, controlemos la velocidad del motor usando el nivel de atención.
Ahora, para controlar la velocidad del motor, 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 recibe el 100% de la señal. fortaleza. La intensidad de la señal varía de 0 a 200.
Imagem mostrando a velocidade do motor DC sendo controlada pelo nível de meditação usando o sensor de ondas cerebrais
Fig. 1: Imagen que muestra la velocidad del motor de CC controlada mediante 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 sabemos que PWM tiene un ciclo de trabajo que determina el nivel analógico. El ciclo de trabajo es básicamente el tiempo de puntualidad dividido por el período total. Para cambiar la velocidad del MOTOR según el nivel de atención, cambiaremos el ciclo de trabajo PWM.
Imagem mostrando a velocidade do motor DC sendo controlada pelo nível de meditação usando o sensor de ondas cerebrais
Fig. 2: Imagen que muestra la velocidad del motor de CC controlada mediante el nivel de meditación mediante un sensor de ondas cerebrales.
Obtenemos el valor de meditación del sensor en una escala de 0 a 100. Por lo tanto, 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, el ciclo de trabajo será 100. 40 = 60. Esto hará que la velocidad del MOTOR sea paralela al nivel de meditación. Puedes consultar el código y el vídeo de este experimento.
Ahora, tras el 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% junto con el valor 0. Nuevamente debemos eliminar los valores de atención del sensor y cambiar el ciclo de trabajo de 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.
Imagem mostrando a velocidade do motor DC sendo controlada pelo nível de meditação usando o sensor de ondas cerebrais .
Fig. 3: Imagen que muestra la velocidad del motor de CC controlada mediante el nivel de meditación mediante un sensor de ondas cerebrales.
Consulte la sección de software para ver cómo se implementa PWM en el código. También completamos el control de velocidad 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 velocidade do motor DC baseado no sensor MindFlex Brainwave
Fig. 4: Diagrama de bloques del controlador de velocidad del motor de CC basado en el sensor MindFlex Brainwave
Hardware: busque el diagrama de circuito adjunto de las conexiones que deben establecerse. 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. Después de establecer las conexiones, utilizamos un amplificador para amplificar la salida de Arduino. Además, utilizamos un L293D para impulsar el motor. Los PINS de Arduino se conectan a la entrada del l293d y luego se conecta el motor a él.
Software: La parte del software es exactamente la misma que la del experimento de brillo del LED. Aún así te lo expliqué todo nuevamente para que no tengas que volver atrás.
El sensor nos envía el valor de e metros a través del pin T. Una vez que recibimos el valor en cualquier punto específico, solo necesitamos convertir ese nivel de valor en la velocidad del MOTOR. Como se mencionó anteriormente, usaremos técnicas PWM. La función Arduino “analogWrite” se utiliza para implementar la tecnología PWM
Por ejemplo,
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. 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, desconéctelo ya que creará muchas perturbaciones en los valores del sensor. Prueba este experimento y déjame saber tus comentarios. Estén atentos a nuestros próximos experimentos que describen el envío de un mensaje para detectar si una persona está durmiendo.

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-cerebral-Controlador-de-velocidad-del-motor-CC

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.