📊 Телеметрия
get_motors_rpm.py
Обороты двигателей
get_telemetry/get_motors_rpm.pyПечатает обороты четырёх двигателей.
Вызывает get_motors_rpm() и выводит список из четырёх значений RPM. В README отмечено, что для появления ненулевых оборотов моторы нужно запустить командой arm(); в текущей версии файла моторы не запускаются.
Как работает
- Создать
Pioneer(). - В цикле получить
get_motors_rpm(). - Вывести обороты
motor_1..motor_4. - Пауза 0.5 секунды, закрыть соединение.
Используемые методы SDK
Ключевые параметры
| Параметр | Значение | Описание |
|---|---|---|
sleep | 0.5 с | Период опроса. |
Запуск
cd get_telemetry
python3 get_motors_rpm.pyРезультат
- Строки
motor_1=…, motor_2=…, motor_3=…, motor_4=….
Безопасность
- Не запускайте моторы без закреплённого дрона и свободной зоны вокруг винтов.
Полный исходный код
Показать get_motors_rpm.py
from pioneer_sdk2 import Pioneer # импортируем класс Pioneer из библиотеки pioneer_sdk2
import time # библиотека time содержит функции для работы со временем
drone = Pioneer() # создаем экземпляр класса Pioneer, устанавливаем соединение
try: # основной код находится внутри блока try
while True: # запускаем бесконечный цикл
motors_rpm = drone.get_motors_rpm() # получаем обороты двигателей
print(
f"motor_1={motors_rpm[0]},", # обороты первого двигателя
f"motor_2={motors_rpm[1]},", # обороты второго двигателя
f"motor_3={motors_rpm[2]},", # обороты третьего двигателя
f"motor_4={motors_rpm[3]}" # обороты четвертого двигателя
)
time.sleep(0.5) # ставим паузу на 0.5 секунды
finally: # блок finally выполнится при завершении программы
drone.close_connection() # закрываем соединение