1.
Dynamic Object
Tracking
CODE:
#include <Servo.h>
for (int angle = 180; angle >= 0;
const int trigPin = 9; angle--) {
const int echoPin = 10; [Link](angle);
const int ledPin = 13; delay(30);
Servo servo; long distance = getDistance();
void setup() { if (distance > 0 && distance <=
pinMode(trigPin, OUTPUT); 30) {
pinMode(echoPin, INPUT); digitalWrite(ledPin, HIGH);
pinMode(ledPin, OUTPUT); delay(5000);
[Link](6); } else {
} digitalWrite(ledPin, LOW);
}
void loop() { }
for (int angle = 0; angle <= 180; }
angle++) {
[Link](angle); long getDistance() {
delay(30); digitalWrite(trigPin, LOW);
long distance = getDistance(); delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
if (distance > 0 && distance <= delayMicroseconds(10);
30) { digitalWrite(trigPin, LOW);
digitalWrite(ledPin, HIGH);
delay(5000); long duration = pulseIn(echoPin,
} else { HIGH);
digitalWrite(ledPin, LOW); return (duration * 0.034) / 2;
} }
}
IMAGE:
2. S
i
CODE:
g <Servo.h>
#include
n
const int ledPin = 9; // PWM pin
a servo;
Servo
l setup() {
void
pinMode(ledPin, OUTPUT);
R
[Link](6);
}e
l loop() {
void
for (int angle = 0; angle <= 180;
a
angle += 10) {
[Link](angle);
int brightness = map(angle, 0,
180, 0, 255);
analogWrite(ledPin, brightness);
delay(500);
}
IMAGE:
for (int angle = 180; angle >= 0;
angle -= 10) {
[Link](angle);
int brightness = map(angle, 0,
180, 0, 255);
analogWrite(ledPin, brightness);
delay(500);
}
}
hdigitalWrite(ledPin,
delay(500);
LOW);
}oelse if (distance <= 20) {
digitalWrite(ledPin, HIGH);
ldelay(100);
ddigitalWrite(ledPin,
delay(100);
LOW);
}A
}
d
long getDistance() {
j
digitalWrite(trigPin, LOW);
u
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
s
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
t
e duration = pulseIn(echoPin,
long
HIGH);
r (duration * 0.034) / 2;
return
}
CODE:
const int trigPin = 9;
const int echoPin = 10;
const int ledPin = 13;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
long distance = getDistance();
if (distance > 50) {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
} else if (distance > 20 &&
distance <= 50) {
digitalWrite(ledPin, HIGH);
delay(500);
IMAGE:
4. M
o
v
i
n
g
A
v
e
r
a
g
e
CODE:
#include <LiquidCrystal.h>
D
const int trigPin = 9;
const int echoPin = 10; delayMicroseconds(2);
LiquidCrystal lcd(12, 11, 5, 4, 3, digitalWrite(trigPin, HIGH);
2); delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long distances[5] = {0, 0, 0, 0, 0};
int index = 0; long duration = pulseIn(echoPin,
HIGH);
void setup() { return (duration * 0.034) / 2;
[Link](16, 2); }
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT); long calculateAverage() {
} long sum = 0;
for (int i = 0; i < 5; i++) {
void loop() { sum += distances[i];
long currentDistance = }
getDistance(); return sum / 5;
distances[index] = }
currentDistance;
index = (index + 1) % 5;
long average =
calculateAverage();
[Link](0, 0);
[Link]("Avg Distance:");
[Link](average);
[Link](" cm");
[Link](0, 1);
if (abs(distances[(index + 4) % 5]
- average) > 5) {
[Link]("Unsteady");
} else {
[Link]("Steady ");
}
delay(1000);
}
long getDistance() {
digitalWrite(trigPin, LOW);
IMAGE:
5.}[Link](6);
P
r
void loop() {
o (int angle = 0; angle <= 180;
for
angle++) {
[Link](angle);
idelay(30);
mlong distance = getDistance();
iif (distance > 0 && distance <=
20) {
t digitalWrite(ledPin, HIGH);
} else {
ydigitalWrite(ledPin, LOW);
}
}
A
l
for (int angle = 180; angle >= 0;
e {
angle--)
[Link](angle);
delay(30);
t
long distance = getDistance();
Sif (distance > 0 && distance <=
20) {
ydigitalWrite(ledPin, HIGH);
s} else {
digitalWrite(ledPin, LOW);
t}
e
m
CODE:
#include <Servo.h> }
}
const int trigPin = 9;
const int echoPin = 10; long getDistance() {
const int ledPin = 13; digitalWrite(trigPin, LOW);
Servo servo; delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
void setup() { delayMicroseconds(10);
pinMode(trigPin, OUTPUT); digitalWrite(trigPin, LOW);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
long duration = pulseIn(echoPin,
HIGH);
return (duration * 0.034) / 2; IMAGE:
}
6
long getDistance() {
o
digitalWrite(trigPin, LOW);
l
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
CODE: delayMicroseconds(10);
const int trigPin = 9; digitalWrite(trigPin, LOW);
const int echoPin = 10;
const int motorPin1 = 5; // DC long duration = pulseIn(echoPin,
Motor control pin 1 HIGH);
const int motorPin2 = 6; // DC return (duration * 0.034) / 2;
Motor control pin 2
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
[Link](9600);
}
void loop() {
long distance = getDistance();
[Link]("Distance: ");
[Link](distance);
[Link](" cm");
if (distance > 0 && distance <=
30) {
// Rotate clockwise
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
[Link]("Motor:
Clockwise");
} else {
// Rotate counterclockwise
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
[Link]("Motor:
Counterclockwise");
}
delay(500);
}
IMAGE:
7. C
o
l
o
r
I
n
d
i
c
a
t
o
CODE:
#include <Servo.h>
r
const int redLED = 11;
const int yellowLED = 10;
const int greenLED = 9;
Servo servo;
void setup() {
pinMode(redLED, OUTPUT);
pinMode(yellowLED, OUTPUT);
pinMode(greenLED, OUTPUT);
[Link](6);
}
void loop() {
[Link](0);
digitalWrite(redLED, HIGH);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, LOW); 8
delay(1000);
[Link](90);
digitalWrite(redLED, LOW);
digitalWrite(yellowLED, HIGH);
digitalWrite(greenLED, LOW);
delay(1000);
[Link](180);
digitalWrite(redLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, HIGH);
delay(1000);
}
IMAGE:
CODE: [Link](" deg");
#include <Servo.h> [Link](0, 1);
#include <LiquidCrystal.h> [Link]("Distance: ");
[Link](distance);
const int trigPin = 9; [Link](" cm");
const int echoPin = 10; } else {
LiquidCrystal lcd(12, 11, 5, 4, 3, [Link](0, 0);
2); [Link]("Clear Area");
Servo servo; }
delay(500);
void setup() { }
pinMode(trigPin, OUTPUT); }
pinMode(echoPin, INPUT);
[Link](16, 2); long getDistance() {
[Link](6); digitalWrite(trigPin, LOW);
} delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
void loop() { delayMicroseconds(10);
for (int angle = 0; angle <= 180; digitalWrite(trigPin, LOW);
angle++) {
[Link](angle); long duration = pulseIn(echoPin,
delay(100); HIGH);
return (duration * 0.034) / 2;
long distance = getDistance(); }
IMAGES:
[Link]();
if (distance > 0 && distance <=
400) {
9
[Link](0, 0);
[Link]("Angle: ");
[Link](angle);
void setup() {
t
pinMode(trigPin, OUTPUT);
a
pinMode(echoPin, INPUT);
c
pinMode(ledPin, OUTPUT);
l
[Link](16, 2);
}
e
H
e loop() {
void
i
g
h
t
E
s
t
i
m
a
t
o distance = getDistance();
long
r
[Link]();
CODE:
#include <LiquidCrystal.h> if (distance > 30) {
[Link]("Short Obstacle");
const int trigPin = 9; blinkLED(3, 1000);
const int echoPin = 10; } else if (distance >= 10 &&
distance <= 30) {
const int ledPin = 13;
[Link]("Medium Obstacle");
LiquidCrystal lcd(12, 11, 5, 4, 3,
2); blinkLED(3, 500);
} else {
[Link]("Tall Obstacle"); delayMicroseconds(10);
blinkLED(3, 200); digitalWrite(trigPin, LOW);
}
long duration = pulseIn(echoPin,
HIGH);
delay(1000);
return (duration * 0.034) / 2;
}
}
IMAGE:
void blinkLED(int times, int
delayTime) {
for (int i = 0; i < times; i++) {
digitalWrite(ledPin, HIGH);
delay(delayTime / 2);
digitalWrite(ledPin, LOW);
delay(delayTime / 2);
}
}
long getDistance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
long distance = getDistance();
[Link] Collection if (distance > 0 && distance <=
15) {
System digitalWrite(dcMotorPin,
HIGH);
delay(3000); // Simulate object
CODE:
collection
#include <Servo.h> digitalWrite(dcMotorPin,
LOW);
break;
const int trigPin = 9; }
const int echoPin = 10; }
const int dcMotorPin = 5; // Motor
control pin delay(1000);
Servo servo; }
void setup() { long getDistance() {
pinMode(trigPin, OUTPUT); digitalWrite(trigPin, LOW);
pinMode(echoPin, INPUT); delayMicroseconds(2);
pinMode(dcMotorPin, OUTPUT); digitalWrite(trigPin, HIGH);
[Link](6); delayMicroseconds(10);
} digitalWrite(trigPin, LOW);
void loop() { long duration = pulseIn(echoPin,
for (int angle = 0; angle <= 180; HIGH);
angle++) { return (duration * 0.034) / 2;
[Link](angle); }
delay(100);
IMAGE: