1int mr1=8;
2int mr2=9;
3int ml1=10;
4int ml2=11;
5int sr=6;
6int sl=7;
7int svr=0;
8int svl=0;
9int led=13;
10int enr=3;
11int enl=5;
12
13int vspeed=100;
14int tspeed=255;
15int tdelay=20;
16
17void setup()
18{
19 pinMode(mr1,OUTPUT);
20 pinMode(mr2,OUTPUT);
21 pinMode(ml1,OUTPUT);
22 pinMode(ml2,OUTPUT);
23 pinMode(led,OUTPUT);
24 pinMode(sr,INPUT);
25 pinMode(sl,INPUT);
26
27 delay(5000);
28}
29
30void loop()
31{
32 svr=digitalRead(sr);
33 svl=digitalRead(sl);
34
35 if(svl==LOW && svr==LOW)
36 {
37 forward();
38 }
39
40 if(svl==HIGH && svr==LOW)
41 {
42 left();
43 }
44
45 if(svl==LOW && svr==HIGH)
46 {
47 right();
48 }
49
50 if(svl==HIGH && svr==HIGH)
51 {
52 stop();
53 }
54}
55
56void forward()
57 {
58 digitalWrite(mr1,HIGH);
59 digitalWrite(mr2,LOW);
60 digitalWrite(ml1,HIGH);
61 digitalWrite(ml2,LOW);
62 analogWrite (enr,vspeed);
63 analogWrite (enl,vspeed);
64 }
65
66void backward()
67 {
68 digitalWrite(mr1,LOW);
69 digitalWrite(mr2,HIGH);
70 digitalWrite(ml1,LOW);
71 digitalWrite(ml2,HIGH);
72 analogWrite (enr,vspeed);
73 analogWrite (enl,vspeed);
74 }
75
76void right()
77 {
78 digitalWrite(mr1,LOW);
79 digitalWrite(mr2,HIGH);
80 digitalWrite(ml1,HIGH);
81 digitalWrite(ml2,LOW);
82 analogWrite (enr,tspeed);
83 analogWrite (enl,tspeed);
84 delay(tdelay);
85 }
86
87void left()
88 {
89 digitalWrite(mr1,HIGH);
90 digitalWrite(mr2,LOW);
91 digitalWrite(ml1,LOW);
92 digitalWrite(ml2,HIGH);
93 analogWrite (enr,tspeed);
94 analogWrite (enl,tspeed);
95 delay(tdelay);
96}
97
98void stop()
99 {
100 analogWrite (enr,0);
101 analogWrite (enl,0);
102 }