This is to certify that this project and thesis entitled "Obstacle Avoiding Robot Using Ultrasonic Sensor Arduino" is done by the following students under my direct supervision and this work is done by them in the Department of Electrical and Electronic Engineering under the Faculty of Engineering of Daffodil International University in partial fulfillment of the requirements for the degree of Bachelor of Science in Electrical and Electronic Engineering. Mahmudur Rahman, Department of Electrical and Electronic Engineering, DIU who inspired me in every moment. I express my humble thanks to all teachers of the Department of Electrical and Electronic Engineering for their support in numerous ways throughout this project work.
I am also grateful to the authors whose valuable research articles and books I have considered as reference in this project paper. Apart from that, I would like to thank my friends for sharing knowledge; information and helped me make this project a success. Some sensing devices used for obstacle detection such as bump sensor, infrared sensor, ultrasonic sensor, etc.
The ultrasonic sensor is most suitable for obstacle detection, and it is cheap and has high range capability. This could be designed to build a robot vehicle that avoids obstacles, using ultrasonic sensors for its movement. An ultrasonic sensor is used to detect any obstacle in front of it and sends a command to the microcontroller.
INTRODUCTION
- Introduction
- Problem Statement
- Aim of the Project
- Scopes
- Methodology
- Organization of the Report
Obstacle Avoiding Robot Using Ultrasonic Sensor Arduino”, Brief description of the project, Problem statement, objective of the project and scope. Finally, chapter seven gives the concluding remarks, limitation of my system and suggestion for the future works.
SYSTEM REVIEWS
- Introduction
- General Block Diagram
- Block Diagram Description
- Circuit Diagram
- Working Process of the Circuit
- List of Components used in Circuit
- Conclusion
DC motor was connected to L298N H-bridge. The circuit consists of Arduino Mega2560 board, L298N H-bridge, servo motor, ultrasonic sensor and a few other components. The Trigger pin will be used to send the signal and the Echo pin will be used to listen for returning signal". 34; The 5V pin of the ultrasonic sensor was connected to the 5V pin of the board, the GND pin was connected to GND' a pin, and the SIG (signal) pin was connected to digital pin 10 on the board".
One of the main advantages of circuit diagram is that the developer can theoretically complete a project very easily to draw a circuit diagram. The circuit consists of Arduino Mega2560 board, L298N H-bridge and DC motor, 9g servo motor, ultrasonic sensor and a few other components. 34;Trigger pin will be used to send the signal and Echo pin will be used to listen for returning signal". The 5V pin of the ultrasonic sensor was connected to the 5Volt pin of the board, the GND pin was connected to the GND pin , and the SIG (signal) pin was connected to digital pin 10 on the board.
The costs involved in developing the system are significantly low and much lower than those commercially available on the market.
COMPONENT DESCRIPTION
- Introduction
- Basic Description of controller unit
- Description of Microcontroller: ATmega2560
- Specification Arduino Mega2560
- Block Diagram of Microcontroller – (ATmega2560)
- Pin Configurations of Microcontroller – (ATmega2560)
- Arduino Mega 2560 PIN mapping table
- Pin Descriptions
- L298N H-bridge
- Features of L298N H-bridge
- Key Specifications
- How it Works?
- Power Requirements
- Description of HC SR04 Sensor
- Features of HC SR04 Sensor
- HC-SR04 Ultrasonic Sensor – Working
Arduino mega2560 The Mega 2560 comes pre-programmed with a loader that allows me to upload new code to it without using an external hardware programmer. 34;It is linked using the unusual procedure STK500 (reference, C header files) "." I can also bypass the bootloader and program the microcontroller through the ICSP (in-circuit serial program design) header using the Arduino ISP or similar; see these tips for details. 34;On Rev1 boards: sticking the connection jumper on the back of the board (next to the map of Italy) and then resetting the 8U2".
34;The adapter can be connected by inserting a 2.1mm center positive plug into the board's power connector". Leads from a battery can be inserted into the GND and Vin pin headers of the POWER connector. 34;The input voltage to the board when using an external power source (as opposed to 5 volts from the USB connection or some other regulated power source) "."I can supply voltage through this pin or, if it supplies voltage via the power board, access it through this pin" .
Each of the 54 digital pins on the Mega can be used as an input or output, using the Pin Mode (), Digital Write () and Digital Read () functions. 34;The Mega 2560 has 16 analog inputs, each providing 10 bits of resolution (i.e. 1024 different values)". By default they run from ground to 5 volts, but it is possible to change the top of their range using the AREF pin and analog reference function (). Normally used to add a reset button to shields blocking those on the board.
The Arduino software (IDE) includes a serial monitor that allows simple text data to be sent to and from the board. The RX and TX LEDs on the board will blink when data is being transferred via the ATmega8U2/ATmega16U2 chip and the USB connection to the computer (but not for serial communication on pins 0 and 1). The Arduino software (IDE) includes the Wire library to simplify the use of the TWI bus; see the documentation for details.
Rather than requiring a physical press of the reset key before uploading, the Mega 2560 is designed so that it can be reset by software running on a connected computer. One of the ATmega8U2's hardware flow control (DTR) lines is connected to the ATmega2560's reset line via a 100 Nano Farad capacitor. This means that the bootloader can have a shorter timeout, because lowering the DTR can be well coordinated with starting the upload.
The pads on either side of the track can be joined together to re-activate it. Take the analogy of the water wheel and think of the water hitting it as a pulse, but with a continuous flow."
Ultrasonic Sensor Pin Configuration
SG90 Servo
SG90 Servo Wire Configuration
SG-90 Servo Features
DC Motor and Wheel
3.7 2WD Chassis
HC SR04 Bracket
Cost Analysis
- Cost Sheet
Comparison
Conclusion
SOFTWARE ANALYSIS
- Introduction
- Description of the Software
- Flow Chart Diagram
- Conclusion
It was also achieved by compiling and uploading programs to the board with a single click. 34;There was usually no need to edit low files or run programs on a command line interface". 34;Although it was possible to build on the command line if necessary with some third party tools such as Ino".
34;The Arduino comes with a C/C++ library called "Wiring" (from the project of the same name), which makes many common input/output processes much easier. The compilation window shows that the L298N double H-bridge, ultrasonic sensor and servo motor was connected to the Arduino pin. 34;The driver module is made on the L298N H-bridge, a high-current, high-voltage dual full-bridge driver.
It can drive up to 2 DC motors up to 2 Amp each, or drive a stepper motor or 2 solenoids". 34;RPM was regular using the PWM input on the ENA or ENB pins, while the round direction is controlled by providing the high and low to EN1-EN2 for the primary engine or EN3-EN4 for another engine". This project developed an obstacle-avoiding robot to detect and avoid obstacles in its path.
The robot was built on the Arduino platform for data processing and its software counterpart helped to communicate with the robot to send parameters for movement. The robot is fully autonomous and after the initial loading of the code, it requires no user intervention during its operation. In the future, the authors of this project intend to test the feasibility of integrating different types of sensors to complement each other's disadvantages.
HARDWARE IMPLEMENTATION
- Introduction
- Interfacing of L298N H-bridge
- SG90 Servo interfacing
- Connection layout of the System
- System Operation
- Conclusion
To connect the DC Motor Driver to the Arduino, I used both analog and digital pins. 34;To connect the push-pull solenoid to the Arduino mega2560, I will have to use external power because it needs 6Voltage ~ 12Voltage to drive and much more current than the Arduino can supply. Now connect the positive cable from the power supply to the positive cable from the solenoid and the negative cable from the power supply.
The Servo Motor was connected to Arduino pin 10 for PWM signals on the Orange wire. The Servo Motor connected to the Breadboard should power the motor with +5V using the Red wire. If the motor supply voltage is up to 12V, I can activate the 5V regulator and the 5V pin can be used as an output, say to power my Arduino board.
But if the motor voltage is more than 12V, I need to break the jumper because these voltages will cause damage to the built-in 5V regulator. Designing, connecting to the Arduino Uno circuit was a simple inertia of my project.
RESULTS AND DISCUSSIONS
- Introduction
- Experimental Setup
- Testing of the Project
- Result
- Advantages
- Disadvantages
- Conclusion
It was found that given a series of obstacles, the robot is able to detect and avoid the obstacle with an average accuracy of 84%. 34;The counter indicates the total number of times the robot was able to avoid the obstacle it faced". 34;Virtually all navigation robots require some form of obstacle detection, therefore the obstacle avoidance policy is of utmost importance".
34;They can be used as facility robots, for daily work and many other indoor applications." 34;Similarly, they are of great importance in technical research and emergency rescue, there may be places that are dangerous for humans or even impossible for humans to enter reach directly, we should use robots to help us. In challenging environments of individuals, robots need to gather information about their environment to avoid obstacles."
34;Currently, even in normal environments, people use robots to detect and avoid obstacles. 34;For example, it is estimated that an industrial robot in a factory avoids workers so that it does not hurt them. Finally, obstacle avoidance has been extensively researched and applied worldwide, and it was possible that most robots in the future would have an obstacle avoidance function.
CONCLUSION
Conclusion
Applications
Limitations of the Work
Future work
Arduino Code