fusion_hat.pwm Modul

PWM-Klasse zur Steuerung eines einzelnen PWM-Kanals

Beispiel

Einfaches Beispiel zur Steuerung des PWM-Kanals 0 mit 50 Hz und 50 % Tastverhältnis.

>>> from fusion_hat.pwm import PWM
>>> pwm = PWM(0)
>>> pwm.freq(50)
>>> pwm.pulse_width_percent(50)

Fortgeschrittenes Beispiel zur Steuerung eines PWM-Kanals mit 50 Hz Frequenz, 20000 us und einer Pulsbreite von 500–2500 us für Servos.

>>> from fusion_hat.pwm import PWM
>>> pwm = PWM(0)
>>> pwm.freq(50)
>>> pwm.pulse_width(1500) # servo center position
>>> pwm.pulse_width(2500) # servo max position
>>> pwm.pulse_width(500) # servo min position
class fusion_hat.pwm.PWM(channel: int, freq: int = 50, *args, **kwargs)[Quellcode]

Basisklassen: _Base

PWM-Klasse zur Steuerung eines einzelnen PWM-Kanals

Parameter:
  • channel (int/str) – PWM-Kanalnummer ( 0–11 / P0–P11 )

  • freq (int, optional) – PWM-Frequenz, Standard ist 50 Hz

  • addr (int, optional) – I2C-Adresse, Standard ist 0x17

  • *args – Zusätzliche Argumente für fusion_hat._i2c.I2C

  • **kwargs – Zusätzliche Schlüsselwortargumente für fusion_hat._i2c.I2C

Verursacht:

ValueError – Ungültige Kanalnummer

CHANNEL_NUM = 12
PATH = '/sys/class/fusion_hat/fusion_hat/pwm'
enable(enable: bool = True) None[Quellcode]

PWM-Kanal aktivieren oder deaktivieren

Parameter:

enable (bool, optional) – aktivieren oder deaktivieren, Standard ist True

read_period() int[Quellcode]

Periode in ms abrufen

Rückgabe:

Periode in ms

Rückgabetyp:

int

write_period(period: int) int[Quellcode]

Periode in ms setzen

Parameter:

period (int) – Periode in ms

read_duty_cycle() int[Quellcode]

Tastverhältnis in ms abrufen

Rückgabe:

Tastverhältnis in ms

Rückgabetyp:

int

write_duty_cycle(duty_cycle: int) int[Quellcode]

Tastverhältnis in ms setzen

Parameter:

duty_cycle (int) – Tastverhältnis in ms

freq(freq: float | None = None) float[Quellcode]

Frequenz setzen oder abrufen, leer lassen, um die Frequenz abzurufen

Parameter:

freq (float, optional) – Frequenz ( 0–65535 ) ( Hz ), Standard ist 50 Hz

Rückgabe:

Frequenz

Rückgabetyp:

float

prescaler(prescaler: int | None = None, raw: bool = False) int[Quellcode]

[ VERALTET ] Prescaler setzen oder abrufen, leer lassen, um den Prescaler abzurufen

period(period: int | None = None) int[Quellcode]

Periode setzen oder abrufen, leer lassen, um die Periode abzurufen

Parameter:
  • period (int, optional) – Periode ( 0–65535 ), Standard ist 0

  • raw (bool, optional) – Ob die Periode direkt geschrieben wird, Standard ist False

Rückgabe:

Periode

Rückgabetyp:

int

duty_cycle(duty_cycle: int | None = None) int[Quellcode]

Tastverhältnis setzen oder abrufen, in ms

Parameter:

duty_cycle (int, optional) – Tastverhältnis

Rückgabe:

Tastverhältnis

Rückgabetyp:

int

pulse_width(pulse_width: int | None = None) int[Quellcode]

Pulsbreite setzen oder abrufen, in ms

Parameter:

pulse_width (int, optional) – Pulsbreite in ms

Rückgabe:

Pulsbreite

Rückgabetyp:

int

pulse_width_percent(pulse_width_percent: float | None = None) float[Quellcode]

Pulsbreitenprozentsatz setzen oder abrufen, leer lassen, um den Pulsbreitenprozentsatz abzurufen

Parameter:

pulse_width_percent (float, optional) – Pulsbreitenprozentsatz ( 0–100 ), Standard ist 0

Rückgabe:

Pulsbreitenprozentsatz

Rückgabetyp:

float

close() None[Quellcode]

PWM-Kanal schließen

__del__() None[Quellcode]

PWM-Kanal schließen, wenn das Objekt gelöscht wird