Parpadeo LED utilizando sus ondas cerebrales (8 / 10 paso)

Paso 8: Añadir el sketch a la placa Arduino

Descargar el croquis aquí

Programa para interfaces de Arduino con diadema Brainsense

***************************************************************************************

Título: Brainsense con Arduino

***************************************************************************************

///////////////////////////////////////////////////////////////////////

/ Arduino Bluetooth interfaz con Brainsense

//

Esto es código de ejemplo proporcionado por Pantech Prolabs. y se proporciona

licencia libre.

////////////////////////////////////////////////////////////////////////

#define LED 13

#define BAUDRATE 57600

#define DEBUGOUTPUT 0

#define GREENLED1 3

#define GREENLED2 4

#define GREENLED3 5

#define YELLOWLED1 6

#define YELLOWLED2 7

#define YELLOWLED3 8

#define YELLOWLED4 9

#define REDLED1 10

#define REDLED2 11

#define REDLED3 12

#define powercontrol 10

variables de suma de comprobación

byte generatedChecksum = 0;

suma de bytes = 0;

int payloadLength = 0;

byte payloadData [64] = {0};

byte poorQuality = 0;

atención de byte = 0;

meditación de byte = 0;

variables de sistema

lastReceivedPacket largo = 0;

Boolean bigPacket = false;

/////////////////////////

Configuración de microprocesador /

/////////////////////////

void setup()

{

pinMode (GREENLED1, salida);

pinMode (GREENLED2, salida);

pinMode (GREENLED3, salida);

pinMode (YELLOWLED1, salida);

pinMode (YELLOWLED2, salida);

pinMode (YELLOWLED3, salida);

pinMode (YELLOWLED4, salida);

pinMode (REDLED1, salida);

pinMode (REDLED2, salida);

pinMode (REDLED3, salida);

pinMode (LED, salida);

Serial.Begin(BAUDRATE); USB

}

///////////////////////////////

/ Leer datos de Serial UART /

///////////////////////////////

byte ReadOneByte()

{

int ByteRead;

mientras (!. Serial.Available());

ByteRead = Serial.read();

#if DEBUGOUTPUT

Serial.Print((Char)ByteRead); echo el mismo byte el USB serial (para propósitos de depuración)

#endif

volver ByteRead;

}

////////////

/ CAÑERÍA DE /

////////////

void loop()

{

Buscar bytes de sincronización

if(ReadOneByte() == 170)

{

if(ReadOneByte() == 170)

{

payloadLength = ReadOneByte();

Si la longitud de //Payload (payloadLength > 169) no puede ser superior a 169

retorno;

generatedChecksum = 0;

para (int i = 0; i < payloadLength; i ++)

{

payloadData [i] = ReadOneByte(); Carga útil de lectura en la memoria

generatedChecksum += payloadData [i];

}

suma de comprobación = ReadOneByte(); Leer byte de suma de comprobación de corriente

generatedChecksum = 255 - generatedChecksum; Tomar el complemento de suma de comprobación generada

if(checksum == generatedChecksum)

{

poorQuality = 200;

atención = 0;

meditación = 0;

para (int i = 0; i < payloadLength; i ++)

{/ / Procesar la carga útil

interruptor (payloadData[i])

{

caso 2:

i ++;

poorQuality = payloadData [i];

bigPacket = true;

rotura;

caso 4:

i ++;

atención = payloadData [i];

rotura;

caso 5:

i ++;

meditación = payloadData [i];

rotura;

caso 0 x 80:

i = i + 3;

rotura;

caso 0x83:

i = i + 25;

rotura;

por defecto:

rotura;

} / / interruptor

} / / bucle

#if! DEBUGOUTPUT

*** Agregue su código aquí ***

if(bigPacket)

{

if(poorQuality == 0)

digitalWrite (LED, alta);

otra cosa

digitalWrite (LED, baja);

Serial.Print ("PoorQuality:");

Serial.Print (poorQuality, DEC);

Serial.Print ("atención:");

Serial.Print (atención, DEC);

Serial.Print ("tiempo desde el último paquete:");

Serial.Print(Millis() - lastReceivedPacket, DEC);

lastReceivedPacket = millis();

Serial.Print("\n");

Switch(Attention / 10)

{

caso 0:

digitalWrite (GREENLED1, alto);

digitalWrite (GREENLED2, bajo);

digitalWrite (GREENLED3, bajo);

digitalWrite (YELLOWLED1, bajo);

digitalWrite (YELLOWLED2, bajo);

digitalWrite (YELLOWLED3, bajo);

digitalWrite (YELLOWLED4, bajo);

digitalWrite (REDLED1, bajo);

digitalWrite (REDLED2, bajo);

digitalWrite (REDLED3, bajo);

rotura;

caso 1:

digitalWrite (GREENLED1, alto);

digitalWrite (GREENLED2, alto);

digitalWrite (GREENLED3, bajo);

digitalWrite (YELLOWLED1, bajo);

digitalWrite (YELLOWLED2, bajo);

digitalWrite (YELLOWLED3, bajo);

digitalWrite (YELLOWLED4, bajo);

digitalWrite (REDLED1, bajo);

digitalWrite (REDLED2, bajo);

digitalWrite (REDLED3, bajo);

rotura;

caso 2:

digitalWrite (GREENLED1, alto);

digitalWrite (GREENLED2, alto);

digitalWrite (GREENLED3, alto);

digitalWrite (YELLOWLED1, bajo);

digitalWrite (YELLOWLED2, bajo);

digitalWrite (YELLOWLED3, bajo);

digitalWrite (YELLOWLED4, bajo);

digitalWrite (REDLED1, bajo);

digitalWrite (REDLED2, bajo);

digitalWrite (REDLED3, bajo);

rotura;

caso 3:

digitalWrite (GREENLED1, alto);

digitalWrite (GREENLED2, alto);

digitalWrite (GREENLED3, alto);

digitalWrite (YELLOWLED1, alto);

digitalWrite (YELLOWLED2, bajo);

digitalWrite (YELLOWLED3, bajo);

digitalWrite (YELLOWLED4, bajo);

digitalWrite (REDLED1, bajo);

digitalWrite (REDLED2, bajo);

digitalWrite (REDLED3, bajo);

rotura;

caso 4:

digitalWrite (GREENLED1, alto);

digitalWrite (GREENLED2, alto);

digitalWrite (GREENLED3, alto);

digitalWrite (YELLOWLED1, alto);

digitalWrite (YELLOWLED2, alto);

digitalWrite (YELLOWLED3, bajo);

digitalWrite (YELLOWLED4, bajo);

digitalWrite (REDLED1, bajo);

digitalWrite (REDLED2, bajo);

digitalWrite (REDLED3, bajo);

rotura;

caso 5:

digitalWrite (GREENLED1, alto);

digitalWrite (GREENLED2, alto);

digitalWrite (GREENLED3, alto);

digitalWrite (YELLOWLED1, alto);

digitalWrite (YELLOWLED2, alto);

digitalWrite (YELLOWLED3, alto);

digitalWrite (YELLOWLED4, bajo);

digitalWrite (REDLED1, bajo);

digitalWrite (REDLED2, bajo);

digitalWrite (REDLED3, bajo);

rotura;

caso 6:

digitalWrite (GREENLED1, alto);

digitalWrite (GREENLED2, alto);

digitalWrite (GREENLED3, alto);

digitalWrite (YELLOWLED1, alto);

digitalWrite (YELLOWLED2, alto);

digitalWrite (YELLOWLED3, alto);

digitalWrite (YELLOWLED4, alto);

digitalWrite (REDLED1, bajo);

digitalWrite (REDLED2, bajo);

digitalWrite (REDLED3, bajo);

rotura;

caso 7:

digitalWrite (GREENLED1, alto);

digitalWrite (GREENLED2, alto);

digitalWrite (GREENLED3, alto);

digitalWrite (YELLOWLED1, alto);

digitalWrite (YELLOWLED2, alto);

digitalWrite (YELLOWLED3, alto);

digitalWrite (YELLOWLED4, alto);

digitalWrite (REDLED1, alto);

digitalWrite (REDLED2, bajo);

digitalWrite (REDLED3, bajo);

rotura;

caso 8:

digitalWrite (GREENLED1, alto);

digitalWrite (GREENLED2, alto);

digitalWrite (GREENLED3, alto);

digitalWrite (YELLOWLED1, alto);

digitalWrite (YELLOWLED2, alto);

digitalWrite (YELLOWLED3, alto);

digitalWrite (YELLOWLED4, alto);

digitalWrite (REDLED1, alto);

digitalWrite (REDLED2, alto);

digitalWrite (REDLED3, bajo);

rotura;

caso 9:

digitalWrite (GREENLED1, alto);

digitalWrite (GREENLED2, alto);

digitalWrite (GREENLED3, alto);

digitalWrite (YELLOWLED1, alto);

digitalWrite (YELLOWLED2, alto);

digitalWrite (YELLOWLED3, alto);

digitalWrite (YELLOWLED4, alto);

digitalWrite (REDLED1, alto);

digitalWrite (REDLED2, alto);

digitalWrite (REDLED3, alto);

rotura;

caso 10:

digitalWrite (GREENLED1, alto);

digitalWrite (GREENLED2, alto);

digitalWrite (GREENLED3, alto);

digitalWrite (YELLOWLED1, alto);

digitalWrite (YELLOWLED2, alto);

digitalWrite (YELLOWLED3, alto);

digitalWrite (YELLOWLED4, alto);

digitalWrite (REDLED1, alto);

digitalWrite (REDLED2, alto);

digitalWrite (REDLED3, alto);

rotura;

}

}

#endif

bigPacket = false;

}

Else {}

Error de suma de comprobación

} / / fin si otra cosa de suma de comprobación

} / / fin si leer byte 0xAA

} / / fin si leer byte 0xAA

}

Artículos Relacionados

Usar la fuerza... ¿O sus ondas cerebrales? (pensamiento multifuctional sistema controlado)

Usar la fuerza... ¿O sus ondas cerebrales? (pensamiento multifuctional sistema controlado)

Cuando era niño siempre quise tener una habilidad especial, como mover objetos con pensamientos o volando. Traté de mover objetos con "el poder de mi mente", por supuesto sin ningún éxito. Bueno, sí, era y soy un gran fan de Star Wars, pero tamb
Hacer música con sus ondas cerebrales en tiempo real.

Hacer música con sus ondas cerebrales en tiempo real.

Vídeo de la música de ondas cerebrales:MindMIDI es una forma revolucionaria de hacer música, con sus ondas cerebrales, en tiempo real. Las ondas cerebrales son como estaciones de radio, con cada estación de trabajo en una capa diferente, y todas las
Gorro transforma las ondas cerebrales en luz

Gorro transforma las ondas cerebrales en luz

¿Alguna vez has querido visualizar su actividad cerebral en tiempo real? ¿Mover un objeto en una pantalla con tu mente? Este tutorial te muestra cómo hacer un gorro de EEG recreativo que convierte las ondas cerebrales en luz, usando un microcontrolad
Lector de ondas cerebrales de Arduino

Lector de ondas cerebrales de Arduino

este tutorial le mostrará cómo hackear facilmente un juego juguete para un lector de ondas cerebrales.Un ejemplo del resultado final podría encender un LED mientras que concentra y apagarlo mientras se relaja.Vamos a comenzar.Paso 1: partes Hardware:
Ropa de papel controlado por ondas cerebrales

Ropa de papel controlado por ondas cerebrales

Mi proyecto, autorretrato es una prenda de papel portátil interactivo experimental de performance, que utiliza pigmentos termocrómicos, circuitos suaves y Arduino conectado a mis signos vitales tales como latidos cardiacos o las ondas cerebrales.Mi c
Ondas cerebrales y Biofeedback diadema

Ondas cerebrales y Biofeedback diadema

este es otro hack mente Flex, como mbmosher de Mindflex-Duel-Bluetooth-Arduino-FIO-Hack, pero incluye algunas características adicionales. El sistema está construido de un mini Arduino Bluetooth Bee-independiente , incluye un pre amplificada PulseSen
Parpadeo LED de estrellas!

Parpadeo LED de estrellas!

Este es un proyecto bastante simple que hace un fresco, parpadeo led star! Perfecto para las vacaciones!Tiempo necesario: un par de horasComplejidad: bajaCosto: para los materiales, <$ 5, para la placa arduino: alrededor de $30Habilidades necesarias:
En Techshop - insignia de Halloween de parpadeo LED Laser-corte

En Techshop - insignia de Halloween de parpadeo LED Laser-corte

https://www.youtube.com/watch?v=T3t3o03LyO8Para este proyecto necesitarás:-Parpadeo LED amarillos (desde el enlacede ebay)-CR 2032 3V bateríaSostenedor de batería CR - 2032-33 Ohm para 56 Ohm Resistor (si está usando una célula de la moneda de 3v)-Au
Tutoriales de LabVIEW - crear un parpadeo LED con diferentes tiempos de encendido-apagado

Tutoriales de LabVIEW - crear un parpadeo LED con diferentes tiempos de encendido-apagado

En el anterior aquí instructable, usted vio cómo crear LED que parpadea con el mismo encendido veces. En este tutorial, puedes ver en cuanto a cómo usted puede crear que un parpadeo LED con diferentes tiempos de encendido y apagado.
Bajo responsiva RGB Leds utilizando Arduino

Bajo responsiva RGB Leds utilizando Arduino

Este tutoiral le mostrará cómo usar Arduino y a un conjunto de leds utilizando música del ordenador de control. Este tutorial requiere:-Arduino (utilicé un leonardo)-pequeña protoboard con los cables de puente (kit es la mejor oferta)-rgb led tira (u
Parpadeo de LEDs utilizando arduino de lujo

Parpadeo de LEDs utilizando arduino de lujo

Esto es lujo generador de luz que se construye utilizando Arduino. Este proyecto utiliza cuatro LEDs y controlada mediante un microswitch(button switch) que provocan a los LEDs brillan en diferente secuencia y patrones...Uno es una de las series de p
Velas de PVC parpadeo LED

Velas de PVC parpadeo LED

Este que le mostrará cómo hacer una vela de PVC en niveles 3 con LED parpadeante, tubería de pvc y pegamento caliente!Estas podrían utilizarse para Halloween, bodas centros de mesa, decoración para el hogar y regalos!!!!Compré todos mis artículos de
ESP8266 control de WS2812 Neopixel LEDs utilizando Arduino IDE - un Tutorial

ESP8266 control de WS2812 Neopixel LEDs utilizando Arduino IDE - un Tutorial

Hola todo el mundo,Si eres como yo, he estado buscando por internet un buen tutorial sobre el uso de la ESP8266 con neopixel LED (también conocido como el WS2812 o WS2812b), programada mediante el IDE de Arduino. No he encontré todo en un solo lugar,
3D impreso remota mina de Goldeneye 007 (con beeper + parpadeo LEDs)

3D impreso remota mina de Goldeneye 007 (con beeper + parpadeo LEDs)

el año es el 1997. El juego, Goldeneye 64. El arma, la remota mina.Horas y horas pasaron pegado a la TV de tu mamá con tus amigos, tratando de decir que eran pantalla viendo a 2:00. ¿Este sonido como la gran mayoría de su infancia? Si es así, por fav