Agy#

Bevezetés#

A VEX EXP C+±ban a Brain objektumot a brain osztály képviseli. Létrehozol (vagy az alapértelmezett, projekt által biztosított) Brain objektumot, majd a tagobjektumokon keresztül éred el a Brain funkcióit.

Származtatott osztályok#

A brain osztály a következő származtatott osztályok alaposztályaként szolgál:

  • Screenképernyő - Ez az osztály hozzáférést biztosít az Agy beépített színes érintőképernyőjéhez, lehetővé téve a programok számára szöveg és grafika megjelenítését, valamint érintőképernyős bemenet fogadását.

  • Timer - Ez az osztály nagy felbontású időzítő segédprogramokat biztosít az eltelt idő méréséhez és az időalapú viselkedés vezérléséhez programokban.

  • Battery - Ez az osztály lehetővé teszi a programok számára az agy akkumulátorának állapotának figyelését, beleértve a feszültséget, az áramerősséget, a kapacitást és a hőmérsékletet.

  • Button - Ez az osztály lehetővé teszi a programok számára, hogy interakcióba lépjenek az Agy gombjaival.

  • ThreeWirePort (triport / 3 vezetékes port) - Ez az osztály hozzáférést biztosít az agy 3 vezetékes portjaihoz, amelyekkel hagyományos érzékelőket és eszközöket, például végálláskapcsolókat, potenciométereket és LED-eket lehet csatlakoztatni és vezérelni.

  • SDcard - Ez az osztály lehetővé teszi az agy SD-kártyájáról való olvasást és arra való írást fájlok tárolásához, adatnaplózáshoz és külső erőforrások betöltéséhez.

Osztálykonstruktorok#

brain();

Paraméterek#

A brain konstruktor nem használ paramétereket.

Megjegyzések#

  • Egy projektben csak egy brain objektumot szabad létrehozni.

Példa#

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

Tagfüggvények#

A brain osztály a következő tagfüggvényeket tartalmazza:

  • playSound - Lejátssza az Agy beépített hangeffektusainak egyikét.

  • playNote - Meghatározott ideig játszik le egy hangjegyet.

  • programStop - Leállítja az aktuálisan futó projektet az EXP Brain-en.

  • timer - Visszaadja az agy belső időzítőjének aktuális értékét a megadott egységekben.

  • resetTimer - Nullára állítja az agy belső időzítőjét és újraindítja az időzítést.

  • setTimer - Beállítja az agy belső időzítőjét egy megadott értékre és időegységre.

Bármely brain tagfüggvény meghívása előtt létre kell hozni egy brain példányt, az alábbiak szerint:

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

lejátszási hang#

Lejátssza az agy egyik beépített hangját.

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

Parameters

Paraméterek

Típus

Leírás

sound

soundtype

Az agy által lejátszandó megadott hang.

volume

uint32_t

Opcionális. A lejátszott hang hangereje 0% és 100% közötti egész számként. Az alapértelmezett érték 50%.

Hang neve

Hang lejátszása

alarm

alarm2

doorClose

fillup

headlightsOff

headlightsOn

powerDown

ratchet

ratchet2

siren

siren2

tada

tollBooth

wrench

wrongWay

wrongWaySlow

Return Values

Ez a függvény nem ad vissza értéket.

playNote#

Lejátszik egy hangjegyet az agyból.

Available Functions

1 - Játssz le egy hangjegyet.

void playNote(
    int32_t octave,
    int32_t note );

2 - Meghatározott ideig és hangerővel játszik le egy hangot.

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

Parameters

Paraméterek

Típus

Leírás

octave

int32_t

Az az egész szám, amely azt az oktávot jelöli, amelyben a hangot lejátsszák:

  • 1 -tól 3 - mély oktáv
  • 4 -től 7 - magas oktáv

note

int32_t

A lejátszandó hangjegy:

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

duration

int32_t

Opcionális. A hangjegy lejátszásának időtartama milliszekundumban, legfeljebb 500 milliszekundum. Ha nincs megadva időtartam, az alapértelmezett időtartam 500 milliszekundum.

volume

int32_t

Opcionális. A lejátszott hang hangereje 0% és 100% közötti egész számként. Az alapértelmezett érték 50%.

Return Values

Ez a függvény nem ad vissza értéket.

programStop#

Leállítja az aktuálisan futó projektet az EXP Brain-en.

Available Functions
void programStop();

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Ez a függvény nem ad vissza értéket.

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

időzítő#

Visszaadja az agy belső időzítőjének aktuális értékét a megadott mértékegységben.

Available Functions
double timer(
  timeUnits units );

Parameters

Paraméter

Típus

Leírás

units

timeUnits

A visszaadandó időegység:

  • seconds / sec másodperc
  • msec milliszekundum

Return Values

Egy double értéket ad vissza, amely a programindítás óta eltelt időt jelöli a megadott egységekben.

Examples
  • Az időzítő automatikusan elindul, amikor a projekt elkezdődik.

  • Az időzítő a resetTimer használatával nullázható.

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

Brain.programStop();

resetTimer#

Nullára állítja az agy belső időzítőjét, utána az időzítő azonnal újrakezdi a nulláról való számolást.

Available Functions
void resetTimer();

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • Az időzítő a visszaállítás után azonnal újrakezdi a számolást.

  • A resetTimer meghívása befolyásolja a timer későbbi hívásai által visszaadott értéket.

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

időzítő beállítása#

Beállítja az agy belső időzítőjét egy megadott értékre és időegységre.

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

Parameters

Paraméter

Típus

Leírás

value

double

Az időzítő beállításának időpontja, a units paraméterben megadott timeUnits érték alapján.

units

timeUnits

A value paraméter értelmezéséhez használt mértékegység:

  • seconds / sec másodperc
  • msec milliszekundum

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • Az időzítő a beállítás után folyamatosan előre számol.

  • A setTimer meghívása azonnal megváltoztatja a timer által visszaadott értéket.

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