class Servo – 3-johtoinen harrasteservo-ohjain

Servo-objektit ohjaavat tavallisia harrasteservomoottoreita kolmella johdolla (maa, virta, signaali).

Esimerkki käytöstä:

import pyb

s1 = pyb.Servo(1)   # create a servo object on position P7
s2 = pyb.Servo(2)   # create a servo object on position P8

s1.angle(45)        # move servo 1 to 45 degrees
s2.angle(0)         # move servo 2 to 0 degrees

# move servo1 and servo2 synchronously, taking 1500ms
s1.angle(-60, 1500)
s2.angle(30, 1500)

Muista

Servo-objektit käyttävät Timer(5):tä PWM-lähdön tuottamiseen. Voit käyttää Timer(5):tä servon ohjaukseen tai omiin tarkoituksiisi, mutta et molempiin samanaikaisesti.

Konstruktorit

class pyb.Servo(id: int)

Luo servo-objekti. id on 1-pohjainen servokanavan numero; kukin kanava on kytketty kiinteään liitinnastaan ja kanavien määrä riippuu OpenMV Camista:

Kamera

Servo(1)

Servo(2)

Servo(3)

OpenMV Cam M7 / H7

P7

P8

P9

OpenMV Cam M4 / H7 Plus / Pure Thermal

P7

P8

pyb.Servo ei ole saatavilla OpenMV Cam N6:ssa.

Metodit

angle(angle: int | None = None, time: int = 0) int | None

Jos argumentteja ei anneta, tämä funktio palauttaa nykyisen kulman.

Jos argumentteja annetaan, tämä funktio asettaa servon kulman:

  • angle on kulma, johon siirrytään, asteina.

  • time on millisekuntien määrä, joka kuluu määritettyyn kulmaan pääsemiseen. Jos se jätetään pois, servo siirtyy uuteen asentoonsa mahdollisimman nopeasti.

speed(speed: int | None = None, time: int = 0) int | None

Jos argumentteja ei anneta, tämä funktio palauttaa nykyisen nopeuden.

Jos argumentteja annetaan, tämä funktio asettaa servon nopeuden:

  • speed on nopeus, johon vaihdetaan, välillä -100 ja 100.

  • time on millisekuntien määrä, joka kuluu määritettyyn nopeuteen pääsemiseen. Jos se jätetään pois, servo kiihtyy mahdollisimman nopeasti.

pulse_width(value: int | None = None) int | None

Jos argumentteja ei anneta, tämä funktio palauttaa nykyisen raa’an pulssinleveysarvon.

Jos argumentti annetaan, tämä funktio asettaa raa’an pulssinleveysarvon.

calibration(pulse_min: int | None = None, pulse_max: int | None = None, pulse_centre: int | None = None, pulse_angle_90: int | None = None, pulse_speed_100: int | None = None) Tuple[int, int, int, int, int] | None

Jos argumentteja ei anneta, tämä funktio palauttaa nykyiset kalibrointitiedot 5-monikkona.

Jos argumentteja annetaan, tämä funktio asettaa ajoituskalibroinnin:

  • pulse_min on pienin sallittu pulssinleveys.

  • pulse_max on suurin sallittu pulssinleveys.

  • pulse_centre on keski-/nolla-asentoa vastaava pulssinleveys.

  • pulse_angle_90 on 90 astetta vastaava pulssinleveys.

  • pulse_speed_100 on nopeutta 100 vastaava pulssinleveys.