-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathobject_avoiding_car.ino
More file actions
75 lines (66 loc) · 1.3 KB
/
object_avoiding_car.ino
File metadata and controls
75 lines (66 loc) · 1.3 KB
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
int trig1=47;
int echo1=46;
int speedd=140;
int distance;
void setup() {
// put your setup code here, to run once:
pinMode(trig1,OUTPUT);
pinMode(echo1,INPUT);
Serial.begin(9600);
pinMode(22,OUTPUT);
pinMode(23,OUTPUT);
pinMode(2,OUTPUT);
pinMode(44,OUTPUT);
pinMode(45,OUTPUT);
pinMode(3,OUTPUT);
}
void loop() {
distance=ultrasensor();
Serial.println(distance);
delay(5);
if (distance>24){
motor_right_Fwd();
motor_left_Fwd();
}
else {
motor_left_Fwd();
motor_right_Bwd();
}
}
int stop_motor(){
digitalWrite(22,LOW);
digitalWrite(23,LOW);
digitalWrite(44,LOW);
digitalWrite(45,LOW);
analogWrite(2,0);
analogWrite(3,0);
}
int motor_left_Bwd(){
digitalWrite(22,HIGH);
digitalWrite(23,LOW);
analogWrite(2,speedd);
}
int motor_right_Bwd(){
digitalWrite(44,HIGH);
digitalWrite(45,LOW);
analogWrite(3,speedd);
}
int motor_left_Fwd(){
digitalWrite(23,HIGH);
digitalWrite(22,LOW);
analogWrite(2,speedd);
}
int motor_right_Fwd(){
digitalWrite(45,HIGH);
digitalWrite(44,LOW);
analogWrite(3,speedd);
}
int ultrasensor(){
digitalWrite(trig1,LOW);
delayMicroseconds(2);
digitalWrite(trig1,HIGH);
delayMicroseconds(10);
int t = pulseIn(echo1,HIGH);
long distance = (t/29)/2;
return distance;
}