в корзину
Корзина покупокMotor Shield L293D (шилд для управления моторами)
Модуль управления приводами на два серво, два шаговых или четыре коллекторных (щеточных) двигателя (ДПТ); возможно одновременное управление разными двигателями в пределах функционала модуля.
Характеристики:
Напряжение на канале для серво: 5В
Основные управляющие элементы: 2 микросхемы L293D и сдвиговый регистр 74HC595
Все 6 аналоговых входов задействованы. Они же могут быть использованы как цифровые порты (с 14 по 19)
Пины 2 и 13 не задействованы.
Пины занятые, только при использовании двигателей (DC или шагового):
Digital pin 11: DC мотор #1 / шаговый #1
Digital pin 3: DC мотор #2 / шаговый #1
Digital pin 5: DC мотор #3 / шаговый #2
Digital pin 6: DC мотор #4 / шаговый #2
Эти контакты заняты при использовании любого из шаговых двигателей:
Digital pin 4, 7, 8 и 12 для управления DC/Шаговыми моторами с помощью сдвигового регистра 74HC595.
Пины занятые при использовании серво:
Digitals pin 9: серво #1
Digital pin 10: серво #2
Хотите подключить мотор к своей Arduino? Это не совсем тривиально: выводы микроконтроллера являются слаботочными, поэтому ток мотора, при подключении его напрямую, выведет их из строя. Эту проблему решает так называемый H-мост. Он позволяет управлять скоростью и направлением вращения мотора с помощью логических сигналов микроконтроллера.
На сегодняшний день, самым популярным H-мостом, является микросхема L293D. Motor Shield — плата расширения для Arduino на базе чипа L293D, позволяющая управлять моторами с напряжением 7–24 В.
Для начала работы с шилдом необходимо скачать библиотеку AFMotor.h, закинуть в папку с библиотеками и открыть среду.
Втыкаем шилд в плату, подключаем моторы и поехали!
Разберем подключение моторов постоянного тока
Пример программного кода
#include <AFMotor.h> // Подключаем библиотеку для работы с шилдом
#include <Servo.h> // Подключаем библиотеку для работы с сервоприводами, можно не подключать
// Подключаем моторы к клеммникам M1, M2, M3, M4
AF_DCMotor motor1(1);
AF_DCMotor motor2(2);
AF_DCMotor motor3(3);
AF_DCMotor motor4(4);
void setup() {
// Задаем максимальную скорость вращения моторов (аналог работы PWM)
motor1.setSpeed(255);
motor1.run(RELEASE);
motor2.setSpeed(255);
motor2.run(RELEASE);
motor3.setSpeed(255);
motor3.run(RELEASE);
motor4.setSpeed(255);
motor4.run(RELEASE);
}
int i;
void loop() {
// Двигаемся условно вперед одну секунду
motor1.run(FORWARD); // Задаем движение вперед
motor2.run(FORWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
motor1.setSpeed(255); // Задаем скорость движения
motor2.setSpeed(255);
motor3.setSpeed(255);
motor4.setSpeed(255);
delay(1000);
// Останавливаем двигатели
/* Очень не рекомендуем резко переключать направление вращения двигателей.
Лучше дать небольшой промежуток времени.*/
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
delay(500);
// Двигаемся в обратном направлении
motor1.run(BACKWARD); // Задаем движение назад
motor2.run(BACKWARD);
motor3.run(BACKWARD);
motor4.run(BACKWARD);
motor1.setSpeed(255); // Задаем скорость движения
motor2.setSpeed(255);
motor3.setSpeed(255);
motor4.setSpeed(255);
delay(1000);
// Останавливаем двигатели
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
delay(500);
// Разгоняем двигатели в одном направлении
motor1.run(FORWARD);
motor2.run(FORWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
Написать отзыв
Ваше имя:Ваш отзыв: Примечание: HTML разметка не поддерживается! Используйте обычный текст.
Оценка: Плохо Хорошо
Введите код, указанный на картинке: