Essay: AUTONOMOUS WHEEL ROBOT

Essay details:

  • Subject area(s): Engineering essays
  • Reading time: 23 minutes
  • Price: Free download
  • Published on: August 16, 2019
  • File format: Text
  • Number of pages: 2
  • AUTONOMOUS WHEEL ROBOT
    0.0 rating based on 12,345 ratings
    Overall rating: 0 out of 5 based on 0 reviews.

Text preview of this essay:

This page of the essay has 6321 words. Download the full version above.

Abstract

The proposed work present designing and development of a multipurpose smart robot using cameras, sensor detecting fires, harmful gases, metals, utensils, obstacles, and send information to main location. The proposed system uses machine intelligence to provide immediate response from sensors and the commands given manually or programmed earlier.
The main feature of this robot differentiating it from others is execution of versatile tasks for the old age people and the voice command. This whole robot system works in two modes. Mode one is automatic mode and the other is user controllable mode. In automatic mode programs are done earlier and it will perform accordingly. In controllable mode it can be controlled by internet using BLUETOOTH. It works on voice command; it will respond accordingly with the voice and will perform the specific job. By default, robot works in automatic mode in which all sensors like human detecting sensor, temperature sensor, gas detecting sensor, metal detecting sensor, obstacle detecting sensors are functional for automatic action. User could watch the surroundings through camera built in the robot and gives directions to change the path accordingly.
Keywords: Sensors, Servo motors, DC motors, Arduino, bluetooth module.


LIST OF TABLES
Table No. Table Name Page No.
Table no. 3.1 Pin Details of Arduino Uno 05
Table no. 3.2 Pin description of HC- 05 08
Table no. 3.3 Pin description of L293N 12
Table no. 3.6.1 Pin description of 7805 15’
LIST OF FIGURES
Figure No. Figure Name Page No.
Figure 2.1 Proteus Design Suite 3
Figure 3.2 HC-05 7
Figure 3.3.1 Servo Motor 9
Figure 3.3.2 DC Motor 9
Figure 3.4.1 L293n 11
Figure 3.4.2 L293n pin diagram 12
Figure 3.4.3 l293n pin description 12
Figure 3.5.1 DPDT 14
Figure 3.6.1 7804 14
Figure 3.7.1 Capacitor 15
Figure 3.8.1 Resistor 16
Figure 3.9.1 LED 17
Figure 5.2 Robot Model 19
Figure 6.1.1 Leg program 21
Figure 6.1.2 Waist program 22
Figure 6.2.1 Lower Half 23
Figure 6.2.2 Bottom Motors 23

List of Abbreviations

I/P: Input
O/P: Output
GND: Ground
Ex: Example
”c: Microcontroller
MHz: Mega-Hertz
R/W: Read/Write
RS: Register Select
E: Enable
A/d: Analog to Digital Converter
mv: Mili-Volt
DPDT Double pole double throw

TABLE OF CONTENTS

Page No.
Certificate i
Acknowledgement ii
List of Figures iii
List of Tables iv
List of Abbreviations v
Abstract vi

CHAPTER 1: Profile of the problem 1
CHAPTER 2: EXISTING SYSTEM 2-3
2.1 Introduction 2
2.2 Existing software 2
2.3 What is new our system 3
CHAPTER 3: PRODUCT DEFINATION 4-17
3.1 Arduino Uno 4
3.2 HC-05 Bluetooth module 6
3.3 Motors 8
3.4 L293n 10
3.5 DPDT 13
3.6 7805 Voltage regulator 14
3.7 Capacitor 14
3.8 Resistor 16
3.9 Led 17
CHAPTER 4: Software Required 18-20
4.1 Arduino Uno 18
4.2 Proteus 728 Design 18
CHAPTER 5: Design 19
5.1 System design 19
5.2 Detailed design 19
CHAPTER 6: Testing 20-24
6.1 Testing strategy 20
6.2 Structural testing 22
6.3 Testing result 23
CHAPTER 7: Implementation 25-26
7.1 Implementation 24
7.2 Conversion plan 24
7.3 Post implementation and software maintenance 25
CHAPTER 8: Project legacy 25-26
8.1 Current status of project 25
8.2 Remaining areas of concern 25
8.3 Technical and managerial lessons learnt 26
REFERENCE 27
APPENDIX 28-38’
1. Profile of the Problem
The increase in the development of technology and the human race, we failed to take care our own parents and the old age people. So this autonomous robot will help in taking care of the old age people and it is voice controllable. The major problem was the waist movement and the pick and place functioning. A robot who can take care of them in the absence of the other family members and perform the basic works as the old age people need for e.g., it can reminds the people to take medicine time to time, can fetch a glass of water, can pick and place the things, can check the heart beat time to time, can protect them from hazardous gases, can open the door and the most important thing it can stay with the old people for long period of time without getting annoyed and perform each and every work.

2. Existing Systems
At present we have a robot which is voice controllable it can move freely to any place. It can go on any inclination. It acts like a real robot. Its best utilization is that it can pick and place the things, can check the heart beat time to time, can protect them from hazardous gases, in any hazardous environment.
2.1 Introduction
The increase in the development of technology and the human race, we failed to take care our own parents and the old age people. So we are trying to fulfill their need by not the human power but the ROBOT. A robot who can take care of them in the absence of the other family members and perform the basic works as the old age people need for e.g., it can reminds the people to take medicine time to time, can fetch a glass of water, can pick and place the things, can check the heart beat time to time, can protect them from hazardous gases, can open the door and the most important thing it can stay with the old people for long period of time without getting annoyed and perform each and every work.
2.2 Existing Software
Various softwares are available on internet and research fields on which such existing systems can be implemented. Different software which is being used is:
Keil:
It is development tools for the 8051 Microcontroller Architecture support every level of software developer from the professional applications engineer to the student just learning about embedded software development.
Proteus:
It is best simulation software for various designs with microcontroller. It is mainly popular because of availability of almost all microcontrollers in it. So it is a handy tool to test programs and embedded designs for electronics hobbyist. You can simulate your programming of microcontroller in Proteus 8 Simulation Software. After simulating your circui in Proteus 8 Software you can directly make PCB design with it so it could be a all in one package for students and hobbyists. So I think now you have a little bit idea about what is proteus software.

.
Fig-2.1 Proteus
2.3 What’s New in Our System?
Basically in existing system we have dc motors, servo motors and a Bluetooth module which is named as HC-05 and it performs the basic functions of the movement from one place to another along with the waist movement. Here is in our system we give a prototype of human robot. we use l298n motor driver, arduino uno board, resistance, connectors, power supply. We give a simplified model of a robot which is not bulky and not too costly. The prototype can pick and place the things, can check the heart beat time to time, can protect them from hazardous gases, can open the door and the most important thing it can stay with the old people for long period of time without getting annoyed and perform each and every work.

3 Product Definition
Basically we are using a controller ARDUINO UNO board as a center part of project. This arduino uno board consists of ATmega328P and comprises of both analog and digital output pins. DC motors aligned at the bottom of it which is controlled through the program via voice command. We are using 4 dc motors for the movement. Servo motors plays a major role in the movement of any part. All the movement including waist movement, hand movement neck movement can be done through the servo motor. The power required by the arduino to run is 5v. Dc motor can run on 12v 1Amp current whereas servo motor requires 7v-10v for better performance.
3.1 Arduino Uno

Table-3.1.1 Arduino Uno
The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet). It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started. The Uno differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it features the Atmega8U2 programmed as a USB-to-serial converter.
“Uno” means one in Italian and is named to mark the upcoming release of Arduino 1.0. The Uno and version 1.0 will be the reference versions of Arduno, moving forward. The Uno is the latest in a series of USB Arduino boards.
The Arduino Uno can be powered via the USB connection or with an external power supply. The power source is selected automatically.
External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be connected by plugging a 2.1mm center-positive plug into the board’s power jack. Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER connector.
The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.
The power pins are as follows: VIN. The input voltage to the Arduino board when it’s using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin. ‘ 5V. The regulated power supply used to power the microcontroller and other components on the board. This can come either from VIN via an on-board regulator, or be supplied by USB or another regulated 5V supply. ‘ 3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA. ‘ GND. Ground pins.
3.1.2 TECHNICAL SPECIFICATION
Microcontroller ATmega328
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB of which 0.5 KB used by boot loader
SRAM 2 KB EEPROM 1 KB Clock Speed 16 MHz
3.2 HC-05 Bluetooth module

Fig-3.2.1 HC-05
3.2.2 Hardware Features
‘ Typical -80dBm sensitivity
‘ Up to +4dBm RF transmit power
‘ Low Power 1.8V Operation ,1.8 to 3.6V I/O
‘ PIO control
‘ UART interface with programmable baud rate
‘ With integrated antenna
‘ With edge connector

Table-3.2.3 HC-05 Pin description
3.2.4 Software Features
‘ Default Baud rate: 38400, Data bits:8, Stop bit:1,Parity:No parity, Data control: has. Supported baud rate: 9600,19200,38400,57600,115200,230400,460800.
‘ Given a rising pulse in PIO0, device will be disconnected.
‘ Status instruction port PIO1: low-disconnected, high-connected;
‘ PIO10 and PIO11 can be connected to red and blue led separately. When master and slave are paired, red and blue led blinks 1 time/2s in interval, while disconnected only blue led blinks 2 times/s.
‘ Auto-connect to the last device on power as default.
‘ Permit pairing device to connect as default.
‘ Auto-pairing PINCODE:’0000’ as default
‘ Auto-reconnect in 30 min when disconnected as a result of beyond the range of connection
3.3 MOTORS

Fig-3.3.1 Servo Motor Fig-3.3.2 Dc motor
A servomotor is a specific type of motor that is combined with a rotary encoder or a potentiometer to form a servomechanism. This assembly may in turn form part of another servomechanism. A potentiometer provides a simple analog signal to indicate position, while an encoder provides position and usually speed feedback, which by the use of a PID controller allow more precise control of position and thus faster achievement of a stable position (for a given motor power). Potentiometers are subject to drift when the temperature changes whereas encoders are more stable and accurate.
Servomotors are used for both high-end and low-end applications. On the high end are precision industrial components that use a rotary encoder. On the low end are inexpensive radio control servos (RC servos) used in radio-controlled models which use a free-running motor and a simple potentiometer position sensor with an embedded controller. The term servomotor generally refers to a high-end industrial component while the term servo is most often used to describe the inexpensive devices that employ a potentiometer. Stepper motors are not considered to be servomotors, although they too are used to construct larger servomechanisms. Stepper motors have inherent angular positioning, owing to their construction, and this is generally used in an open-loop manner without feedback. They are generally used for medium-precision applications.
RC servos are used to provide actuation for various mechanical systems such as the steering of a car, the control surfaces on a plane, or the rudder of a boat. Due to their affordability, reliability, and simplicity of control by microprocessors, they are often used in small-scale robotics applications. A standard RC receiver (or a microcontroller) sends pulse-width modulation (PWM) signals to the servo. The electronics inside the servo translate the width of the pulse into a position. When the servo is commanded to rotate, the motor is powered until the potentiometer reaches the value corresponding to the commanded position.
This is essentially an upgraded version of the famous to werpro MG995 servo. It now has a redesigned PCB and IC control system which makes it far more accurate. Its internal gearing and motor are also upgraded to improve dead bandwidth and centering.
All specifications are the same as the previous model MG995, however this servo is far more accurate, and safe to use in aircraft which require precise servo movements and perfect centering.

Weight 55g
Dimension 40.7*19.7*42.9mm
Stall torque 10kg/cm
Operating speed 0.20sec/60 degree(4.8v)
Operating voltage 4.8-7.2V
Temperature range 0_55
Servo Plug: JR (Fits JR and Futaba)
A servomechanism, sometimes shortened to servo, is an automatic device that uses error-sensing negative feedback to correct the performance of a mechanism and is defined by its function.[1] It usually includes a built-in encoder. A servomechanism is sometimes called aheterostat since it controls a system’s behavior by means of heterostasis.
Position control
A common type of servo provides position control. Servos are commonly electrical or partially electronic in nature, using an electric motor as the primary means of creating mechanical force. Other types of servos use hydraulics, pneumatics, or magnetic principles. Servos operate on the principle of negative feedback, where the control input is compared to the actual position of the mechanical system as measured by some sort of transducer at the output. Any difference between the actual and wanted values (an “error signal”) is amplified (and converted) and used to drive the system in the direction necessary to reduce or eliminate the error. This procedure is one widely used application of control theory.
Speed control
Speed control via a governor is another type of servomechanism. The steam engine uses mechanical governors; another early application was to govern the speed of water wheels. Prior to World War II the constant speed propeller was developed to control engine speed for manoeuvring aircraft. Fuel controls for gas turbine engines employ either hydro mechanical or electronic governing.

3.4 L293N

Fig-3.4.1 l293n
Fig-3.4.2 Pin diagram

Table-3.4.3 Pin description
L293N is a Motor driver integrated circuit which is used to drive DC motors rotating in either direction. It is a 16-pin IC which can control a set of two DC motors simultaneously. The L293D uses 5V for its own power and external power source is needed to drive the motors, which can be up to 36V and draw up to 600mA
The L293N works on the concept of typical H-bridge, a circuit which allows the high voltage to be flown in either direction. In a single L293N IC there are two H-bridge circuits which can rotate two DC motors independently. Due to its size and voltage requirement, it is frequently used in robotics applications for controlling DC motors, including in Arduino projects. The L293N is also a key component in larger ‘motor driver’ boards available premade for hobbyists.
3.4.4 Working of L293N
There are two drive pins on L293N. Pin 1 (left H-bridge) and pin 9 (right H-bridge). To turn ON the corresponding motor, pin 1 or 9 need to be set to HIGH. If either pin 1 or pin 9 goes low then the motor in the corresponding section will go OFF (high impedance). These inputs (1 and 9) are the ones that should be used to control motor START/STOP and motor speed under PWM, since there would be high impedance output during low semiperiod of PWM, it would not provoke overload of the L293N when the motor is turning. Thus, PWM or motor ON/OFF control should never be input to pins 2, 7, 15, 10, which should only be used to control direction (Clockwise ‘ Counter Clockwise).
The direction-defining four Input pins for the L293N are pin 2 and 7 on the left and pin 15 and 10 on the right as shown on the pin diagram. Left input pins will determine the rotation of motor connected on the left side and right input for motor on the right hand side. The motors are rotated on the basis of the inputs provided at the input pins as LOGIC 1 or LOGIC 0.
3.5 DPDT SWITCH
A Double Pole Double Throw (DPDT) switch is a switch that has 2 inputs and 4 outputs; each input has 2 corresponding outputs that it can connect to. Each of the terminals of a double pole double switch can either be in 1 of 2 positions. This makes the double pole double throw switch a very versatile switch. With 2 inputs, it can connect to 4 different outputs. It can reroute a circuit into 2 different modes of operation. A Double Pole Single Switch is actually two single pole double (SPDT)switches.

Figure-3.5.1 DPDT Switch

3.6 7805 VOLTAGE REGULATOR
7805 is a voltage regulator integrated circuit. It is a member of 78xx series of fixed linear voltage regulator ICs. The voltage source in a circuit may have fluctuations and would not give the fixed voltage output. The voltage regulator IC maintains the output voltage at a constant value. The xx in 78xx indicates the fixed output voltage it is designed to provide. 7805 provides +5V regulated power supply. Capacitors of suitable values can be connected at input and output pins depending upon the respective voltage levels.

Figure 3.6.1 7805 voltage regulators

Pin No. Function Name
1 Input voltage(5V-18V) Input
2 Ground(0V) Ground
3 Regulated output 5V(4.8V-5.2V) Output
Table No.3.6.1 Pin Detail of 7805 voltage regulator

3.7 CAPACITOR
A capacitor is a two-terminal, electrical component. Along with resistor and inductors, they are one of the most fundamental passive components we use. You would have to look very hard to find a circuit which didn’t have a capacitor in it.
A coupling capacitor is a capacitor which is used to couple or link together only the AC signal from one circuit element to another. The capacitor blocks the DC signal from entering the second element and, thus, only passes the AC signal. Coupling capacitors are useful in many types of circuits where AC signals are the desired signals to be output while DC signals are just used for providing power to certain components in the circuit but should not appear in the output. In order to place a capacitor in a circuit for AC coupling, the capacitor is connected in series with the load.

Figure 3.7.1 coupling capacitor

A capacitor is able to block low frequencies, such as DC, and pass high frequencies, such as AC, because it is a reactive device. It responds to different frequencies in different ways. To low frequency signals, it has a very high impedance, or resistance, so low frequency signals are blocked from going through. To high frequency signals, it has a low impedance or resistance, so high frequency signals are passed through easily.

3.8 RESISTOR
A resistor is passive two-terminal electrical component that implements electrical resistance as a circuit element. Resistors act to reduce current flow, and, at the same time, act to lower voltage levels within circuits. In electronic circuits, resistors are used to limit current flow, to adjust signal levels, bias active elements, and terminate transmission lines among other uses. High-power resistors, that can dissipate many watts of electrical power as heat, may be used as part of motor controls, in power distribution systems, or as test loads for generators. Fixed resistors have resistances that only change slightly with temperature, time or operating voltage. Variable resistors can be used to adjust circuit elements (such as a volume control or a lamp dimmer), or as sensing devices for heat, light, humidity, force, or chemical activity.
Resistors are common elements of electrical networks and electronic circuits and are ubiquitous in electronic equipment. Practical resistors as discrete components can be composed of various compounds and forms. Resistors are also implemented within integrated.

Figure 3.8.1: Resistor

3.9 LED
A light-emitting diode (LED) is a semiconductor device that emits visible light when an electric current passes through it. The light is not particularly bright, but in most LEDs it is monochromatic, occurring at a single wavelength. The output from an LED can range from red (at a wavelength of approximately 700 nanometres) to blue-violet (about 400 nanometres).
Benefits of LEDs, compared with incandescent and fluorescent illuminating devices, include:
‘ Low power requirement: Most types can be operated with battery power supplies.
‘ High efficiency: Most of the power supplied to an LED or IRED is converted into radiation in the desired form, with minimal heat production.
‘ Long life: When properly installed, an LED or IRED can function for decades.

Figure 3.9.1: LED

4. Software Requirement
4.1 Arduino Uno
Arduino is an open-source prototyping platform based on easy-to-use hardware and software. Arduino borad are able to read inputs – light on a sensor, a finger on a button, or a Twitter message – and turn it into an output – activating a motor, turning on an LED, publishing something online. You can tell your board what to do by sending a set of instructions to the microcontroller on the board. To do so you use the Arduino programming language (based on Wring), and the Arduino Software (IDE), based on Processing.
Over the years Arduino has been the brain of thousands of projects, from everyday objects to complex scientific instruments. A worldwide community of makers – students, hobbyists, artists, programmers, and professionals – has gathered around this open-source platform, their contributions have added up to an incredible amount of accessible knowledge that can be of great help to novices and experts alike.
Thanks to its simple and accessible user experience, Arduino has been used in thousands of different projects and applications. The Arduino software is easy-to-use for beginners, yet flexible enough for advanced users. It runs on Mac, Windows, and Linux. Teachers and students use it to build low cost scientific instruments, to prove chemistry and physics principles, or to get started with programming and robotics. Designers and architects build interactive prototypes, musicians and artists use it for installations and to experiment with new musical instruments. Makers, of course, use it to build many of the projects exhibited at the Maker Faire, for example. Arduino is a key tool to learn new things. Anyone – children, hobbyists, artists, programmers – can start tinkering just following the step by step instructions of a kit, or sharing ideas online with other members of the Arduino community.
There are many other microcontrollers and microcontroller platforms available for physical computing. Parallax Basic Stamp, Netmedia’s BX-24, Phidgets, MIT’s Handyboard, and many others offer similar functionality. All of these tools take the messy details of microcontroller programming and wrap it up in an easy-to-use package. Arduino also simplifies the process of working with microcontrollers, but it offers some advantage for teachers, students, and interested amateurs over other systems:
‘ Inexpensive – Arduino boards are relatively inexpensive compared to other microcontroller platforms. The least expensive version of the Arduino module can be assembled by hand, and even the pre-assembled Arduino modules cost less than $50
‘ Cross-platform – The Arduino Software (IDE) runs on Windows, Macintosh OSX, and Linux operating systems. Most microcontroller systems are limited to Windows.
‘ Simple, clear programming environment – The Arduino Software (IDE) is easy-to-use for beginners, yet flexible enough for advanced users to take advantage of as well. For teachers, it’s conveniently based on the Processing programming environment, so students learning to program in that environment will be familiar with how the Arduino IDE works.
‘ Open source and extensible software – The Arduino software is published as open source tools, available for extension by experienced programmers. The language can be expanded through C++ libraries, and people wanting to understand the technical details can make the leap from Arduino to the AVR C programming language on which it’s based. Similarly, you can add AVR-C code directly into your Arduino programs if you want to.
‘ Open source and extensible hardware – The plans of the Arduino boards are published under a Creative Commons license, so experienced circuit designers can make their own version of the module, extending it and improving it. Even relatively inexperienced users can build the breadboard version of the module in order to understand how it works and save money.

5. Design
5.1 System Design
These are major components from the system design standpoint –
‘ Arduino uno board
‘ Arduino software
‘ Servo motor.
‘ L298n
‘ Dc motor
‘ Bluetooth module (HC-05)
‘ DPDT switch
‘ Power supply
‘ 12v and 6v adapter

5.2 Detailed Design

Fig-5.2.1 Model

6. Testing
6.1 Testing Strategy
6.1.1 Leg movement
For the movement from one place to another I have used 4 motors and 4 motors are connected through the motor driver to the controller. The controller arduino uno provides the basics command for the movement according to the voice input.
A robot has these essential characteristics:
‘ Sensing First of all your robot would have to be able to sense its surroundings. It would do this in ways that are not similar to the way that you sense your surroundings. Giving your robot sensors: light sensors (eyes), touch and pressure sensors will give your robot awareness of its environment.
‘ Movement A robot needs to be able to move around its environment. Whether rolling on wheels, walking on legs or propelling by thrusters a robot needs to be able to move. To count as a robot either the whole robot moves, like the Sojourner or just parts of the robot moves, like the Canada Arm.
‘ Energy A robot needs to be able to power itself. A robot might be solar powered, electrically powered, battery powered. The way your robot gets its energy will depend on what your robot needs to do.
‘ Intelligence A robot needs some kind of “smarts.” This is where programming enters the pictures. A programmer is the person who gives the robot its ‘smarts.’ The robot will have to have some way to receive the program so that it knows what

Fig-6.1.1 Leg Program

6.1.2 Testing Strategy for waist movement
For the waist movement I have used 2 servo motors in which both the motors are aligned together and connected to the same pin of the arduino so that the signal given to the motors are at the same time and the alignment goes smoothly.

Waist movement program

Fig 6.1.2 Waist program
6.2 Structural testing
Well it is a system that contains sensors, control systems, manipulators, power supplies and software all working together to perform a task. Designing, building, programming and testing a robots is a combination of physics, mechanical engineering, electrical engineering, structural engineering, mathematics and computing. In some cases biology, medicine, chemistry might also be involved. A study of robotics means that students are actively engaged with all of these disciplines in a deeply problem-posing problem-solving environment.

Fig-6..2.1 : Lower Half Fig-6.2.2 : Bottom Motor
HEIGHT 2ft 6inch(approx..)
WEIGHT 8 kg(approx..)
WHEELS DC motor
MOVEMENT SERVO MOTOR
SENSORS MOTION SENSOR, IR SENSOR,HEARTBEAT SENSOR,GAS SENSOR,FIRE SENSOR
CAMERA PI CAMERA
CONTROL HC-05 AND ARDUINO

6.3 Test Results
The project performs satisfactory with performance accuracy of around 70-90%. The results after testing it for 100 to 200 attempts to move in a random direction were made by both the project members. The results were tabulated as shown.
Initially we get lots of problem in the partial movement of the waist in various angle but after testing into various angles the movement can be controlled at different angles according to our desire, and to correct it we test it on a lot of angles i overcome with this problem again. we facing fluctuation and resolution problem when we are connecting sensors.
Successful attempts were counted and precise movement is calculated with several observations.

7. Implementation
7.1 Implementation of Project
The firmware design is fairly straight forward as all the computation has been done on audrino uno and HC-05. Here we are using Microcontroller Atmega232P which has both analog as well as digital pins to run any analog and digital devices. The arduino senses the value of sensor and the result is shown as the movement of motors.
With the help of HC-05 bluetooth module the robot can move on the voice module and give its output with the movement of waist along with the distance covered though the wheel at the bottom.
7.2 Conversion Plan
In our project we are working on both software and hardware. The hardware parts are explained below:-
1. Firstly we make a model type in which 4 dc motors with 200rpm are placed at the bottom. It provides the strength so that the robot could withstand without any support and move according to the command, all these 4 motors are connected to the arduino uno’s through the l293n motor driver Ic to the pin 2,3,4,5. The power supply 12v is given through the adaptor.
2. Secondly the 2 servo motors signal pin is connected to the 9th pin of the arduino and 5v power supply is given through the battery to the arduino and 6v power supply is given to the servo motor with the help of adaptor.
3. A HC-05 bluetooth module is connected, whose transmitter pin connected to the receiver of the arduino and receiver pin is connected to the transmitter of the arduino. Power supply 5v is given though the arduino.
4. Using the pins 0,1,2,3,4,5,6,9. We obtained the output.
5. Wooden hand is made to pick and place.
6. All the movement and the functioning is controlled by the arduino.

7.3 Post Implementation and Software Maintenance
For the hardware part our main focus was on proper soldering especially the soldering of wire between two components if any two wires are touching each other than our hardware not run.
Since we are only making the prototype of robot with the help of iron ,wood and metal it has not long range variation because controller can’t work on more than 5volt.
Most of the data conversion on a project takes place during the late Test Phase and the Implementation Phase. However, we cannot wait until the Implementation Phase to decide on the details of converting data on the project. There is no such kind of maintenance required for the project. IF we will use the automatic hand power then we can also show different pick and place procedure and implementation of various sesnsors would have made this project widely useable. If we have to make our hardware simpler then we can switch to artificial robot which is predesigned and the values are very enormously working with precise movement.

8. Project Legacy
8.1 Current Status of Project
My project is on the last stage of testing. Arduino programming has been done and hardware portion is almost completed. Still I am getting fluctuations and movement is not up to point. I am doing testing and try to make it accurate as possible. The leg movement is providing the correct movement but the waist movement is not very precise because the load I have provided to the chest is little more to for the motors to hold the whole body straight. The major problem is the hand if I would have made hand with the proper motor and iron then the pick and place work would have been easier but the weight would have also increased so I have made hand with the help of motor so that the weight problem is minimized and the servo motor could easily lift the body weight.
8.2 Remaining Areas of Concern
Remaining areas of concern in the system were –
a) Precise waist movement.
b) Accurate pick and place.
8.3 Technical and Managerial Lesson Learnt
During the whole preparations and studies of the project I have learnt the various things. Technically the arduino uno programming was the great success. I learnt how to do measuring analysis. From few tutorial videos from internet I learn to calibrate and programming on microcontroller.
Currently I am working on arduino interface with raspberry so that the work could easily done and may be in future I willl introduce the image processing in it.
Also the regularity and discipline in my work played an important role in my study. Working continuously and managing time played an important role in my project. From my project I came to learn about different types of electronic components, motors and their working. The main achievement was the voice controlled robot working in real.

‘ References
‘ Asada, H. and Slotine, J.-J. E. (1986). Robot Analysis and Control. Wiley. ISBN 0-471-83029-1.
‘ Arkin, Ronald C. (1998). Behavior-Based Robotics. MIT Press. ISBN 0-262-01165-4.
‘ Brady, M., Hollerbach, J.M., Johnson, T., Lozano-Perez, T. and Mason, M. (1982), Robot Motion: Planning and Control. MIT Press. ISBN 0-262-02182-X.
‘ Horn, Berthold, K. P. (1986). Robot Vision. MIT Press. ISBN 0-262-08159-8.
‘ Craig, J. J. (1986). Introduction to Robotics: Mechanics and Control. Addison Wesley. ISBN 0-201-09528-9.
‘ Everett, H. R. (1995). Sensors for Mobile Robots: Theory and Application. AK Peters. ISBN 1-56881-048-2.
‘ Kortenkamp, D., Bonasso, R., Murphy, R. (1998). Artificial Intelligence and Mobile Robots. MIT Press. ISBN 0-262-61137-6.

Appendix
String voice;
int
M3 = 3,
M4= 4,
M5 = 5,
M6 = 6;
void setup () {
Serial.begin(9600);
pinMode(M3, OUTPUT);
pinMode(M4, OUTPUT);
pinMode(M5, OUTPUT);
pinMode(M6, OUTPUT);
}
void loop() {
while (Serial.available()){
delay(10);
char c = Serial.read();
if ( c == ‘#’) {break;}
voice += c ;
}
if (voice.length() >0){
Serial.println(voice);
if (voice == “*forward”)
{
digitalWrite(M3, HIGH);
digitalWrite(M4, HIGH);
digitalWrite(M5, LOW);
digitalWrite(M6, LOW);
delay(100);
}
else if(voice == “*reverse”)
{
digitalWrite(M3, LOW);
digitalWrite(M4, LOW);
digitalWrite(M5, HIGH);
digitalWrite(M6, HIGH);
delay(100);
}
else if (voice == “*right”)
{
digitalWrite(M3, HIGH);
digitalWrite(M4, LOW);
digitalWrite(M5, LOW);
digitalWrite(M6, LOW);
delay(100);
}
else if ( voice == “*left”)
{
digitalWrite(M3, LOW);
digitalWrite(M4, HIGH);
digitalWrite(M5, LOW);
digitalWrite(M6, LOW);
delay(100);
}
else if (voice == “*stop”)
{
digitalWrite(M3, LOW);
digitalWrite(M4, LOW);
digitalWrite(M5, LOW);
digitalWrite(M6, LOW);
delay(100);
}
voice=”” ;} }

Waist movement program

* Sweep
by BARRAGAN <http://barraganstudio.com>
This example code is in the public domain.
modified 8 Nov 2013
by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Sweep
*/
#include <Servo.h>
Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards
int pos = 0; // variable to store the servo position
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
for (pos = 0; pos <= 60; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable ‘pos’
delay(20); // waits 15ms for the servo to reach the position
}
for (pos = 60; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable ‘pos’
delay(20); // waits 15ms for the servo to reach the position
}}
Blink

// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Hand
#include <Servo.h>
Servo myservo; // create servo object to control a servo
int potpin = 0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(15); // waits for the servo to get there
}

/* Knock Sensor
This sketch reads a piezo element to detect a knocking sound.
It reads an analog pin and compares the result to a set threshold.
If the result is greater than the threshold, it writes
“knock” to the serial port, and toggles the LED on pin 13.
The circuit:
* + connection of the piezo attached to analog in 0
* – connection of the piezo attached to ground
* 1-megohm resistor attached from analog in 0 to ground
http://www.arduino.cc/en/Tutorial/Knock
created 25 Mar 2007
by David Cuartielles <http://www.0j0.org>
modified 30 Aug 2011
by Tom Igoe
This example code is in the public domain.

// these constants won’t change:
const int ledPin = 13; // led connected to digital pin 13
const int knockSensor = A0; // the piezo is connected to analog pin 0
const int threshold = 100; // threshold value to decide when the detected sound is a knock or not
// these variables will change:
int sensorReading = 0; // variable to store the value read from the sensor pin
int ledState = LOW; // variable used to store the last LED status, to toggle the light
void setup() {
pinMode(ledPin, OUTPUT); // declare the ledPin as as OUTPUT
Serial.begin(9600); // use the serial port
}
void loop() {
// read the sensor and store it in the variable sensorReading:
sensorReading = analogRead(knockSensor);

// if the sensor reading is greater than the threshold:
if (sensorReading >= threshold) {
// toggle the status of the ledPin:
ledState = !ledState;
// update the LED pin itself:
digitalWrite(ledPin, ledState);
// send the string “Knock!” back to the computer, followed by newline
Serial.println(“Knock!”);
}
delay(100); // delay to avoid overloading the serial port buffer
}

Stepper
/*
Stepper Motor Control – speed control
This program drives a unipolar or bipolar stepper motor.
The motor is attached to digital pins 8 – 11 of the Arduino.
A potentiometer is connected to analog input 0.
The motor will rotate in a clockwise direction. The higher the potentiometer value,
the faster the motor speed. Because setSpeed() sets the delay between steps,
you may notice the motor is less responsive to changes in the sensor value at
low speeds.
Created 30 Nov. 2009
Modified 28 Oct 2010
by Tom Igoe
*/
#include <Stepper.h>
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
int stepCount = 0; // number of steps the motor has taken
void setup() {
// nothing to do inside the setup
}
void loop() {
// read the sensor value:
int sensorReading = analogRead(A0);
// map it to a range from 0 to 100:
int motorSpeed = map(sensorReading, 0, 1023, 0, 100);
// set the motor speed:
if (motorSpeed > 0) {
myStepper.setSpeed(motorSpeed);
// step 1/100 of a revolution:
myStepper.step(stepsPerRevolution / 100);
}
}

...(download the rest of the essay above)

About this essay:

This essay was submitted to us by a student in order to help you with your studies.

If you use part of this page in your own work, you need to provide a citation, as follows:

Essay Sauce, AUTONOMOUS WHEEL ROBOT. Available from:<https://www.essaysauce.com/engineering-essays/autonomous-wheel-robot/> [Accessed 10-12-19].

Review this essay:

Please note that the above text is only a preview of this essay.

Name
Email
Review Title
Rating
Review Content

Latest reviews: