50120140507004

12
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print), ISSN 0976 - 6375(Online), Volume 5, Issue 7, July (2014), pp. 24-35 © IAEME 24 A METAL DETECTOR MOBILE ROBOT AS A NEW APPLICATION OF MICROCONTROLLER Maha M. Lashin Mechanical Engineering Department, Shoubra Faculty of Engineering, Banha University, Egypt ABSTRACT A microcontroller is a small and low-cost computer built for the purpose of dealing with specific tasks. Microcontrollers are mainly used in products that require a degree of control to be exerted by the user. It is generally built using a technology known as Complementary Metal Oxide Semiconductor. A metal detector robot designed as a new application of microcontroller. It used the microcontroller to control its mechanism movement. The robot has two links and two joints supported on moving table to make its movement easy. A carriage vehicle used for carrying robot which used the skid steered wheeled types to make its movement easy and safety on ground open area. The robot’s movement orientation done very accurate depending on link between the microcontroller and the user’s hand remote. Keyword: Microcontroller - Metal Detector Robot. INTRODUCTION Microcontroller structure usually contain as in figure1, CPU, ROM, RAM, I/O ports, timers, and ADC. Memories on a microcontroller [1] used to store data and/or the program to be run. The data stored in Random Access Memory (RAM) is volatile which means that it lost when had been power turned off. Read Only Memory (ROM) is non-volatile and therefore stored between power cycles, and it is a read only memory but may not be written to. Erasable Programmable Read Only Memory (EPROM) allows read and write access and is also non-volatile. Electronically Erasable Programmable Read Only Memory (EEPROM) where the program is stored. Central Processor Unit (CPU) is the brains of the microcontroller, it executes instructions such by fetching the instruction and any required data over its data bus. Input/output (I/O) programmable lines with bit ports. Timers are internal clocks to give the user sensing of time and duration information for great importance in INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) ISSN 0976 – 6367(Print) ISSN 0976 – 6375(Online) Volume 5, Issue 7, July (2014), pp. 24-35 © IAEME: www.iaeme.com/IJCET.asp Journal Impact Factor (2014): 8.5328 (Calculated by GISI) www.jifactor.com IJCET © I A E M E

Upload: iaeme

Post on 25-May-2015

45 views

Category:

Technology


0 download

DESCRIPTION

50120140507004

TRANSCRIPT

Page 1: 50120140507004

International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print),

ISSN 0976 - 6375(Online), Volume 5, Issue 7, July (2014), pp. 24-35 © IAEME

24

A METAL DETECTOR MOBILE ROBOT AS A NEW APPLICATION OF

MICROCONTROLLER

Maha M. Lashin

Mechanical Engineering Department, Shoubra Faculty of Engineering, Banha University, Egypt

ABSTRACT

A microcontroller is a small and low-cost computer built for the purpose of dealing with

specific tasks. Microcontrollers are mainly used in products that require a degree of control to be

exerted by the user. It is generally built using a technology known as Complementary Metal Oxide

Semiconductor. A metal detector robot designed as a new application of microcontroller. It used the

microcontroller to control its mechanism movement. The robot has two links and two joints

supported on moving table to make its movement easy. A carriage vehicle used for carrying robot

which used the skid steered wheeled types to make its movement easy and safety on ground open

area. The robot’s movement orientation done very accurate depending on link between the

microcontroller and the user’s hand remote.

Keyword: Microcontroller - Metal Detector Robot.

INTRODUCTION

Microcontroller structure usually contain as in figure1, CPU, ROM, RAM, I/O ports, timers,

and ADC. Memories on a microcontroller [1] used to store data and/or the program to be run. The

data stored in Random Access Memory (RAM) is volatile which means that it lost when had been

power turned off. Read Only Memory (ROM) is non-volatile and therefore stored between power

cycles, and it is a read only memory but may not be written to. Erasable Programmable Read Only

Memory (EPROM) allows read and write access and is also non-volatile. Electronically Erasable

Programmable Read Only Memory (EEPROM) where the program is stored. Central Processor Unit

(CPU) is the brains of the microcontroller, it executes instructions such by fetching the instruction

and any required data over its data bus. Input/output (I/O) programmable lines with bit ports. Timers

are internal clocks to give the user sensing of time and duration information for great importance in

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING &

TECHNOLOGY (IJCET)

ISSN 0976 – 6367(Print)

ISSN 0976 – 6375(Online)

Volume 5, Issue 7, July (2014), pp. 24-35

© IAEME: www.iaeme.com/IJCET.asp

Journal Impact Factor (2014): 8.5328 (Calculated by GISI)

www.jifactor.com

IJCET

© I A E M E

Page 2: 50120140507004

International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print),

ISSN 0976 - 6375(Online), Volume 5, Issue 7, July (2014), pp. 24-35 © IAEME

25

digital control systems. Analog-to-Digital Converter (ADC) built within it to convert the analog

signals to digital signals to help the microcontroller dealing with this information

FIG.1: Microcontroller Structure

How Microcontroller Work

The microcontroller work[2] when power supply turned off, the program is loaded into the

microcontroller. Power supply is turned on then the control logic unit keeps everything under

control. It disables all other circuits except quartz crystal to operate. Power supply voltage reaches

its maximum and oscillator frequency becomes stable. All pins are configured as inputs. The overall

electronics starts operation in rhythm with pulse sequence. From now on the time is measured in

micro and nanoseconds. Program Counter is set to zero. Instruction from that address is sent to

instruction decoder which recognizes it, after which it is executed with immediate effect. The value

of the Program Counter is incremented by 1 and the whole process is repeated several million times

per second.

Types of Microcontrollers All controllers of a family [3] contain the same processor core and hence are code-

compatible, but they differ in the additional components like the number of timers or the amount of

memory.

Applications of Microcontrollers Microcontrollers have innumerable applications[4]. Some examples of their simple

applications are in, Biomedical instruments like an ECG LCD display cum recorder, blood cell

recorder cum analyzer, patient monitor system. Communication systems like numeric pagers,

cellular phones, cable TV terminals, FAX and transceivers with or without an accelerator, video

game and so on. Peripheral controllers of a computer such as the keyboard controller, printer

controller, laser printer controller, LAN controller and disk drive controller. Instruments such as an

industrial process controller, and electronic smart weight display system. A target tracker. An

automatic signal tracker. Accurate control of the speed and position of a DC motor. A robotics

system. A CNC machine controller. Automotive applications like a close loop engine control, a

dynamic ride control, an anti-lock braking system monitor. Electronic data acquisition and

supervisory control system. Industrial moisture recorder cum controller. CRT display controller.

Digital storage system and spectrum analyzer.

METAL DETECTOR MOBILE ARM ROBOT

A metal detector mobile arm robot (manipulator) show in figure2, designed her as a new

application of microcontroller. The robot used to detect the metal underground depending on the

Page 3: 50120140507004

International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print),

ISSN 0976 - 6375(Online), Volume 5, Issue 7, July (2014), pp. 24-35 © IAEME

26

thermal effect of this metal. Metal detector mobile arm robot has a three systems, mechanical

system, electrical system, and control system.

FIG.2: Metal Detector Mobile Arm Robot

Mechanical System The robot’s mechanical system consists of two branches. The first one as show in figure3 is

the robot carriage system which built of four wheels skid steer vehicle.

FIG.3: Robot Carriage

As in figure4 the vehicle moving use the skid steered wheeled (chain) to make the robot’s

vehicle having more ground contact surface area. This type of moving technique used to be

compatible with different ground types which the robot will detect any metal under it.

FIG.4: Four Tracked Drive Train

The second main components in the mechanical system are the robot arms or the

manipulator. The manipulator built of two arms and two joints supported on rotating base. The

rotating base supported over the vehicle body. Each arm has two degrees of freedom to make it

move in forward and backward directions easily. The arms base has one degree of freedom to rotate

around its centre. Two degrees of freedom of the vehicle (vehicle movement to front and back at

same line) is added to the 5DOF (Degree Of Freedom) of the arm that would give the metal robot

detector a total sum of 7 DOF.

Page 4: 50120140507004

International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print),

ISSN 0976 - 6375(Online), Volume 5, Issue 7, July (2014), pp. 24-35 © IAEME

27

FIG.5: Metal Detection Robot’s Arms and Joints

Electrical system

The main components of the metal detector robot electrical system are motor, battery, and

temperature sensor. Four DC motors were used, two motors for robot’s vehicle wheels movement

forward and backward directions. Other two motors for arms movement. Two chargeable batters,

one battery for motors and sensor, and other one is the power source of controlling system boards.

The final component in the metal detector robot electric system is the temperature sensor. A

thermostat with NTC used as a temperature sensor. Figure 6 appear the DC motor, battery, and

temperature sensor.

FIG.6: DC motor, Battery, and Temperature Sensor

Control System Any control system contain hardware and software branches. The main hardware

Components of a metal detector control system as in figure 7 are actuators, controller, and sensor.

Actuators supply the driving and corrective forces to achieve a desired output. Controller generates

actuator commands according to feedbacks from the sensors and the implemented control algorithm.

Sensors which measure and feedback physical parameters of a system.

FIG.7: Control System Block Diagram

As in figure 8 a controller type PIC 16f877A with transistors TIP142/147 used to control the

metal detector robot movement.

Page 5: 50120140507004

International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print),

ISSN 0976 - 6375(Online), Volume 5, Issue 7, July (2014), pp. 24-35 © IAEME

28

FIG.8: PIC Controller and Transistor

The PCB (printed circuit board) of the DC motor drive and its controller circuit show in figure 9.

FIG.9: PCB of the DC Motor Drive

Also figure 10 show the main circuit schematic of the robot control system and its main printed

circuit board.

FIG.10: PCB and main Circuit Schematic for the Robot’s Control System

Page 6: 50120140507004

International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print),

ISSN 0976 - 6375(Online), Volume 5, Issue 7, July (2014), pp. 24-35 © IAEME

29

The final component of the control system of the metal detector robot is the temperature

sensor (thermostat) which detects the metal by measuring any increase in the ground temperature.

The sensor board and its schematic diagram show in figure 11.

FIG.11: PCB and main Circuit Schematic for the Thermostat

The software of the control system is the programming of the controller unit. The program is

written in PIC basic pro language. This program consist of manual movement with remote control

and automatic movement by itself. A part of this program explain in the following pages.

'*------------- Variables ------------

DelayVARWORD' WORD for variable Delay

B0VARWORD

define ADC_BITS 8 ' Set number of bits in result (8 , 10 )

define ADC_CLOCK 3 ' Set clock source (rc=3)

define ADC_SAMPLEUS 50 ' Set sampling time in microseconds

tonevar word

durvar word

xvar word

'----------- Initialization---------

TRISA = %11011011 ' All PORTA pins are setup as inputs. ' except RA2,RA5 are setup as inputs. TRISB = %00000000 ' All PORTB pins are setup as outputs, TRISC = %00001111 ' FROM RC0 TO RC3 ARE OUTPUTS

'FROM RC4 TO RC7 ARE INPUTS

TRISD = %11111111 ' ALL PORTD PINS ARE SETUP AS INPUTS

TRISE = %11111111

ADCON1 = %01111111 ' Changes PORTE and PORTA analog bits

'Sets all PORTA pins to LOW (0 volts)

PORTA = 0 PORTB = 0

PORTC = 0

PORTD = 0

Page 7: 50120140507004

International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print),

ISSN 0976 - 6375(Online), Volume 5, Issue 7, July (2014), pp. 24-35 © IAEME

30

PORTE = 0

ADCIN 0, B0 ' Read channel 0 to B0

------------------------------------- '

'The first part is manual movement

----------------------< 'the first part

'There are 12 button , 2 buttons can be used in the same time

Check:

'GROUP OF REMOTE 1

IF PORTD.7 = 1 AND PORTD.3 =0 AND PORTD.2 = 0 AND PORTD.1 =0 AND PORTD.0 = 0

AND PORTC.7 =0 AND PORTC.6 = 0 AND PORTC.5 =0 AND PORTC.4 = 0 THEN FWD

'if pb1 connected to RD7 is pressed then the robot moves forward

IF PORTD.6 = 1 AND PORTD.3 =0 AND PORTD.2 = 0 AND PORTD.1 =0 AND PORTD.0 = 0

AND PORTC.7 =0 AND PORTC.6 = 0 AND PORTC.5 =0 AND PORTC.4 = 0 THEN BCK

'if pb2 connected to RD6 is pressed then the robot moves backward

IF PORTD.5 = 1 AND PORTD.3 =0 AND PORTD.2 = 0 AND PORTD.1 =0 AND PORTD.0 = 0

AND PORTC.7 =0 AND PORTC.6 = 0 AND PORTC.5 =0 AND PORTC.4 = 0 THEN RGT

'if pb3 connected to RD5 is pressed then the robot moves right

IF PORTD.4 = 1 AND PORTD.3 =0 AND PORTD.2 = 0 AND PORTD.1 =0 AND PORTD.0 = 0

AND PORTC.7 =0 AND PORTC.6 = 0 AND PORTC.5 =0 AND PORTC.4 = 0 THEN LFT

'if pb4 connected to RD4is pressed then the robot moves left

'GROUP OF REMOTE 2

IF PORTD.3 = 1 AND PORTD.7 = 0 AND PORTD.6 =0 AND PORTD.5 = 0 AND PORTD.4 = 0

AND PORTC.7 =0 AND PORTC.6 = 0 AND PORTC.5 =0 AND PORTC.4 = 0 THEN FLIPPER_U

'if pb5 connected to RD3 is pressed then the flipper moves up

IF PORTD.2 = 1 AND PORTD.7 = 0 AND PORTD.6 =0 AND PORTD.5 = 0 AND PORTD.4 = 0

AND PORTC.7 =0 AND PORTC.6 = 0 AND PORTC.5 =0 AND PORTC.4 = 0 THEN FLIPPER_D

'if pb6 connected to RD2 is pressed then the flipper moves down

IF PORTD.1 = 1 AND PORTD.7 = 0 AND PORTD.6 =0 AND PORTD.5 = 0 AND PORTD.4 = 0

AND PORTC.7 =0 AND PORTC.6 = 0 AND PORTC.5 =0 AND PORTC.4 = 0 THEN ELBOW_U

'if pb7 connected to RD1 is pressed then the elbow motor moves up

IF PORTD.0 = 1 AND PORTD.7 = 0 AND PORTD.6 =0 AND PORTD.5 = 0 AND PORTD.4 = 0

AND PORTC.7 =0 AND PORTC.6 = 0 AND PORTC.5 =0 AND PORTC.4 = 0 THEN ELBOW_D

'if pb8 connected to RD0 is pressed then the elbow motor moves down

GROUP OF REMOTE 3

Page 8: 50120140507004

International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print),

ISSN 0976 - 6375(Online), Volume 5, Issue 7, July (2014), pp. 24-35 © IAEME

31

IF PORTC.7 = 1 AND PORTD.7 = 0 AND PORTD.6 =0 AND PORTD.5 = 0 AND PORTD.4 = 0

AND PORTD.3 =0 AND PORTD.2 = 0 AND PORTD.1 =0 AND PORTD.0 = 0 THEN BASE_U

'if pb9 connected to Rc7is pressed then the base motor moves up

IF PORTC.6 = 1 AND PORTD.7 = 0 AND PORTD.6 =0 AND PORTD.5 = 0 AND PORTD.4 = 0

AND PORTD.3 =0 AND PORTD.2 = 0 AND PORTD.1 =0 AND PORTD.0 = 0 THEN BASE_D

'if pb10 connected to RD1 is pressed then the base motor moves down

IF PORTC.5 = 1 AND PORTD.7 = 0 AND PORTD.6 =0 AND PORTD.5 = 0 AND PORTD.4 = 0

AND PORTD.3 =0 AND PORTD.2 = 0 AND PORTD.1 =0 AND PORTD.0 = 0 THEN LEVEL_U

'if pb11 connected to RD1 is pressed then the level motor moves up

IF PORTC.4 = 1 AND PORTD.7 = 0 AND PORTD.6 =0 AND PORTD.5 = 0 AND PORTD.4 = 0

AND PORTD.3 =0 AND PORTD.2 = 0 AND PORTD.1 =0 AND PORTD.0 = 0 THEN LEVEL_D

'if pb7 connected to RD1 is pressed then the elbow motor moves up

'GROUP OF REMOTE1&2 =16 IF PORTD.7 = 1 AND PORTD.6 =0 AND PORTD.5 = 0 AND PORTD.4 = 0 AND PORTD.3 = 1

AND PORTD.2 = 0 AND PORTD.1 = 0 AND PORTD.0 = 0 AND PORTC.7 = 0 AND PORTC.6 =

0 AND PORTC.5 = 0 AND PORTC.4 = 0 THEN fwd_flp_u

'forward and the flipper up

IF PORTD.7 = 0 AND PORTD.6 =1 AND PORTD.5 = 0 AND PORTD.4 = 0 AND PORTD.3 = 1

AND PORTD.2 = 0 AND PORTD.1 = 0 AND PORTD.0 = 0 AND PORTC.7 = 0 AND PORTC.6 =

0 AND PORTC.5 = 0 AND PORTC.4 = 0 THEN bck_flp_u

' backward and flipper up

IF PORTD.7 = 0 AND PORTD.6 =0 AND PORTD.5 = 1 AND PORTD.4 = 0 AND PORTD.3 = 1

AND PORTD.2 = 0 AND PORTD.1 = 0 AND PORTD.0 = 0 AND PORTC.7 = 0 AND PORTC.6 =

0 AND PORTC.5 = 0 AND PORTC.4 = 0 THEN rgt_flp_u

' right and flipper up

IF PORTD.7 = 0 AND PORTD.6 =0 AND PORTD.5 = 0 AND PORTD.4 = 1 AND PORTD.3 = 1

AND PORTD.2 = 0 AND PORTD.1 = 0 AND PORTD.0 = 0 AND PORTC.7 = 0 AND PORTC.6 =

0 AND PORTC.5 = 0 AND PORTC.4 = 0 THEN lft_flp_u

' left and flipper up ------------'

IF PORTD.7 = 1 AND PORTD.6 =0 AND PORTD.5 = 0 AND PORTD.4 = 0 AND PORTD.3 = 0

AND PORTD.2 = 1 AND PORTD.1 = 0 AND PORTD.0 = 0 AND PORTC.7 = 0 AND PORTC.6 =

0 AND PORTC.5 = 0 AND PORTC.4 = 0 THEN fwd_flp_d

Page 9: 50120140507004

International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print),

ISSN 0976 - 6375(Online), Volume 5, Issue 7, July (2014), pp. 24-35 © IAEME

32

'forward and the flipper down

IF PORTD.7 = 0 AND PORTD.6 =1 AND PORTD.5 = 0 AND PORTD.4 = 0 AND PORTD.3 = 0

AND PORTD.2 = 1 AND PORTD.1 = 0 AND PORTD.0 = 0 AND PORTC.7 = 0 AND PORTC.6 =

0 AND PORTC.5 = 0 AND PORTC.4 = 0 THEN bck_flp_d

'backward and the flipper down

IF PORTD.7 = 0 AND PORTD.6 =0 AND PORTD.5 = 1 AND PORTD.4 = 0 AND PORTD.3 = 0

AND PORTD.2 = 1 AND PORTD.1 = 0 AND PORTD.0 = 0 AND PORTC.7 = 0 AND PORTC.6 =

0 AND PORTC.5 = 0 AND PORTC.4 = 0 THEN rgt_flp_d

'right and the flipper down

IF PORTD.7 = 0 AND PORTD.6 =0 AND PORTD.5 = 0 AND PORTD.4 = 1 AND PORTD.3 = 0

AND PORTD.2 = 1 AND PORTD.1 = 0 AND PORTD.0 = 0 AND PORTC.7 = 0 AND PORTC.6 =

0 AND PORTC.5 = 0 AND PORTC.4 = 0 THEN lft_flp_d

'leftand the flipper down '------------

IF PORTD.7 = 0 AND PORTD.6 =0 AND PORTD.5 = 0 AND PORTD.4 = 0 AND PORTD.3 =0

AND PORTD.2 = 0 AND PORTD.1 = 0 AND PORTD.0 = 0 AND PORTC.7 = 0 AND PORTC.6 =

0 AND PORTC.5 = 0 AND PORTC.4 = 0 THEN STP

'if no button is pressed then stop

If porta.1 = 1 then beep' make sound if sensor give high signal

goto check

STP:

LOW PORTB.0 :LOW PORTB.1 : LOW PORTB.2 : LOW PORTB.3 :LOW PORTB.4 :LOW

PORTB.5 :LOW PORTB.6:LOW PORTB.7 :LOW PORTC.0 :LOW PORTC.1 :LOW PORTC.2

:LOW PORTC.3 :LOW PORTC.0 :LOW PORTC.1 :LOW PORTC.2 :LOW PORTC.3

GOTO CHECK

'REMOTE 1 RESULTS

FWD:

HIGH PORTB.0 :LOW PORTB.1 :HIGH PORTB.2 :LOW PORTB.3 :low PORTB.4 :LOW

PORTB.5 :LOW PORTB.6 :LOW PORTB.7

goto check

BCK:

LOW PORTB.0 :HIGH PORTB.1 :LOW PORTB.2 :HIGH PORTB.3 :low PORTB.4 :LOW

PORTB.5 :LOW PORTB.6 :LOW PORTB.7

GOTO CHECK

Page 10: 50120140507004

International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print),

ISSN 0976 - 6375(Online), Volume 5, Issue 7, July (2014), pp. 24-35 © IAEME

33

RGT:

HIGH PORTB.0 :LOW PORTB.1 :LOW PORTB.2 :HIGH PORTB.3 :low PORTB.4 :LOW

PORTB.5 :LOW PORTB.6 :LOW PORTB.7

GOTO CHECK

LFT:

LOW PORTB.0 :HIGH PORTB.1 :HIGH PORTB.2 :LOW PORTB.3 :low PORTB.4 :LOW

PORTB.5 :LOW PORTB.6 :LOW PORTB.7

GOTO CHECK

'REMOTE 2 RESULTS:

FLIPPER_U:

low PORTB.0 :LOW PORTB.1 :low PORTB.2 :LOW PORTB.3 :HIGH PORTB.4 :LOW PORTB.5

:LOW PORTB.6 :LOW PORTB.7

GOTO CHECK

FLIPPER_D:

low PORTB.0 :LOW PORTB.1 :low PORTB.2 :LOW PORTB.3 :LOW PORTB.4 :HIGH PORTB.5

:LOW PORTB.6 :LOW PORTB.7

GOTO CHECK

ELBOW_U:

low PORTB.0 :LOW PORTB.1 :low PORTB.2 :LOW PORTB.3 :LOW PORTB.4 :LOW PORTB.5

:HIGH PORTB.6 :LOW PORTB.7

GOTO CHECK

ELBOW_D:

low PORTB.0 :LOW PORTB.1 :low PORTB.2 :LOW PORTB.3 :LOW PORTB.4 :LOW PORTB.5

:LOW PORTB.6 :HIGH PORTB.7

GOTO CHECK

REMOTE 3 RESULTS:

BASE_U:

HIGH PORTC.0 :LOW PORTC.1 :LOW PORTC.2 :LOW PORTC.3

GOTO CHECK

BASE_D:

LOW PORTC.0 :HIGH PORTC.1 :LOW PORTC.2 :LOW PORTC.3

GOTO CHECK

LEVEL_U:

LOW PORTC.0 :LOW PORTC.1 :HIGH PORTC.2 :LOW PORTC.3

GOTO CHECK

LEVEL_D:

LOW PORTC.0 :LOW PORTC.1 :LOW PORTC.2 :HIGH PORTC.3

Page 11: 50120140507004

International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print),

ISSN 0976 - 6375(Online), Volume 5, Issue 7, July (2014), pp. 24-35 © IAEME

34

GOTO CHECK

'results of 1&2

fwd_flp_u:

HIGH PORTB.0 :LOW PORTB.1 :HIGH PORTB.2 :LOW PORTB.3 :HIGH PORTB.4 :LOW

PORTB.5 :LOW PORTB.6 :LOW PORTB.7

goto check

bck_flp_u:

LOW PORTB.0 :HIGH PORTB.1 :LOW PORTB.2 :HIGH PORTB.3 :HIGH PORTB.4 :LOW

PORTB.5 :LOW PORTB.6 :LOW PORTB.7

goto check

rgt_flp_u:

HIGH PORTB.0 :LOW PORTB.1 :LOW PORTB.2 :HIGH PORTB.3 :HIGH PORTB.4 :LOW

PORTB.5 :LOW PORTB.6 :LOW PORTB.7

goto check

lft_flp_u:

LOW PORTB.0 :HIGH PORTB.1 :HIGH PORTB.2 :LOW PORTB.3 :HIGH PORTB.4 :LOW

PORTB.5 :LOW PORTB.6 :LOW PORTB.7

goto check

fwd_flp_d:

HIGH PORTB.0 :LOW PORTB.1 :HIGH PORTB.2 :LOW PORTB.3 :LOW PORTB.4 :HIGH

PORTB.5 :LOW PORTB.6 :LOW PORTB.7

goto check

bck_flp_d:

LOW PORTB.0 :HIGH PORTB.1 :LOW PORTB.2 :HIGH PORTB.3 :LOW PORTB.4 :HIGH

PORTB.5 :LOW PORTB.6 :LOW PORTB.7

goto check

rgt_flp_d:

HIGH PORTB.0 :LOW PORTB.1 :LOW PORTB.2 :HIGH PORTB.3 :LOW PORTB.4 :HIGH

PORTB.5 :LOW PORTB.6 :LOW PORTB.7

goto check

lft_flp_d:

LOW PORTB.0 :HIGH PORTB.1 :HIGH PORTB.2 :LOW PORTB.3 :LOW PORTB.4 :HIGH

PORTB.5 :LOW PORTB.6 :LOW PORTB.7

goto check

'----------

Beep:

LOW PORTB.0 :LOW PORTB.1 : LOW PORTB.2 : LOW PORTB.3 :LOW PORTB.4 :LOW

PORTB.5 :LOW PORTB.6:LOW PORTB.7 :LOW PORTC.0 :LOW PORTC.1 :LOW PORTC.2

:LOW PORTC.3 :LOW PORTC.0 :LOW PORTC.1 :LOW PORTC.2 :LOW PORTC.3

FOR x = 0 TO 50

Page 12: 50120140507004

International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print),

ISSN 0976 - 6375(Online), Volume 5, Issue 7, July (2014), pp. 24-35 © IAEME

35

lookup

x,[80,0,75,0,68,0,75,0,80,0,80,0,80,0,75,0,75,0,75,0,80,0,80,0,80,0,80,0,75,0,68,0,75,0,80,0,80,0,80,

0,80,0,75,0,75,0,80,0,75,0,68],tone

lookup

x,[80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,

0,80,0,80,0,80,0,80,0,80,0,80],dur

Sound portb.0, tone,dur] [

next

pause 10000

Gotocheck

'stop and make tone when sensor become high

END

CONCLUSION

A metal detector robot discussed as a new application for microcontroller. The robot has two

arms with tow joints supported on moving base which connected with vehicle carriage. The vehicle

carriage moving done by using four wheels skid steer to make the robot’s moving easy and stable on

the any type of ground. For metal detection a thermostat was used to measure any increase in the

ground temperature to determine the position of this metal. The moving of the robot arms and

vehicle wheels were controlled by using a controller type PIC 16f877A with transistors TIP142/147.

The hardware and software of the metal detector robot discussed very well to explain the benefits of

using this robot as a tool can be used in metal detection at open area with any type of ground with

high accurate detect and stable motion.

REFERENCES

[1] John A. Chandy, “Microcontroller Applications in Engineering”, ECE110, university of

Connecticut, January 24, 2008.

[2] G¨unther Gridling, Bettina Weiss, “Introduction to Microcontrollers”, Courses 182.064 &

182.074, Vienna University of Technology, February 26, 2007, Version 1.4.

[3] David calcut, “Microcontroller an Applications Based Introduction”, Newnes, ELSEVIER,

2011.

[4] OKI, “Microcontroller”, Data Book, ELSEVIER, 1988, third edition.

[5] Kabeer Mohammed and Dr.Bhaskara Reddy, “Optimized Solution for Image Processing

Through Mobile Robots Working as a Team with Designated Team Members and Team

Leader”, International Journal of Computer Engineering & Technology (IJCET), Volume 4,

Issue 3, 2013, pp. 140 - 148, ISSN Print: 0976 – 6367, ISSN Online: 0976 – 6375.

[6] Hameedah Sahib Hasan and Dr. P.Ramesh Babu, “Analysis and Control of Mobile Robot for

Pipe Line Inspection”, International Journal of Mechanical Engineering & Technology

(IJMET), Volume 4, Issue 5, 2013, pp. 1 - 9, ISSN Print: 0976 – 6340, ISSN Online:

0976 – 6359.

[7] Sreekanth Reddy Kallem, “Artificial Intelligence in the Movement of Mobile Agent

(Robotic)”, International Journal of Computer Engineering & Technology (IJCET), Volume 4,

Issue 6, 2013, pp. 394 - 402, ISSN Print: 0976 – 6367, ISSN Online: 0976 – 6375.