Beyin#

giriiş#

VEX EXP C++’da Beyin, brain sınıfı ile temsil edilir. Beyin nesnesini oluşturursunuz (veya proje tarafından sağlanan varsayılanı kullanırsınız) ve ardından üye nesneleri aracılığıyla Beyin özelliklerine erişirsiniz.

Türetilmiş Sınıflar#

brain sınıfı, aşağıdaki türetilmiş sınıflar için temel sınıf görevi görür:

  • Screen - Bu sınıf, programların metin, grafik görüntülemesine ve dokunmatik girdi almasına olanak tanıyan, Beynin yerleşik renkli dokunmatik ekranına erişim sağlar.

  • Timer - Bu sınıf, programlarda geçen süreyi ölçmek ve zamana dayalı davranışı kontrol etmek için yüksek çözünürlüklü zamanlama yardımcı programları sağlar.

  • Battery - Bu sınıf, programların Beynin pil durumunu (voltaj, akım, kapasite ve sıcaklık dahil) izlemesine olanak tanır.

  • Button - Bu sınıf, programların Beynin düğmeleriyle etkileşim kurmasına olanak tanır.

  • ThreeWirePort (triport / 3-Wire Port) - Bu sınıf, limit anahtarları, potansiyometreler ve LED’ler gibi eski sensörleri ve cihazları bağlamak ve kontrol etmek için Brain’in 3-Wire portlarına erişim sağlar.

  • SDcard - Bu sınıf, dosya depolama, veri kaydı ve harici kaynakların yüklenmesi için Beynin SD kartından okuma ve yazma işlemlerini sağlar.

Sınıf Oluşturucuları#

brain();

Parametreler#

brain yapıcı fonksiyonu hiçbir parametre kullanmaz.

Notlar#

  • Bir projede yalnızca bir adet brain nesnesi oluşturulmalıdır.

Örnek#

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

Üye Fonksiyonları#

brain sınıfı aşağıdaki üye fonksiyonlarını içerir:

  • playSound - Beynin yerleşik ses efektlerinden birini çalar.

  • playNote - Belirli bir süre boyunca bir müzik notası çalar.

  • programStop - EXP Beyninde şu anda çalışan projeyi durdurur.

  • timer - Beynin dahili zamanlayıcısının geçerli değerini belirtilen birimlerde döndürür.

  • resetTimer - Beynin dahili zamanlayıcısını sıfıra sıfırlar ve zamanlamayı yeniden başlatır.

  • setTimer - Beynin dahili zamanlayıcısını belirtilen bir değere ve zaman birimine ayarlar.

Herhangi bir brain üye fonksiyonunu çağırmadan önce, aşağıda gösterildiği gibi bir brain örneği oluşturulmalıdır:

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

Sesi çal#

Beynin dahili seslerinden birini çalar.

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

Parameters

Parametreler

Tip

Tanım

sound

soundtype

Beyinden çalınacak belirtilen ses.

volume

uint32_t

İsteğe bağlı. Sesin çalınacağı ses seviyesi, %0 ile %100 arasında bir tamsayı olarak belirtilir. Varsayılan değer %50’dir.

Ses Adı

Sesi Çal

alarm

alarm2

doorClose

fillup

headlightsOff

headlightsOn

powerDown

ratchet

ratchet2

siren

siren2

tada

tollBooth

wrench

wrongWay

wrongWaySlow

Return Values

Bu fonksiyon bir değer döndürmez.

playNote#

Beyinden bir müzik notası çalar.

Available Functions

1 - Bir müzik notası çalın.

void playNote(
    int32_t octave,
    int32_t note );

2 - Belirtilen süre ve ses seviyesinde bir nota çalar.

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

Parameters

Parametreler

Tip

Tanım

octave

int32_t

Çalınan notanın oktavını temsil eden tam sayı:

  • 1 ila 3 - düşük oktav
  • 4 ila 7 - yüksek oktav

note

int32_t

Çalınacak nota:

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

duration

int32_t

İsteğe bağlı. Notanın çalınma süresi milisaniye cinsinden, en fazla 500 milisaniye. Süre belirtilmezse, varsayılan süre 500 milisaniyedir.

volume

int32_t

İsteğe bağlı. Sesin çalınacağı ses seviyesi, %0 ile %100 arasında bir tamsayı olarak belirtilir. Varsayılan değer %50’dir.

Return Values

Bu fonksiyon bir değer döndürmez.

programı durdur#

EXP Brain üzerinde halihazırda çalışan projeyi durdurur.

Available Functions
void programStop();

Parameters

Bu fonksiyon herhangi bir parametre kabul etmez.

Return Values

Bu fonksiyon bir değer döndürmez.

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

zamanlayıcı#

Beynin dahili zamanlayıcısının geçerli değerini belirtilen birimlerde döndürür.

Available Functions
double timer(
  timeUnits units );

Parameters

Parametre

Tip

Tanım

units

timeUnits

Dönüş zaman birimi:

  • seconds / sec saniye
  • msec milisaniye

Return Values

Programın başlangıcından bu yana geçen süreyi belirtilen birimlerde temsil eden double bir double değeri döndürür.

Examples
  • Proje başladığında zamanlayıcı otomatik olarak başlar.

  • Zamanlayıcı, resetTimer kullanılarak sıfırlanabilir.

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

Brain.programStop();

resetTimer#

Beynin dahili zamanlayıcısını sıfırlar. Ardından, zamanlayıcı hemen sıfırdan tekrar saymaya başlar.

Available Functions
void resetTimer();

Parameters

Bu fonksiyon herhangi bir parametre kabul etmez.

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • Zamanlayıcı sıfırlandıktan hemen sonra tekrar saymaya başlar.

  • resetTimer çağrısı, timer’e yapılan sonraki çağrıların döndürdüğü değeri etkiler.

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

zamanlayıcıyı ayarla#

Beynin dahili zamanlayıcısını belirtilen bir değere ve zaman birimine ayarlar.

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

Parameters

Parametre

Tip

Tanım

value

double

Zamanlayıcının ayarlanacağı süre, units parametresinde verilen timeUnits değerine göre belirlenir.

units

timeUnits

value parametresini yorumlamak için kullanılan birim:

  • seconds / sec saniye
  • msec milisaniye

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • Zamanlayıcı ayarlandıktan sonra ileri doğru saymaya devam eder.

  • setTimer çağırmak, timer tarafından döndürülen değeri hemen değiştirir.

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