Плавный разгон
ШИМ на ENA задаёт скорость: обороты под мотором растут и падают вместе с ним.

Что понадобится
Как подключить
| Откуда | Куда | |||
|---|---|---|---|---|
| Arduino Uno | D8 | → | Драйвер L298N | IN1 |
| Arduino Uno | D7 | → | Драйвер L298N | IN2 |
| Arduino Uno | D9 | → | Драйвер L298N | ENA |
| Arduino Uno | GND | → | Драйвер L298N | GND |
| Источник питания | + | → | Драйвер L298N | VS |
| Источник питания | - | → | Драйвер L298N | GND |
| Драйвер L298N | OUT1 | → | Мотор постоянного тока | M1 |
| Драйвер L298N | OUT2 | → | Мотор постоянного тока | M2 |
Скетч
// Плавный разгон и торможение одним каналом.
const int IN1 = 8, IN2 = 7, ENA = 9;
void setup() {
pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(ENA, OUTPUT);
digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
}
void loop() {
for (int v = 100; v <= 255; v += 5) { analogWrite(ENA, v); delay(80); }
for (int v = 255; v >= 100; v -= 5) { analogWrite(ENA, v); delay(80); }
}
Как это работает
Как это работаетENA — это «газ». analogWrite выдаёт ШИМ, драйвер повторяет его на выходе, и на обмотке получается среднее напряжение: 255 — полное, 128 — половина.
Направление при этом задают всё те же IN1 и IN2 и от скорости не зависят.
Что покрутить• начните разгон не со 100, а с 0 — увидите, что до какого-то значения мотор просто гудит и не едет: не хватает момента;
• уменьшите питание до 6 В — та же программа будет крутить заметно медленнее;
• поменяйте IN1/IN2 местами — разгон пойдёт в другую сторону.
Коротко о детали: Драйвер L298N
Классический двухканальный H-мост на L298N: два мотора, направление задают IN1…IN4, скорость — ШИМ на ENA и ENB. Мостовая микросхема теряет около 1,8 В, поэтому мотору достаётся меньше, чем на клемме питания.
Ещё примеры с деталью «Драйвер L298N»
Попробуйте сами
Симулятор работает прямо в браузере: схему можно менять, код — править, а результат видно сразу. Бесплатно, без установки и регистрации.
Открыть «Плавный разгон» в симуляторе