По коду, которым вы поделились, я предполагаю, что вы используете маломощный 5В двигатель постоянного тока ... но вы должны отредактировать свой ответ, чтобы сообщить нам, какое оборудование вы используете. Это не ответ, а идея того, что вы должны искать ... В основном на двигателе, я полагаю, у вас есть контакт 1 и контакт 2. Контакт 1 подключен к сигналу ШИМ, а контакт 2 подключен к заземлению. ,Эта конфигурация позволяет вам управлять двигателем по часовой стрелке. Чтобы запустить двигатель против часовой стрелки, необходимо инвертировать направление тока, в основном, контакт 1 подключен к земле, а контакт 2 подключен к сигналу ШИМ.
Теперь есть несколько способов сделать это, яВы не уверены в точном коде для этого на Arduino, но ваши контакты 1 и 2 будут подключены каждый к контакту ШИМ. В коде вам нужно будет указать arduino, чтобы вывод Pin 1 или 2 был выводом pullDown, который в основном имитирует землю, сообщая направление, в котором другой вывод выведет PWM
, это не пример кода, но он будетдать вам представление о том, как это должно выглядеть
void loop(){
//move clock'wise
pin1.pullup();
pin2.pulldown();
analogWrite(pin1, 180);
//move counterclock'wise
pin2.pullup();
pin1.pulldown();
analogWrite(pin2, 180);
}