Εγκέφαλος#
Εισαγωγή#
Στο VEX EXP C++, το αντικείμενο Brain αναπαρίσταται από την κλάση brain Δημιουργείτε (ή χρησιμοποιείτε το προεπιλεγμένο αντικείμενο Brain που παρέχεται από το έργο) και στη συνέχεια αποκτάτε πρόσβαση στις λειτουργίες του Brain μέσω των αντικειμένων-μελών του.
Παράγωγες Κλάσεις#
Η κλάση brain χρησιμεύει ως βασική κλάση για τις ακόλουθες παράγωγες κλάσεις:
Screen- Αυτή η κλάση παρέχει πρόσβαση στην ενσωματωμένη έγχρωμη οθόνη αφής του εγκεφάλου, επιτρέποντας στα προγράμματα να εμφανίζουν κείμενο, γραφικά και να λαμβάνουν δεδομένα αφής.Timer- Αυτή η κλάση παρέχει βοηθητικά προγράμματα χρονισμού υψηλής ανάλυσης για τη μέτρηση του χρόνου που έχει παρέλθει και τον έλεγχο της συμπεριφοράς που βασίζεται στον χρόνο σε προγράμματα.Battery- Αυτή η κλάση επιτρέπει στα προγράμματα να παρακολουθούν την κατάσταση της μπαταρίας του εγκεφάλου, συμπεριλαμβανομένης της τάσης, του ρεύματος, της χωρητικότητας και της θερμοκρασίας.Button- Αυτή η κλάση επιτρέπει στα προγράμματα να αλληλεπιδρούν με τα κουμπιά του εγκεφάλου.ThreeWirePort(triport/ 3-Wire) - Αυτή η κλάση παρέχει πρόσβαση στις θύρες 3-Wire του Brain για τη σύνδεση και τον έλεγχο παλαιών αισθητήρων και συσκευών, όπως διακόπτες ορίου, ποτενσιόμετρα και LED.SDcard- Αυτή η κλάση επιτρέπει την ανάγνωση και την εγγραφή στην κάρτα SD του εγκεφάλου για αποθήκευση αρχείων, καταγραφή δεδομένων και φόρτωση εξωτερικών πόρων.
Κατασκευαστές κλάσεων#
brain();
Παράμετροι#
Ο κατασκευαστής brain δεν χρησιμοποιεί παραμέτρους.
Σημειώσεις#
Μόνο ένα αντικείμενο
brainθα πρέπει να δημιουργηθεί σε ένα έργο.
Παράδειγμα#
// Create the EXP Brain
brain Brain = brain();
Συναρτήσεις Μελών#
Η κλάση brain περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:
playSound- Αναπαράγει ένα από τα ενσωματωμένα ηχητικά εφέ του εγκεφάλου.playNote- Αναπαράγει μια μουσική νότα για μια συγκεκριμένη διάρκεια.programStop- Διακόπτει το τρέχον έργο που εκτελείται στον εγκέφαλο EXP.timer- Επιστρέφει την τρέχουσα τιμή του εσωτερικού χρονοδιακόπτη του εγκεφάλου στις καθορισμένες μονάδες.resetTimer- Επαναφέρει τον εσωτερικό χρονοδιακόπτη του εγκεφάλου στο μηδέν και επανεκκινεί τη χρονομέτρηση.setTimer- Ορίζει τον εσωτερικό χρονοδιακόπτη του εγκεφάλου σε μια καθορισμένη τιμή και μονάδα χρόνου.
Πριν από την κλήση οποιασδήποτε συνάρτησης μέλους brain , πρέπει να δημιουργηθεί μια παρουσία brain , όπως φαίνεται παρακάτω:
// Create the EXP Brain
brain Brain = brain();
αναπαραγωγήΉχου#
Αναπαράγει έναν από τους ενσωματωμένους ήχους του εγκεφάλου.
Available Functionsvoid playSound(
soundtype sound,
uint32_t volume = 50 );
Παράμετροι |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ο καθορισμένος ήχος που θα αναπαραχθεί από τον Εγκέφαλο. |
|
|
Προαιρετικό. Η ένταση ήχου στην οποία θα αναπαράγεται ο ήχος είναι ακέραια από 0% έως 100%. Η προεπιλογή είναι 50%. |
Όνομα ήχου |
Αναπαραγωγή ήχου |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
playNote#
Παίζει μια μουσική νότα από τον Εγκέφαλο.
Available Functions1 - Παίξε μια μουσική νότα.
void playNote( int32_t octave, int32_t note );
Parameters2 - Αναπαράγει μια νότα για καθορισμένη διάρκεια και ένταση.
void playNote( int32_t octave, int32_t note, int32_t duration, int32_t volume = 50 );
Παράμετροι |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ο ακέραιος αριθμός που αντιπροσωπεύει την οκτάβα στην οποία παίζεται η νότα:
|
|
|
Η νότα που πρέπει να παίξετε:
|
|
|
Προαιρετικό. Η διάρκεια σε χιλιοστά του δευτερολέπτου για την αναπαραγωγή της νότας, έως και 500 χιλιοστά του δευτερολέπτου. Εάν δεν παρέχεται διάρκεια, η προεπιλεγμένη διάρκεια είναι 500 χιλιοστά του δευτερολέπτου. |
|
|
Προαιρετικό. Η ένταση ήχου στην οποία θα αναπαράγεται ο ήχος είναι ακέραια από 0% έως 100%. Η προεπιλογή είναι 50%. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
πρόγραμμαΔιακοπή#
Σταματά το έργο που εκτελείται αυτήν τη στιγμή στο EXP Brain.
Available Functionsvoid programStop();
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return ValuesΑυτή η συνάρτηση δεν επιστρέφει τιμή.
Examples// Stop the project when the Brain screen is pressed
while (true) {
if (Brain.Screen.pressing()) {
Brain.programStop();
}
wait(20, msec);
}
μετρών την ώραν#
Επιστρέφει την τρέχουσα τιμή του εσωτερικού χρονοδιακόπτη του εγκεφάλου στις καθορισμένες μονάδες.
Available Functionsdouble timer(
timeUnits units );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η μονάδα χρόνου επιστροφής:
|
Επιστρέφει ένα double που αντιπροσωπεύει τον χρόνο που έχει παρέλθει από την έναρξη του προγράμματος, στις καθορισμένες μονάδες.
Ο χρονοδιακόπτης ξεκινά αυτόματα όταν ξεκινά το έργο.
Ο χρονοδιακόπτης μπορεί να μηδενιστεί με τη χρήση του
resetTimer.
// Stop the project after 3 seconds
while (Brain.timer(seconds) < 3) {
wait(20, msec);
}
Brain.programStop();
Επαναφορά Χρονοδιακόπτη#
Μηδενίζει τον εσωτερικό χρονοδιακόπτη του εγκεφάλου. Στη συνέχεια, ο χρονοδιακόπτης αρχίζει αμέσως να μετράει ξανά από το μηδέν.
Available Functionsvoid resetTimer();
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return ValuesΑυτή η συνάρτηση δεν επιστρέφει τιμή.
NotesΟ χρονοδιακόπτης αρχίζει να μετράει ξανά αμέσως μετά την επαναφορά του.
Η κλήση του
resetTimerεπηρεάζει την τιμή που επιστρέφεται από τις επόμενες κλήσεις στοtimer.
// 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");
ορισμός χρονοδιακόπτη#
Ρυθμίζει τον εσωτερικό χρονοδιακόπτη του εγκεφάλου σε μια συγκεκριμένη τιμή και μονάδα χρόνου.
Available Functionsvoid setTimer(
double value,
timeUnits units );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ο χρόνος στον οποίο θα ρυθμιστεί ο χρονοδιακόπτης, με βάση τις |
|
|
Η μονάδα που χρησιμοποιείται για την ερμηνεία της παραμέτρου
|
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
NotesΟ χρονοδιακόπτης συνεχίζει να μετράει προς τα εμπρός μετά τη ρύθμισή του.
Η κλήση της συνάρτησης
setTimerαλλάζει αμέσως την τιμή που επιστρέφεται από τοtimer.
// 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");