Cerebro#

Introducción#

En VEX EXP C++, el Cerebro está representado por la clase brain Se crea (o se utiliza el objeto Cerebro proporcionado por defecto en el proyecto) y luego se accede a las funciones del Cerebro a través de sus objetos miembro.

Clases derivadas#

La clase brain sirve como clase base para las siguientes clases derivadas:

  • Screen: esta clase proporciona acceso a la pantalla táctil a color incorporada en Brain, lo que permite que los programas muestren texto, gráficos y reciban entradas táctiles.

  • Timer: esta clase proporciona utilidades de sincronización de alta resolución para medir el tiempo transcurrido y controlar el comportamiento basado en el tiempo en los programas.

  • Battery - Esta clase permite a los programas monitorear el estado de la batería del cerebro, incluyendo el voltaje, la corriente, la capacidad y la temperatura.

  • Button - Esta clase permite que los programas interactúen con los botones del cerebro.

  • ThreeWirePort (puertotriport /puerto de 3 cables): esta clase proporciona acceso a los puertos de 3 cables del cerebro para conectar y controlar sensores y dispositivos heredados, como interruptores de límite, potenciómetros y LED.

  • SDcard: esta clase permite leer y escribir en la tarjeta SD del cerebro para almacenar archivos, registrar datos y cargar recursos externos.

Constructores de clase#

brain();

Parámetros#

El constructor brain no utiliza parámetros.

Observaciones#

  • Solo se debe crear un objeto brain en un proyecto.

Ejemplo#

// Create the EXP Brain
brain Brain = brain();

Funciones de los miembros#

La clase brain incluye las siguientes funciones miembro:

  • playSound - Reproduce uno de los efectos de sonido incorporados en el cerebro.

  • playNote - Toca una nota musical durante un tiempo específico.

  • programStop - Detiene el proyecto que se está ejecutando actualmente en el cerebro EXP.

  • timer - Devuelve el valor actual del temporizador interno del cerebro en las unidades especificadas.

  • resetTimer: restablece el temporizador interno del cerebro a cero y reinicia el tiempo.

  • setTimer - Establece el temporizador interno del cerebro en un valor y unidad de tiempo especificados.

Antes de llamar a cualquier función miembro de brain , se debe crear una instancia brain , como se muestra a continuación:

// Create the EXP Brain
brain Brain = brain();

playSound#

Reproduce uno de los sonidos incorporados en el cerebro.

Available Functions
void playSound(
    soundtype sound,
    uint32_t volume = 50 );

Parameters

Parámetros

Tipo

Descripción

sound

soundtype

El sonido especificado para reproducir desde el cerebro.

volume

uint32_t

Opcional. El volumen del sonido se reproducirá como un número entero del 0% al 100%. El valor predeterminado es 50%.

Nombre del sonido

Reproducir sonido

alarm

alarm2

doorClose

fillup

headlightsOff

headlightsOn

powerDown

ratchet

ratchet2

siren

siren2

tada

tollBooth

wrench

wrongWay

wrongWaySlow

Return Values

Esta función no devuelve un valor.

playNote#

Toca una nota musical del cerebro.

Available Functions

1 - Toca una nota musical.

void playNote(
    int32_t octave,
    int32_t note );

2 - Reproduce una nota para una duración y volumen especificados.

void playNote(
    int32_t octave,
    int32_t note,
    int32_t duration,
    int32_t volume = 50 );

Parameters

Parámetros

Tipo

Descripción

octave

int32_t

El número entero que representa la octava en la que se toca la nota:

  • 1 a 3 - octava baja
  • 4 a 7 - octava alta

note

int32_t

La nota a tocar:

  • 0 - C
  • 1 - D
  • 2 - E
  • 3 - F
  • 4 - G
  • 5 - A
  • 6 - B

duration

int32_t

Opcional. La duración en milisegundos para tocar la nota, hasta un máximo de 500 milisegundos. Si no se proporciona ninguna duración, la duración predeterminada es de 500 milisegundos.

volume

int32_t

Opcional. El volumen del sonido se reproducirá como un número entero del 0% al 100%. El valor predeterminado es 50%.

Return Values

Esta función no devuelve un valor.

programStop#

Detiene el proyecto que se está ejecutando actualmente en el cerebro EXP.

Available Functions
void programStop();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Esta función no devuelve un valor.

Examples
// Stop the project when the Brain screen is pressed
while (true) {
  if (Brain.Screen.pressing()) {
    Brain.programStop();
  }
  wait(20, msec);
}

temporizador#

Devuelve el valor actual del temporizador interno de Brain en las unidades especificadas.

Available Functions
double timer(
  timeUnits units );

Parameters

Parámetro

Tipo

Descripción

units

timeUnits

La unidad de tiempo para regresar:

  • seconds / sec - segundos
  • msec - milisegundos

Return Values

Devuelve un double que representa el tiempo transcurrido desde que comenzó el programa, en las unidades especificadas.

Examples
  • El temporizador se inicia automáticamente cuando comienza el proyecto.

  • El temporizador se puede restablecer con el uso de resetTimer .

Examples
// Stop the project after 3 seconds
while (Brain.timer(seconds) < 3) {
  wait(20, msec);
}

Brain.programStop();

resetTimer#

Restablece el temporizador interno del cerebro a cero. Después, el temporizador comienza inmediatamente a contar de nuevo desde cero.

Available Functions
void resetTimer();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Esta función no devuelve un valor.

Notes
  • El temporizador comienza a contar de nuevo inmediatamente después de que se restablece.

  • Llamar resetTimer resetTimer afecta el valor devuelto por las llamadas posteriores a timer.

Examples
// Reset the timer and measure elapsed time
Brain.resetTimer();

while (Brain.timer(sec) < 5) {
  wait(20, msec);
}

// 5 seconds have elapsed since reset
Brain.Screen.print("5 seconds passed");

setTimer#

Establece el temporizador interno del cerebro en un valor y una unidad de tiempo especificados.

Available Functions
void setTimer(
  double value,
  timeUnits units );

Parameters

Parámetro

Tipo

Descripción

value

double

El tiempo para configurar el temporizador, en función de los timeUnits proporcionados en el parámetro units.

units

timeUnits

La unidad utilizada para interpretar el valor value :

  • seconds / sec - segundos
  • msec - milisegundos

Return Values

Esta función no devuelve un valor.

Notes
  • El temporizador continúa contando hacia adelante después de configurarlo.

  • Llamar setTimer setTimer cambia inmediatamente el valor devuelto por timer.

Examples
// Set the timer to start at 10 seconds
Brain.setTimer(10, sec);

// Wait until the timer is at 3 seconds
while (Brain.timer(sec) < 3) {
  wait(20, msec);
}

// 5 seconds have elapsed since setTimer was called
Brain.Screen.print("5 seconds passed");