Essay details:

  • Subject area(s): Engineering
  • Price: Free download
  • Published on: 7th September 2019
  • File format: Text
  • Number of pages: 2

Text preview of this essay:

This page is a preview - download the full version of this essay above.

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:


 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.


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.


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 1time/2s in interval, while disconnected only blue led     blinks 2times/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



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.


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


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


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.


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



 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.


String voice;


M3 = 3,

M4= 4,

M5 = 5,

M6 = 6;

void setup () {


  pinMode(M3, OUTPUT);

  pinMode(M4, OUTPUT);

  pinMode(M5, OUTPUT);

  pinMode(M6, OUTPUT);


void loop() {

  while (Serial.available()){


    char c =;

    if ( c == '#') {break;}

    voice += c ;


  if (voice.length() >0){


   if (voice == "*forward")


    digitalWrite(M3, HIGH);

    digitalWrite(M4, HIGH);

    digitalWrite(M5, LOW);

    digitalWrite(M6, LOW);



 else if(voice == "*reverse")


  digitalWrite(M3, LOW);

  digitalWrite(M4, LOW);

  digitalWrite(M5, HIGH);

  digitalWrite(M6, HIGH);



else if (voice == "*right")


  digitalWrite(M3, HIGH);

  digitalWrite(M4, LOW);

  digitalWrite(M5, LOW);

  digitalWrite(M6, LOW);



else if ( voice == "*left")


  digitalWrite(M3, LOW);

  digitalWrite(M4, HIGH);

  digitalWrite(M5, LOW);

  digitalWrite(M6, LOW);



else if (voice == "*stop")


 digitalWrite(M3, LOW);

 digitalWrite(M4, LOW);

 digitalWrite(M5, LOW);

 digitalWrite(M6, LOW);


...(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, . Available from:< > [Accessed 29.05.20].