Cerveau#

Introduction#

Dans VEX EXP C++, le cerveau est représenté par la classe brain Vous créez un objet Brain (ou utilisez celui fourni par défaut par le projet) et accédez ensuite aux fonctionnalités du cerveau via ses objets membres.

Classes dérivées#

La classe brain sert de classe de base pour les classes dérivées suivantes :

  • Screen - Cette classe donne accès à l’écran tactile couleur intégré du cerveau, permettant aux programmes d’afficher du texte, des graphiques et de recevoir des entrées tactiles.

  • Timer - Cette classe fournit des utilitaires de chronométrage haute résolution pour mesurer le temps écoulé et contrôler le comportement basé sur le temps dans les programmes.

  • Battery - Cette classe permet aux programmes de surveiller l’état de la batterie du cerveau, y compris la tension, le courant, la capacité et la température.

  • Button - Cette classe permet aux programmes d’interagir avec les boutons du cerveau.

  • ThreeWirePort (triport / Port à 3 fils) - Cette classe permet d’accéder aux ports à 3 fils du cerveau pour connecter et contrôler des capteurs et des appareils anciens tels que des interrupteurs de fin de course, des potentiomètres et des LED.

  • SDcard - Cette classe permet de lire et d’écrire sur la carte SD du cerveau pour le stockage de fichiers, l’enregistrement de données et le chargement de ressources externes.

Constructeurs de classes#

brain();

Paramètres#

Le constructeur brain n’utilise aucun paramètre.

Notes#

  • Un seul objet brain doit être créé dans un projet.

Exemple#

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

Fonctions des membres#

La classe brain comprend les fonctions membres suivantes :

  • playSound - Joue l’un des effets sonores intégrés du cerveau.

  • playNote - Joue une note de musique pendant une durée spécifique.

  • programStop - Arrête le projet en cours d’exécution sur le cerveau EXP.

  • timer - Renvoie la valeur actuelle du minuteur interne du cerveau dans les unités spécifiées.

  • resetTimer - Réinitialise le minuteur interne du cerveau à zéro et redémarre le chronométrage.

  • setTimer - Définit la minuterie interne du cerveau sur une valeur et une unité de temps spécifiées.

Avant d’appeler les fonctions membres de brain , une instance brain doit être créée, comme indiqué ci-dessous :

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

jouer le son#

Joue l’un des sons intégrés du cerveau.

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

Parameters

Paramètres

Taper

Description

sound

soundtype

Le son spécifié à jouer depuis le cerveau.

volume

uint32_t

Facultatif. Le volume sonore, exprimé en pourcentage (de 0 % à 100 %). La valeur par défaut est de 50 %.

Nom du son

Jouer un son

alarm

alarm2

doorClose

fillup

headlightsOff

headlightsOn

powerDown

ratchet

ratchet2

siren

siren2

tada

tollBooth

wrench

wrongWay

wrongWaySlow

Return Values

Cette fonction ne renvoie aucune valeur.

note de lecture#

Joue une note de musique provenant du cerveau.

Available Functions

1 - Jouez une note de musique.

void playNote(
    int32_t octave,
    int32_t note );

2 - Joue une note pendant une durée et un volume spécifiés.

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

Parameters

Paramètres

Taper

Description

octave

int32_t

L’entier qui représente l’octave dans laquelle la note est jouée :

  • 1 à 3 - octave basse
  • 4 à 7 - octave haute

note

int32_t

Note à jouer :

  • 0 - Do
  • 1 - Ré
  • 2 - Mi
  • 3 - Fa
  • 4 - Sol
  • 5 - La
  • 6 - Si

duration

int32_t

Facultatif. Durée de la note en millisecondes, jusqu’à un maximum de 500 millisecondes. Si aucune durée n’est spécifiée, la durée par défaut est de 500 millisecondes.

volume

int32_t

Facultatif. Le volume sonore, exprimé en pourcentage (de 0 % à 100 %). La valeur par défaut est de 50 %.

Return Values

Cette fonction ne renvoie aucune valeur.

programmeArrêter#

Arrête le projet en cours d’exécution sur le cerveau EXP.

Available Functions
void programStop();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

Cette fonction ne renvoie aucune valeur.

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

minuteur#

Renvoie la valeur actuelle du minuteur interne du cerveau dans les unités spécifiées.

Available Functions
double timer(
  timeUnits units );

Parameters

Paramètre

Taper

Description

units

timeUnits

The unit of time to return:

  • seconds / sec - seconds
  • msec - milliseconds

Return Values

Renvoie un nombre décimal double représentant le temps écoulé depuis le démarrage du programme, dans les unités spécifiées.

Examples
  • Le minuteur démarre automatiquement au lancement du projet.

  • Le minuteur peut être réinitialisé à l’aide de resetTimer .

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

Brain.programStop();

réinitialiser le minuteur#

Réinitialise le compteur interne du cerveau à zéro. Ensuite, le compteur recommence immédiatement à compter à partir de zéro.

Available Functions
void resetTimer();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Le minuteur recommence à compter immédiatement après sa réinitialisation.

  • L’appel à resetTimer affecte la valeur renvoyée par les appels suivants à 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");

définir le minuteur#

Régle la minuterie interne du cerveau sur une valeur et une unité de temps spécifiées.

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

Parameters

Paramètre

Taper

Description

value

double

Le temps auquel régler la minuterie, basé sur les timeUnits fournies dans le paramètre units.

units

timeUnits

The unit used to interpret the value parameter:

  • seconds / sec - seconds
  • msec - milliseconds

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Le minuteur continue de décompter après avoir été réglé.

  • L’appel à setTimer modifie immédiatement la valeur renvoyée par 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");