Victor 883 -moottori#
Johdanto#
motor_victor -luokkaa käytetään ohjaamaan Victor 883 -moottorinohjainta, joka on kytketty 3-johtimiseen porttiin. Victor 883 -moottorinohjain lähettää PWM-signaalin EXP Brainista ohjatakseen yhteensopivia VEXpro- tai VEX EDR -tasavirtamoottoreita, joita ei voida kytkeä suoraan Smart Port -portteihin.
Victor 883 -moottorinohjainta ei voi konfiguroida VEXcodessa, ja se on luotava manuaalisesti koodiin, jotta sitä voidaan käyttää.
Luokanrakentajat#
1 — Luo
motor_victor-objektin Victor 883 -moottorinohjaimelle, joka on kytketty määritettyyn 3-johtimiseen porttiin.motor_victor( triport::port& port );
2 — Luo
motor_victor-objektin määritettyyn 3-johdinporttiin ja valinnaisesti vaihtaa sen suunnan päinvastaiseksi.motor_victor( triport::port& port, bool reverse );
Luokan tuhoaja#
Tuhoaa motor_victor -objektin ja vapauttaa siihen liittyvät resurssit.
~motor_victor();
Parametrit#
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
3-johtiminen portti, johon Victor 883 -moottori on kytketty, kirjoitetaan muodossa |
|
|
Määrittää, käännetäänkö moottorin pyörimissuunta:
|
Esimerkki#
// Create the motor_victor instance on 3-Wire Port A
motor_victor victor = motor_victor(Brain.ThreeWirePort.A);
// Create the motor_victor instance with reversed direction
motor_victor victor2 = motor_victor(Brain.ThreeWirePort.B, true);
Jäsenten toiminnot#
motor_victor -luokka sisältää seuraavat jäsenfunktiot:
spin— Pyörittää moottoria määritettyyn suuntaan.stop— Pysäyttää moottorin.setVelocity— Kertoo moottorille, kuinka nopeasti sen tulisi pyöriä.setReversed— Asettaa moottorin pyörimissuunnan käänteiseksi tai ei.
Before calling any motor_victor member functions, a motor_victor instance must be created, as shown below:
/* This constructor is required to use a
Victor 883 Motor. Replace the values
as needed. */
// Create the motor_victor instance on 3-Wire Port A
motor_victor victor = motor_victor(Brain.ThreeWirePort.A);
spin#
Pyörittää moottoria määritettyyn suuntaan ikuisesti.
Available Functions1 — Pyörittää moottoria käyttäen asetettua moottorin nopeutta.
void spin( directionType dir );
Parameters2 — Pyörittää moottoria määritetyllä nopeudella.
void spin( directionType dir, double velocity, velocityUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Moottorin pyörimissuunta: |
|
|
Pyörimisnopeus 0 %:sta 100 %:iin, kun käytetään |
|
|
Nopeuden yksikkö:
|
Tämä funktio ei palauta arvoa.
NotesMoottori jatkaa pyörimistä, kunnes kutsutaan komentoa
stoptai suoritetaan jokin muu liikefunktio.
// Spin forward, then stop
victor.spin(forward);
wait(1, seconds);
victor.stop();
// Spin forward at 100 rpm
victor.spin(forward, 100, rpm);
wait(1, seconds);
victor.stop();
stop#
Estää moottorin pyörimisen.
Available Functionsvoid stop();
Tämä funktio ei hyväksy parametreja.
Return ValuesTämä funktio ei palauta arvoa.
NotesKomentoa
stopkutsumalla moottori pysähtyy välittömästi ja kaikki senhetkiset liikkeet pysähtyvät.
// Spin and then stop
victor.spin(forward);
wait(1, seconds);
victor.stop();
setVelocity#
Kertoo moottorille, kuinka nopeasti sen tulisi pyöriä. Suurempi prosenttiosuus saa moottorin pyörimään nopeammin ja pienempi prosenttiosuus hitaammin.
Jokainen projekti alkaa siten, että jokainen kytketty moottori pyörii oletusarvoisesti 50 %:n nopeudella.
Available Functionsvoid setVelocity(
double velocity,
percentUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Pyörimisnopeus 0 %:sta 100 %:iin, kun käytetään |
|
|
Nopeuden yksikkö: |
Tämä funktio ei palauta arvoa.
NotesKaikki myöhemmät Victor 883 Motor -liikefunktiot (kuten
spin), jotka eivät nimenomaisesti määritä nopeutta, käyttävät tätä arvoa.
// Set velocity to 50%, then spin
victor.setVelocity(50, percent);
victor.spin(forward);
setReversed#
Asettaa moottorin pyörimissuunnan käänteiseksi tai ei.
Available Functionsvoid setReversed( bool value );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Onko moottorin pyörimissuunta päinvastainen:
|
Tämä funktio ei palauta arvoa.
NotesTämä on sama kuin
reverse-parametrin muuttaminen constructor-luokassa.
// Reverse the motor direction
victor.setReversed(true);
victor.spin(forward); // Will actually spin in reverse