Skip to content

Micromouse project's code for embedded systems course at Faculty of Engineering, Cairo University

Notifications You must be signed in to change notification settings

GhiathAjam/micromouse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MicroMouse 🏁

An intelligent maze solving car 🧠🏎️

MicroMouse can solve a complex maze in the shortest amount of time while maintaining a decent velocity profile. It can accomplish this by utilising a combination of closed-loop controllers such as PID and a variety of conditions. It is able to tackle the line following problem using an array of infrared sensors and achieve the same results.

💻 Code

The code was written on the Atmega328P board. All low-level drivers were implemented by us, to achieve the best performance and the least code size.

💸 Components & cost

Name Use & description Number Market Cost per Part
Arduino Uno The main development board 1 160 EGP
TCRT 5000 The IR sensor 5 10 EGP
Gearbox Motors The used motors 2 25 EGP
Car chassis Car’s Main body 1 190 EGP
Motor Driver The L298N H-bridge 1 70 EGP
Car batteries Lithium Rechargeable ones 3 35 EGP
Battery Holder To hold the batteries 1 15 EGP

📌 Schematic diagram

Our Car consists of 5 IR sensors and 2 DC motors. In this schematic, we show the connections of the sensors, motors, and power connections.

Copy of Line Follower

Note that: We have used the L293N motor driver, but since it is not supported in the simulation, we have shown the connections of the L293D H-bridge with a voltage regulator. We have used the TCRT 5000 IR sensors, but since it is not supported in the simulation, we have used another module.

Body

📐 Design

image image

After Printing

image

Challenges 🚧

  • The Tight Range of the IR Sensor: One of the most crucial issues we have faced was the tight range of the IR sensor, we weren’t able to agree on a cutting threshold between the white and black colors that was robust to other color and heat changes. We have solved this problem by using some resistors connected with the sensor and tuning its value until we reached the best range and threshold. That came with the cost of slower readings, but a few milliseconds longer wasn’t very critical to our application.
  • Varying Voltage Level: Simply, we were somehow tuning the optimum velocity profile for our car. But, the velocity was affected by how much the batteries are charged. We managed to overcome this issue by using an AC/DC power adapter during the testing and adding fully charged batteries during the competition.
  • Number of IR Sensors: We managed to tackle the line following problem using only 3 sensors but, that wasn't enough to do the same in solving the maze. We had to use extra two sensors; three for following the line and the other two to detect the turns.

Contributors

Gheiath Ajam
Gheiath Ajam
Ziyad Hassan
Ziyad Hassan
Ahmed Khaled
Ahmed Khaled
Ahmed Ghareeb
Ahmed Ghareeb
Hazem Abdo
Hazem Abdo
Mohamed Ahmed
Mohamed Ahmed
Maryam Salah
Maryam Salah
Hossam Saeed
Hossam Saeed
Nadeen Ayman
Nadeen Ayman
Omar Yacine
Omar Yacine
Ahmed Hafez
Ahmed Hafez
Ahmed Mohamed Ibrahim
Ahmed Mohamed Ibrahim

About

Micromouse project's code for embedded systems course at Faculty of Engineering, Cairo University

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published