5.5.2. Приклад 2: Налаштування світла броні робота

Процес налаштування світла броні робота через SDK виглядає наступним чином.

• Спочатку ініціалізуйте об’єкт робота, як описано в розділі Ініціалізація робота. Вам також потрібно імпортувати led модуль, оскільки для визначення світлового ефекту будуть використовуватися деякі визначення світла броні в цьому модулі:

from robomaster import led

• Спочатку потрібно отримати led об’єкт, оскільки інтерфейс налаштування світла броні робота належить до led модуля, що міститься в об’єкті Robot. Отримайте об’єкт led, як описано в розділі Отримання об’єктів модуля. У цьому прикладі метод 1 використовується для отримання об’єктів модуля:

ep_led = ep_robot.led

• Використовуйте метод set_led () у об’єкті led, щоб налаштувати ефект броньованого світла робота. Під час використання методу led використовуйте параметр comp, щоб вибрати світло броні, яким ви хочете керувати, параметри r, g і b, щоб вказати колір світла, а параметр effect, щоб вказати світловий ефект світлодіодного світла. У цьому прикладі всі вогні броні вибираються для керування за допомогою comp, r, g і b встановлюються для визначення кольору червоного, а суцільне увімкнене вибрано як ефект освітлення за effect:

ep_led.set_led(comp=led.COMP_ALL, r=255, g=0, b=0, effect=led.EFFECT_ON)

• Звільніть відповідні ресурси, як описано в розділі Звільнення ресурсів роботів.

Для повного процесу налаштування світла броні зверніться до прикладу /examples/01_robot/09_set_mode.py. У цьому процесі цикл використовується для здійснення 8 змін кольору світлодіодного підсвічування, кожне з яких триває 1 секунду.

import time
from robomaster import robot
from robomaster import led


if __name__ == '__main__':
    ep_robot = robot.Robot()
    ep_robot.initialize(conn_type="sta")

    ep_led = ep_robot.led

    # 设置灯效为常亮,亮度递增
    bright = 1
    for i in range(0, 8):
        ep_led.set_led(comp=led.COMP_ALL, r=bright << i, g=bright << i, b=bright << i, effect=led.EFFECT_ON)
        time.sleep(1)
        print("brightness: {0}".format(bright << i))

    ep_robot.close()