Cérebro#
Introdução#
Em VEX EXP C++, o Cérebro é representado pela classe brain ). Cria (ou utiliza o objeto Brain padrão fornecido pelo projeto) e depois acede aos recursos do Cérebro através dos seus objetos membros.
Classes Derivadas#
A classe brain serve de classe base para as seguintes classes derivadas:
Screen- Esta classe fornece acesso ao ecrã táctil a cores integrado do Brain, permitindo que os programas exibam texto, gráficos e recebam entrada de toque.Timer- Esta classe fornece utilitários de temporização de alta resolução para medir o tempo decorrido e controlar o comportamento baseado no tempo nos programas.Battery- Esta classe permite aos programas monitorizar o estado da bateria do cérebro, incluindo a voltagem, a corrente, a capacidade e a temperatura.Button- Esta classe permite que os programas interajam com os botões do cérebro.ThreeWirePort(triport/ Porta de 3 fios) - Esta classe fornece acesso às portas de 3 fios do Brain para ligar e controlar sensores e dispositivos legados, como interruptores de fim de curso, potenciómetros e LEDs.SDcard- Esta classe permite a leitura e escrita no cartão SD do Brain para armazenamento de ficheiros, registo de dados e carregamento de recursos externos.
Construtores de Classes#
brain();
Parâmetros#
O construtor brain não utiliza parâmetros.
Notas#
Apenas um objeto com o valor
braindeve ser criado num projeto.
Exemplo#
// Create the EXP Brain
brain Brain = brain();
Funções de membro#
A classe brain inclui as seguintes funções membro:
playSound- Reproduz um dos efeitos sonoros integrados do Cérebro.playNote- Toca uma nota musical durante uma duração específica.programStop- Interrompe o projeto que está a ser executado no EXP Brain.timer- Retorna o valor actual do temporizador interno do Brain nas unidades especificadas.resetTimer- Repõe o temporizador interno do cérebro para zero e reinicia a contagem do tempo.setTimer- Define o temporizador interno do cérebro para um valor e unidade de tempo especificados.
Antes de chamar qualquer função membro de brain , deve ser criada uma instância brain , como se mostra abaixo:
// Create the EXP Brain
brain Brain = brain();
reproduzir som#
Reproduz um dos sons integrados do cérebro.
Available Functionsvoid playSound(
soundtype sound,
uint32_t volume = 50 );
Parâmetros |
Tipo |
Descrição |
|---|---|---|
|
|
O som especificado a ser reproduzido pelo cérebro. |
|
|
Opcional. O volume a que o som será reproduzido, um número inteiro de 0% a 100%. O predefinido é 50%. |
Nome do som |
Reproduzir som |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Esta função não devolve qualquer valor.
playNote#
Emite uma nota musical a partir do cérebro.
Available Functions1 - Toque uma nota musical.
void playNote( int32_t octave, int32_t note );
Parameters2 - Reproduz uma nota para uma duração e volume específicos.
void playNote( int32_t octave, int32_t note, int32_t duration, int32_t volume = 50 );
Parâmetros |
Tipo |
Descrição |
|---|---|---|
|
|
O número inteiro que representa a oitava em que a nota é tocada:
|
|
|
A sequência de notas a tocar:
|
|
|
Opcional. A duração em milissegundos para a reprodução da nota, até um máximo de 500 milissegundos. Se não for fornecida qualquer duração, a duração padrão será de 500 milissegundos. |
|
|
Opcional. O volume a que o som será reproduzido, um número inteiro de 0% a 100%. O predefinido é 50%. |
Esta função não devolve qualquer valor.
programaParar#
Interrompe o projeto em execução no EXP Brain.
Available Functionsvoid programStop();
Esta função não aceita qualquer parâmetro.
Return ValuesEsta função não devolve qualquer valor.
Examples// Stop the project when the Brain screen is pressed
while (true) {
if (Brain.Screen.pressing()) {
Brain.programStop();
}
wait(20, msec);
}
temporizador#
Retorna o valor atual do temporizador interno do cérebro nas unidades especificadas.
Available Functionsdouble timer(
timeUnits units );
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
Unidade de tempo de retorno:
|
Retorna um valor double representando o tempo decorrido desde o início do programa, nas unidades especificadas.
O temporizador inicia automaticamente quando o projeto começa.
O temporizador pode ser reiniciado com a utilização de
resetTimer.
// Stop the project after 3 seconds
while (Brain.timer(seconds) < 3) {
wait(20, msec);
}
Brain.programStop();
resetTimer#
Reinicializa o temporizador interno do cérebro para zero. Em seguida, o temporizador começa imediatamente a contar novamente a partir de zero.
Available Functionsvoid resetTimer();
Esta função não aceita qualquer parâmetro.
Return ValuesEsta função não devolve qualquer valor.
NotesO cronómetro recomeça a contagem imediatamente após ser reiniciado.
A chamada
resetTimerafecta o valor devolvido pelas chamadas subsequentes atimer.
// 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");
definirTemporizador#
Define o temporizador interno do cérebro para um valor e unidade de tempo específicos.
Available Functionsvoid setTimer(
double value,
timeUnits units );
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
O tempo para o qual o temporizador deve ser configurado, com base no valor |
|
|
The unit used to interpret the
|
Esta função não devolve qualquer valor.
NotesO temporizador continua a contagem regressiva após ser configurado.
A chamada de
setTimeraltera imediatamente o valor devolvido portimer.
// 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");