Проект 8: Робот который ездит по квадрату
В этом проекте используется модуль L298N и библиотека AlashMotorControlLite для управления роботизированной платформой на базе Arduino. Робот настроен для движения по квадрату с последовательностью движений: вперед, поворот направо, пауза, и повторение цикла.
Для достижения этого, робот подключается к модулю L298N, который управляет двумя моторами. Код программы, написанный на Arduino, задает скорости и направления для моторов, используя библиотеку AlashMotorControlLite. Библиотека упрощает управление моторами, позволяя легко настроить робота для выполнения различных движений.
Проект включает установку библиотек, подключение компонентов и написание кода для управления движением робота.

В этом руководстве мы рассмотрим процесс программирования робота на базе Arduino с использованием модуля L298N для управления моторами. Мы научимся программировать робота так, чтобы он двигался по квадрату, используя библиотеку AlashMotorControlLite для упрощения управления моторами.
Установка библиотеки AlashMotorControlLite
Чтобы подключить библиотеку для Arduino, выполните следующие шаги:
Скачайте обе библиотеки с официального сайта или из репозитория GitHub:
Откройте программу Arduino IDE и перейдите в меню «Скетч» → «Подключить библиотеку» → «Добавить .ZIP библиотеку…».
В открывшемся окне выберите скачанный .zip файл и нажмите «Открыть».
Внизу Arduino IDE появится сообщение “Библиотека добавлена. Проверьте меню “Подключить библиотеку””.
Теперь библиотека будет доступна для использования в ваших проектах.
Пример кода для движения робота по квадрату
/*
* Этот код демонстрирует движение робота по квадрату с использованием библиотеки AlashMotorControlLite.
* Код написан для Alash engineering.
*/
#include <AlashMotorControlLite.h>
// Создаем объект motorLeft с режимом DIR_DIR_PWM и пинами inA = 9, inB = 8, PWM = 10
AlashMotorControlLite motorLeft(DIR_DIR_PWM, 9, 8, 10);
// Создаем объект motorRight с режимом DIR_DIR_PWM и пинами inA = 7, inB = 6, PWM = 5
AlashMotorControlLite motorRight(DIR_DIR_PWM, 7, 6, 5);
void setup() {
// В данной функции нет инициализации, оставлено пустым
}
void loop() {
for (int i = 0; i < 4; i++) {
// Движение вперед
motorLeft.setSpeed(100); // Установка скорости вращения вперед для левого мотора
motorRight.setSpeed(100); // Установка скорости вращения вперед для правого мотора
delay(1000); // Движение вперед в течение 1 секунды
// Поворот направо
motorLeft.setSpeed(100); // Левый мотор вращается вперед
motorRight.setSpeed(-100);// Правый мотор вращается назад
delay(750); // Поворот в течение 0.75 секунд для поворота на 90 градусов
// Пауза для стабилизации
motorLeft.setSpeed(0);
motorRight.setSpeed(0);
delay(500); // Пауза в течение 0.5 секунды
}
}
Результат
После подключения и включения питания робот будет двигаться по квадрату, следуя следующей последовательности:
Движение вперед в течение 1 секунд.
Поворот направо на 90 градусов в течение 0.75 секунд.
Пауза для стабилизации в течение 0.5 секунд.
Этот цикл будет повторяться четыре раза, чтобы робот прошел весь квадрат.
Используя библиотеку AlashMotorControlLite, управление моторами упрощается, что позволяет сосредоточиться на логике движения робота. Вы можете настроить задержки для точного поворота робота в зависимости от его конструкции и мощности моторов.