Smadzenes#

Ievads#

VEX EXP C++ valodā Brain tiek attēlota ar klasi brain Jūs izveidojat (vai izmantojat projekta nodrošināto noklusējuma) Brain objektu un pēc tam piekļūstat Brain funkcijām, izmantojot tā elementu objektus.

Atvasinātās klases#

brain klase kalpo kā bāzes klase šādām atvasinātajām klasēm:

  • Screen — šī klase nodrošina piekļuvi smadzeņu iebūvētajam krāsu skārienekrānam, ļaujot programmām attēlot tekstu, grafiku un saņemt skārienvadi.

  • Timer — šī klase nodrošina augstas izšķirtspējas laika noteikšanas utilītas pagājušā laika mērīšanai un uz laiku balstītas uzvedības kontrolei programmās.

  • Battery — šī klase ļauj programmām uzraudzīt smadzeņu akumulatora stāvokli, tostarp spriegumu, strāvu, ietilpību un temperatūru.

  • Button — šī klase ļauj programmām mijiedarboties ar smadzeņu pogām.

  • ThreeWirePort (triport vadu ports) — šī klase nodrošina piekļuvi smadzeņu 3 vadu portiem, lai pievienotu un kontrolētu mantotus sensorus un ierīces, piemēram, robežslēdžus, potenciometrus un gaismas diodes.

  • SDcard — šī klase nodrošina datu lasīšanu no smadzeņu SD kartes un rakstīšanu tajā failu glabāšanai, datu reģistrēšanai un ārējo resursu ielādei.

Klases konstruktori#

brain();

Parametri#

brain konstruktors neizmanto parametrus.

Piezīmes#

  • Projektā drīkst izveidot tikai vienu brain objektu.

Piemērs#

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

Dalībnieku funkcijas#

brain klasē ietilpst šādas dalībfunkcijas:

  • playSound — atskaņo vienu no smadzeņu iebūvētajiem skaņas efektiem.

  • playNote — Noteiktu laiku atskaņo mūzikas noti.

  • programStop — Aptur pašlaik palaisto projektu EXP Brain.

  • timer — Atgriež smadzeņu iekšējā taimera pašreizējo vērtību norādītajās vienībās.

  • resetTimer — atiestata smadzeņu iekšējo taimeri uz nulli un restartē laika mērīšanu.

  • setTimer — Iestata smadzeņu iekšējo taimeri uz norādīto vērtību un laika vienību.

Pirms jebkuru brain dalībfunkciju izsaukšanas ir jāizveido brain instance, kā parādīts zemāk:

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

atskaņot skaņu#

Atskaņo vienu no smadzeņu iebūvētajām skaņām.

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

Parameters

Parametri

Tips

Apraksts

sound

soundtype

Norādītā skaņa, kas jāatskaņo no smadzenēm.

volume

uint32_t

Neobligāti. Skaļums, kādā tiks atskaņota skaņa, tiek norādīts kā vesels skaitlis no 0% līdz 100%. Noklusējuma vērtība ir 50%.

Skaņas nosaukums

Atskaņot skaņu

alarm

alarm2

doorClose

fillup

headlightsOff

headlightsOn

powerDown

ratchet

ratchet2

siren

siren2

tada

tollBooth

wrench

wrongWay

wrongWaySlow

Return Values

Šī funkcija neatgriež vērtību.

playNote#

Atskaņo muzikālu noti no smadzenēm.

Available Functions

1 - Nospēlē mūzikas noti.

void playNote(
    int32_t octave,
    int32_t note );

2 - Atskaņo noti noteiktu ilgumu un skaļumu.

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

Parameters

Parametri

Tips

Apraksts

octave

int32_t

Vesels skaitlis, kas apzīmē oktāvu, kurā nots tiek spēlēta:

  • 1 līdz 3 - zema oktāva
  • 4 līdz 7 - augsta oktāva

note

int32_t

Nospēlējamā nots:

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

duration

int32_t

Neobligāti. Nots atskaņošanas ilgums milisekundēs, līdz maksimāli 500 milisekundēm. Ja ilgums nav norādīts, noklusējuma ilgums ir 500 milisekundes.

volume

int32_t

Neobligāti. Skaļums, kādā tiks atskaņota skaņa, tiek norādīts kā vesels skaitlis no 0% līdz 100%. Noklusējuma vērtība ir 50%.

Return Values

Šī funkcija neatgriež vērtību.

programmas apturēšana#

Aptur pašlaik palaisto projektu EXP Brain.

Available Functions
void programStop();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Šī funkcija neatgriež vērtību.

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

taimeris#

Atgriež smadzeņu iekšējā taimera pašreizējo vērtību norādītajās vienībās.

Available Functions
double timer(
  timeUnits units );

Parameters

Parametrs

Tips

Apraksts

units

timeUnits

Atgriežamā laika vienība:

  • seconds / sec sekundes
  • msec milisekundes

Return Values

Atgriež skaitli double kas apzīmē pagājušo laiku kopš programmas sākuma norādītajās vienībās.

Examples
  • Taimeris ieslēdzas automātiski, kad sākas projekts.

  • Taimeri var atiestatīt, izmantojot resetTimer.

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

Brain.programStop();

atiestatīt taimeri#

Atiestata smadzeņu iekšējo taimeri uz nulli. Pēc tam taimeris nekavējoties sāk skaitīt no nulles.

Available Functions
void resetTimer();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Taimeris atsāk skaitīšanu tūlīt pēc atiestatīšanas.

  • Izsaucot resetTimer tiek ietekmēta vērtība, ko atgriež nākamie timer izsaukumi.

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#

Iestata smadzeņu iekšējo taimeri uz noteiktu vērtību un laika vienību.

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

Parameters

Parametrs

Tips

Apraksts

value

double

Laiks, kurā iestatīt taimeri, pamatojoties uz parametrā units norādīto timeUnits vērtību.

units

timeUnits

Vienība, ko izmanto, lai interpretētu value parametru:

  • seconds / sec sekundes
  • msec milisekundes

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Pēc taimera iestatīšanas tas turpina skaitīt uz priekšu.

  • Izsaucot funkciju setTimer nekavējoties tiek mainīta funkcija timer atgrieztā vērtība.

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");