Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // подключите пины контроллера к цифровым пинам Arduino
- // первый двигатель
- int enA = 10;
- int in1 = 9;
- int in2 = 8;
- // второй двигатель
- int enB = 5;
- int in3 = 7;
- int in4 = 6;
- void setup()
- {
- // инициализируем все пины для управления двигателями как outputs
- pinMode(enA, OUTPUT);
- pinMode(enB, OUTPUT);
- pinMode(in1, OUTPUT);
- pinMode(in2, OUTPUT);
- pinMode(in3, OUTPUT);
- pinMode(in4, OUTPUT);
- }
- void demoOne()
- {
- // эта функция обеспечит вращение двигателей в двух направлениях на установленной скорости
- // запуск двигателя A
- digitalWrite(in1, HIGH);
- //
- digitalWrite(in2, LOW);
- //
- //// устанавливаем скорость 200 из доступного диапазона 0~255
- //
- analogWrite(enA, 200);
- // запуск двигателя B
- digitalWrite(in3, LOW);
- digitalWrite(in4, HIGH);
- //
- //// устанавливаем скорость 200 из доступного диапазона 0~255
- //
- analogWrite(enB, 200);
- //delay(5000);
- // меняем направление вращения двигателей
- //digitalWrite(in1, LOW);
- //
- //digitalWrite(in2, HIGH);
- //
- //digitalWrite(in3, LOW);
- //digitalWrite(in4, HIGH);
- //
- //delay(5000);
- // выключаем двигатели
- //digitalWrite(in1, LOW);
- //
- //digitalWrite(in2, LOW);
- //
- //digitalWrite(in3, LOW);
- //
- //digitalWrite(in4, LOW);
- }
- void demoTwo()
- {
- // эта функция обеспечивает работу двигателей во всем диапазоне возможных скоростей
- // обратите внимание, что максимальная скорость определяется самим двигателем и напряжением питания
- // ШИМ-значения генерируются функцией analogWrite()
- // и зависят от вашей платы управления
- // запускают двигатели
- //digitalWrite(in1, LOW);
- //
- //digitalWrite(in2, HIGH);
- digitalWrite(in3, LOW);
- digitalWrite(in4, HIGH);
- // ускорение от нуля до максимального значения
- for (int i = 0; i < 256; i++)
- {
- //analogWrite(enA, i);
- analogWrite(enB, i);
- delay(20);
- }
- // торможение от максимального значения к минимальному
- for (int i = 255; i >= 0; --i)
- {
- //analogWrite(enA, i);
- analogWrite(enB, i);
- delay(20);
- }
- // теперь отключаем моторы
- //
- //digitalWrite(in1, LOW);
- //
- //digitalWrite(in2, LOW);
- digitalWrite(in3, LOW);
- digitalWrite(in4, LOW);
- }
- void loop()
- {
- demoOne();
- //
- //delay(1000);
- //
- //demoTwo();
- //
- //delay(1000);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement