car.forward(), car.left_turn(), car.stop(). Без своего
«протокола» и без программирования Arduino.
В уроке 3 мы залили крошечный «сырой» скетч, чтобы убедиться, что моторы крутятся. Больше писать программы для Arduino мы не будем. Ставим библиотеку FirmataExpress (Инструменты → Управление библиотеками), затем Файл → Примеры → FirmataExpress → FirmataExpress → выбрать плату «Arduino Uno» и порт → «Загрузить». Всё.
Связь и моторы спрятаны в файл robot.py. Там есть объект car, у
которого понятные команды — никаких «букв» и строк протокола:
from robot import connect car = connect() # найдёт плату с Firmata (USB) car.forward(180) # вперёд, скорость 0..255 car.left_turn() # поворот налево «танком» car.stop() # стоп
Машина поворачивает на месте: один борт колёс крутится вперёд, другой — назад. Это уже
зашито в объект — car.left_turn() сам крутит левый борт назад, а правый вперёд.
Внутри robot.py у машины два объекта-мотора: car.left и
car.right, и у каждого метод drive(speed) (от −255 до 255).
pip install pymata4, если ещё не стоит. Питание моторов (18650) — включено.
car.forward(180) и через секунду car.stop()
реально крутит колёса. Едет не туда? Это нормально — настроим на следующих уроках. Дальше —
режем провод.
Выбери ответ. Ошибёшься — 30 секунд на то, чтобы заглянуть в урок или в robot.py.
Какую готовую прошивку заливают в Arduino один раз, чтобы рулить им из Python?
Каким методом объекта car машина едет вперёд? (car.____)
car.forward(180). Ещё есть back, left_turn, right_turn, stop.