0% found this document useful (0 votes)
29 views16 pages

Dynamic Object Tracking Code Examples

The document contains various code snippets for dynamic object tracking using Arduino, including servo control, distance measurement with ultrasonic sensors, and LED indicators. It features multiple implementations for controlling motors based on distance readings and visual feedback through an LCD display. The code demonstrates how to handle different distances with corresponding actions, such as rotating a servo or activating LEDs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views16 pages

Dynamic Object Tracking Code Examples

The document contains various code snippets for dynamic object tracking using Arduino, including servo control, distance measurement with ultrasonic sensors, and LED indicators. It features multiple implementations for controlling motors based on distance readings and visual feedback through an LCD display. The code demonstrates how to handle different distances with corresponding actions, such as rotating a servo or activating LEDs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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:

You might also like