Firmata уже залита (урок 7), поэтому код Arduino мы не трогаем. В Python библиотека
pymata управляет ножками, но мы спрятали её за понятным объектом arm:
у него есть суставы arm.base, arm.shoulder, arm.elbow,
arm.grip — и у каждого свойство .angle.
Поставь библиотеку (один раз): pip install pymata4. Затем запусти
control_one.py — стрелки крутят базу:
from arm import connect arm = connect() # найдёт Arduino с Firmata # ... в игровом цикле, по нажатию стрелок ... arm.base.angle += 2 # повернуть базу на 2° правее
Пределы углов сустав хранит сам (в arm.py), поэтому за безопасный диапазон
не выйти — max/min писать не нужно. Один объект — одна понятная команда.
/dev/ttyUSB0 (чип CH340; на старых системах нужен его
драйвер). Если Python пишет «нет доступа к порту» — добавь себя в группу:
sudo usermod -aG dialout $USER, потом перезайди в систему. pymata4
сам найдёт плату — порт прописывать обычно не нужно.
arm.py работает и в «режиме показа»: без Arduino программа просто не двигает
серво и не падает. Можно писать и проверять код заранее.
Выбери ответ. Ошибёшься — 30 секунд на то, чтобы заглянуть в урок или код.
Какой Python-библиотекой мы управляем ножками Arduino?
Через какое свойство объекта-сустава задаётся угол? (arm.base.____)
arm.base.angle = 120. Пределы объект хранит сам.