Интернет-магазин «Неглупый Дом»
L9110S — компактный двухканальный драйвер, заметно меньше L298N, для небольших маломощных DC-моторов или униполярных шаговых двигателей. Каждое нажатие кнопки меняет направление вращения мотора на противоположное.
L9110S содержит два независимых H-моста: HIGH на один управляющий вход и LOW на другой даёт вращение в одну сторону, наоборот — в обратную; одинаковые уровни на обоих входах останавливают мотор.
В отличие от L298N (мощнее, крупнее, с отдельным входом ШИМ), L9110S проще и компактнее, но рассчитан на меньший ток — для мини-моторчиков в хобби-проектах этого достаточно.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, я языковая
// модель, а не специализированный кодер, могу что-то упустить. Небольшой
// DC-мотор не входит в комплект — подключается к выходным клеммам.
const int IA = 2;
const int IB = 3;
const int BUTTON_PIN = 4;
bool forward = true;
bool lastButtonState = HIGH;
void setMotorDirection(bool goForward) {
digitalWrite(IA, goForward ? HIGH : LOW);
digitalWrite(IB, goForward ? LOW : HIGH);
}
void setup() {
Serial.begin(9600);
pinMode(IA, OUTPUT);
pinMode(IB, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
setMotorDirection(forward);
}
void loop() {
bool buttonState = digitalRead(BUTTON_PIN);
if (lastButtonState == HIGH && buttonState == LOW) {
forward = !forward;
setMotorDirection(forward);
delay(50);
}
lastButtonState = buttonState;
}
Дополнительных библиотек не требуется. Код реагирует на момент нажатия (переход HIGH→LOW), а не на удержание — направление меняется один раз за нажатие.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу: 137 ₽ 123 ₽ (экономия 14 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.