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:
_BasePWM-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