1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#define DIR_R 2
#define SPEED_R 3
#define DIR_L 4
#define SPEED_L 5
void setup()
{
pinMode (DIR_R, OUTPUT);
pinMode (SPEED_R, OUTPUT);
pinMode (DIR_L, OUTPUT);
pinMode (SPEED_L, OUTPUT);
}
void loop()
{
digitalWrite (DIR_R, HIGH);
digitalWrite (SPEED_R, HIGH);
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(2000); //останов 2 сек.
//далее левое колесо вращаем 1 сек., правое колесо остановлено
//после поворота направо робот сразу начинает движение вперед без паузы.
digitalWrite (DIR_R, HIGH);
digitalWrite (SPEED_R, HIGH);
digitalWrite (DIR_L, HIGH);
digitalWrite (SPEED_L, LOW);
delay(1000); // Вращаем 1 сек
//вращаем оба колеса 1 сек.
digitalWrite (DIR_R, HIGH);
digitalWrite (SPEED_R, HIGH);
digitalWrite (DIR_L, HIGH);
digitalWrite (SPEED_L, HIGH);
delay(1000); // Вращаем 1 сек
//вращаем правое колесо 1 сек., левое колесо остановлено
digitalWrite (DIR_R, HIGH);
digitalWrite (SPEED_R, LOW);
digitalWrite (DIR_L, HIGH);
digitalWrite (SPEED_L, HIGH);
delay(1000); // Вращаем 1 сек.
}
|