Cheetah Fox 1
Cheetah Fox 1
Cheetah Fox 1
REPORT
TEAM 4
Da Nang, 2024
DESIGN ROBOT MEASURED IN THE MAZE
TABLE OF CONTENTS
TEAM MEMBERS
- Phan Đăng Khôi Vỹ (Leader): Coder 1, develop, comment, and build robots
- Nguyễn Phạm Lan Phương : Coder 2, comment, and evaluate problems
- Huỳnh Khải Văn : Develop, comment, and build robots
- Dương Thị Bích Ngọc : Write reports, summaries, and evaluate problems
- Nguyễn Hữu Duy Nguyên : Write reports, comment and build robots
PART I: OVERVIEW MOBILE ROBOT
1.1. Overview of the robot
The maze sensor robot is a type of robot designed to automatically move and find its way in a maze.
This robot is equipped with sensors to detect and locate barriers in the maze, thereby determining the
optimal path to escape the maze. This helps the robot self-shape and adapt to its surrounding
Sensors: Robots are often equipped with sensors such as infrared sensors, ultrasonic sensors,
or contact sensors to detect changes in the environment. Sensors help the robot recognize
Control algorithm: The robot uses a control algorithm to decide the direction of movement
based on data from sensors. These algorithms are often designed to optimize the search for
Automatic control: Path-finding sensor robots often have automatic control capabilities,
meaning they can adjust their speed and direction of movement without human intervention.
Application: This type of robot is often used in many fields such as education, scientific
research, and entertainment. They can be used to simulate or simulate real-life situations and
The V3 geared DC motor has good quality along with its ease of assembly, bringing cost
savings and convenience to users.
Specifications:
Operating voltage: 3-6 VDC
Current consumption: 60mA Transmission ratio: 1:120
Number of rpm: 100 rpm at 6V.
Moment: 4500mg. cm
2.1.2. Module L298N
Structure Describe
The inlet pins control the direction of rotation of
IN1 & IN2
motor A
The inlet pins control the direction of rotation of
IN3 & IN4
Motor B
ENA Activate PWM signal for Motor A
VIB Activate PWM signal for Motor B
OUT1 & OUT2 Output pins for motor A
OUT3 & OUT4 Output pins for motor B
12V Power input 12
5V Power up the logic circuit inside IC L298N
GND Ground pin
Specifications:
Voltage: 5V DC
Operating current: < 2mA
High level: 5V
Low level: 0V
Maximum angle: Not more than 15 degrees
Distance: 2cm-450 cm (4.5m)
Accuracy: 3mm
Output signal: High pulse level 5V, low-level 0V
Connection mode: VCC / Trig (T-Trigger) / Echo (R-Receive) / GND
Principle of operation :
To measure distance, we will emit a very short pulse (5 microseconds - ú) from the Trig pin. Then,
the sensor will generate a HIGH pulse at the Echo pin until it receives a reflected wave from this pin.
The width of the pulse will be equal to the time it takes for the ultrasonic wave to be emitted from the
sensor and return.
The speed of sound in air is 340 m/s (physical constant). Once we have calculated the time, we will
divide it by 2 then multiply by the mentioned speed to get the distance.
We will be following these steps to measure the distance:
- Initially, we will set the TRIG pin to High (5V) for 5 microseconds.
- After that, the ultrasonic module will send out sound waves of 40Khz frequency and record the
time.
- The sound waves will travel down to the surface of the liquid in the tank and reflect.
- The ultrasonic module will receive the reflected wave and timestamp the received time.
- Finally, the ultrasonic module will put the ECHO pin high in the time (microseconds) to respond to
the sound wave and calculate the distance.
To connect the 3 sensors, we will plug their GND pins together into the negative terminal on the
breadboard. Then, from the breadboard's negative terminal, we will add a common wire to connect to
the GND pin of the Arduino Uno. The VCC pins of the three sensors will be attached to the anode on
the breadboard. Then, from the breadboard's anode, we will add a common wire to connect to the 5V
pin of the Arduino Uno. To handle the trig and echo, we need to plug in the declaration.
analogWrite(enB, speed);
analogWrite(enA, speed + 9);
delay(250);
}
analogWrite(enB, speed);
analogWrite(enA, speed + 9);
delay(350);
}
void turnLeft(int speed = 120) {
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
void stopMotors() {
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
}
digitalWrite(trigPin,0);
delayMicroseconds(2);
digitalWrite(trigPin,1);
delayMicroseconds(5);
digitalWrite(trigPin,0);
duration = pulseIn(echoPin,HIGH);
distance = int(duration*0.0343/2);
return distance;
}
void setup() {
Serial.begin(9600);
// Khai báo chân làm OUTPUT hoặc INPUT
pinMode(trig0, OUTPUT);
pinMode(echo0, INPUT);
pinMode(trig1, OUTPUT);
pinMode(echo1, INPUT);
pinMode(trig2, OUTPUT);
pinMode(echo2, INPUT);
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
}
void loop() {
// Đo khoảng cách từ cảm biến
left = getDistance(trig0, echo0);
mid = getDistance(trig1, echo1);
right = getDistance(trig2, echo2);
3. Learning Opportunities: Working in groups allows individuals to learn from each other,
acquire new skills, and gain insights into different approaches and techniques.
4. Increased Motivation: Group dynamics can foster motivation and accountability. The shared
goals and mutual support within a group can help individuals stay focused and motivated to
achieve their objectives.
5. Better Decision Making: Group discussions allow for the exploration of multiple perspectives
and the evaluation of various options, leading to more informed and well-rounded decisions.
6. Networking: Group work provides opportunities for networking and building relationships
with others, which can be valuable for personal and professional development.
- Diligence and meticulousness are essential in technical works. Diligence is essential for
achieving goals, producing high-quality work, building trust and reputation, fostering
personal growth, adapting to change, overcoming challenges, and setting a positive example
for others. It's a valuable trait that contributes to both individual success and the success of
teams and organizations. And, being meticulous is essential for maintaining accuracy,
ensuring quality, demonstrating professionalism, building trust, enhancing efficiency,
developing problem-solving skills, and meeting customer needs. It's a valuable trait that
contributes to individual success and organizational excellence.