#define DIR_R 2 // управлять направлением вращения правого мотора будем с контакта 2 #define SPEED_R 3 // управлять разрешением вращения и скоростью вращения правого //мотора будем с контакта 3 #define DIR_L 4 //управлять направлением вращения левого мотора будем с контакта 4 #define SPEED_L 5 // управлять разрешением вращения и скоростью вращения левого //мотора будем с контакта 5 //В этой части кода больше не будем задавать ни каких параметров // приступаем ко второй части программы. Мы знаем, что в этой части кода команды //исполняются только один раз void setup() { pinMode (DIR_R, OUTPUT); // Драйвер управляется выходными сигналами с Ардуино. //Поэтому мы определяем все контакты , как OUTPUT pinMode (SPEED_R, OUTPUT); pinMode (DIR_L, OUTPUT); pinMode (SPEED_L, OUTPUT); } // И в третьей части кода мы уже пишем алгоритм работы. Т.е. то, что наш робот должен //выполнять void loop() { digitalWrite (DIR_R, HIGH); // Команда digitalWrite устанавливает на контакте 2 высокий //уровень. Для драйвера моторов это означает то, что мотор будет вращаться вперед digitalWrite (SPEED_R, HIGH); // высокий уровень на контакте 3 разрешает драйверу //вращать электромотор digitalWrite (DIR_L, HIGH); digitalWrite (SPEED_L, HIGH); delay(1000); // Вращаем 1 сек digitalWrite (DIR_R, HIGH); digitalWrite (SPEED_R, LOW); // Низкий уровень запрещает вращение моторов digitalWrite (DIR_L, HIGH); digitalWrite (SPEED_L, LOW); delay(1000); digitalWrite (DIR_R, LOW); // Включаем низкий уровень и мотор должен вращаться в //обратную сторону digitalWrite (SPEED_R, HIGH); //Разрешаем вращение мотора digitalWrite (DIR_L, LOW); digitalWrite (SPEED_L, HIGH); delay(1000); digitalWrite (DIR_R, LOW); digitalWrite (SPEED_R, LOW); // Вращение запрещено digitalWrite (DIR_L, LOW); digitalWrite (SPEED_L, LOW); delay(1000); }