MicroPython:Библиотеки/pyb/Класс Servo: различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
(не показаны 2 промежуточные версии 1 участника) | |||
Строка 5: | Строка 5: | ||
=Класс Servo – драйвер для 3-проводного сервомотора<ref>[http://docs.micropython.org/en/latest/library/pyb.Servo.html docs.micropython.org - class Servo – 3-wire hobby servo driver]</ref>= | =Класс Servo – драйвер для 3-проводного сервомотора<ref>[http://docs.micropython.org/en/latest/library/pyb.Servo.html docs.micropython.org - class Servo – 3-wire hobby servo driver]</ref>= | ||
В классе Servo реализовано управление стандартными любительскими | В классе ''Servo'' реализовано управление стандартными любительскими [[сервомотор]]ами с ''3 проводами'' (для заземления, питания и передачи сигнала). На [[PyBoard]] есть ''4 позиции'' для подключения сервомоторов: контакты с ''X1'' по ''X4'' – это сигнальные контакты, а рядом с ними находятся ''4 группы'' контактов для питания и заземления. | ||
Пример использования: | Пример использования: | ||
<syntaxhighlight lang="python"> | |||
import pyb | import pyb | ||
Строка 20: | Строка 21: | ||
s1.angle(-60, 1500) | s1.angle(-60, 1500) | ||
s2.angle(30, 1500) | s2.angle(30, 1500) | ||
</syntaxhighlight> | |||
{{Спойлер|'''Примечание:''' ''Объекты Servo'' генерируют [[ШИМ]] при помощи ''таймера 5''. Его можно использовать и для управления [[сервомотор]]ами, и для других целей, но ни для того и другого одновременно.}} | {{Спойлер|'''Примечание:''' ''Объекты Servo'' генерируют [[ШИМ]] при помощи ''таймера 5''. Его можно использовать и для управления [[сервомотор]]ами, и для других целей, но ни для того и другого одновременно.}} | ||
Строка 26: | Строка 28: | ||
* [[MicroPython:Библиотеки/pyb/Класс Servo/pyb.Servo()|pyb.Servo(id)]] | * [[MicroPython:Библиотеки/pyb/Класс Servo/pyb.Servo()|pyb.Servo(id)]] | ||
== Методы == | == Методы == | ||
Строка 35: | Строка 35: | ||
* [[MicroPython:Библиотеки/pyb/Класс Servo/Servo.pulse_width()|Servo.pulse_width([value])]] | * [[MicroPython:Библиотеки/pyb/Класс Servo/Servo.pulse_width()|Servo.pulse_width([value])]] | ||
* [[MicroPython:Библиотеки/pyb/Класс Servo/Servo.calibration()|Servo.calibration([pulse_min, pulse_max, pulse_centre[, pulse_angle_90, pulse_speed_100]])]] | * [[MicroPython:Библиотеки/pyb/Класс Servo/Servo.calibration()|Servo.calibration([pulse_min, pulse_max, pulse_centre[, pulse_angle_90, pulse_speed_100]])]] | ||
=См.также= | =См.также= |
Текущая версия от 19:54, 23 мая 2023
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Класс Servo – драйвер для 3-проводного сервомотора[1]
В классе Servo реализовано управление стандартными любительскими сервомоторами с 3 проводами (для заземления, питания и передачи сигнала). На PyBoard есть 4 позиции для подключения сервомоторов: контакты с X1 по X4 – это сигнальные контакты, а рядом с ними находятся 4 группы контактов для питания и заземления.
Пример использования:
import pyb
s1 = pyb.Servo(1) # создаем объект «s1» на позиции X1
s2 = pyb.Servo(2) # создаем объект «s1» на позиции X2
s1.angle(45) # двигаем мотор 1 на 45-градусную позицию
s2.angle(0) # двигаем мотор 2 на 0-градусную позицию
# двигаем моторы 1 и 2 синхронно в течение 1500 миллисекунд:
s1.angle(-60, 1500)
s2.angle(30, 1500)
Примечание: Объекты Servo генерируют ШИМ при помощи таймера 5. Его можно использовать и для управления сервомоторами, и для других целей, но ни для того и другого одновременно. |
Конструкторы
Методы
- Servo.angle([angle, time=0])
- Servo.speed([speed, time=0])
- Servo.pulse_width([value])
- Servo.calibration([pulse_min, pulse_max, pulse_centre[, pulse_angle_90, pulse_speed_100)]]