Top Banner
PROJECT REPORT SIXTH SENSING ROBOT A Project on Atmel ATMega8 Development Board Ritesh Dwivedi Shivarshi Bajpai Shivam Batra Sagar Bidani F 6
24
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Sixth sensing robot

PROJECT REPORT

SIXTH SENSING

ROBOT A Project on Atmel ATMega8

Development Board

Ritesh Dwivedi

Shivarshi Bajpai

Shivam Batra

Sagar Bidani

F

6

Page 2: Sixth sensing robot

Contents

o Acknowledgement

o Introduction

o Hardware Description :

ATMega8 Development Board

ATMega8L-PU Microprocessor

The Bot

Camera

o Working

o The Code

o References

Page 3: Sixth sensing robot

Introduction

Sixth sense technology is a revolutionary way to a physical world directly without using dedicated electronic chips. Sixth sense is a set of wearable devices that acts as a gestural interface and aggrandize the physical world around us with physical information and lets the users to use natural hand gestures to interact with the digital information through it. This technology gaining its popularity strength because of its usability, simplicity and ability to work in today’s scenario.

The sixth sense technology makes use of different image processing techniques .There are binary images which contain only two logic values 0 or 1.intensity image which is a black and white image with a varying brightness level between o and 255. A digital colour image consists of RGB (Red, Green and Blue) components in different proportions.

A different coloured object contains different pixel values. When an images is captured the position of required object is sensed or found by specifying

Page 4: Sixth sensing robot

pixel range of the required object. The coloured image is converted into binary image, in which the pixel values whose values lies within the range of required object pixel values are converted into binary logic vale 1(white pixels) and the pixels value coloured image which are out of range of the pixel values of the specified object are converted into binary value 0 (black pixel).with the help of these binary converted image it is very easy to find the position of the object.

Page 5: Sixth sensing robot

WORKING

PRINCIPAL:

We make use of sixth sense technology for our project. In which we capture the image using webcam or using any other camera. The more the sensitivity of the camera the more resolution we get and hence we can use it for long distance sensing of the object. The object captured is processed through some techniques and then its location or position is found out. And corresponding command is given to the robot.

The Sixth Sense robot works as follows:

1. It captures the image of the object in view and track the user’s hand gestures.

2. There are colour markers placed at the tip of user’s finger. Marking the user’s fingers with red, yellow, green and blue coloured tape helps the webcam to recognize the hand gestures. The movements and arrangement of these markers are

Page 6: Sixth sensing robot

interpreted into gestures that act as an interaction instruction for the projected application interfaces.

3. The laptop processes the image and interprets the hand gestures with the help of the coloured markers placed at the finger tips.

4. The information that is interpreted through the laptop is send to bot according which it make movements.

Page 7: Sixth sensing robot

Hardware Description

ATMega8L-PU: The Atmega8l-8pu is an 8 bit micro controller based on the Atmega 8 datasheet. It has a maximum clock frequency of 8 MHz and 8 bit data bus width with AVR core. The operating supply voltage ranges from 2.7 v to 5.5 voIts has a total of 3 timers with 23 number of programmable I/O’s, a USB connection, a power jack, a Reset button, on/off button.

It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with an AC-to-DC adapter or battery to get started. Pin Number Description 1 (RESET) PC6 2 (RXD) PD0 3 (TXD) PD1

4 (INT0) PD2 5 (INT1) PD3

Page 8: Sixth sensing robot

6 (XCK/T0) PD4

7 VCC 8 GND 9 (XTAL1/TOSC1) PB6 10 (XTAL2/TOSC2) PB7

11 (T1)PD5 12 (AIN0) PD6 13 (AIN1) PD7

14 (ICP1) PB0 15 (OC1A) PB1 16 (SS/OC1B) PB2

17 (MOSI/OC2) PB3 18 (MISO) PB4 19 (SCK) PB5 20 AVCC

21 AREF 22 GND 23 (ADC0) PC0

24 (ADC1) PC1 25 (ADC2) PC2 26 (ADC3) PC3

27 (ADC4/SDA) PC4 28 (ADC5/SCL) PC5

Page 9: Sixth sensing robot

Features

High-performance, Low-power AVR 8-bit Microcontroller

- 130 Powerful Instructions - Most Single Clock Cycle

Execution

- 32 x 8 General Purpose Working Registers

- Up to 6 MIPS Throughput at 16MHz

- Fully Static Operation

- On-chip 2-cycle Multiplier

Non-volatile Program and Data Memories

- 8k Bytes of In-System Self-Programmable Flash

- Optional Boot Code Section with Independent Lock Bits

- 512K Bytes EEPROM

- Programming Lock for Software Security

- 1K Byte Internal SRAM

Peripheral Features

- On-chip Analog Comparator

- Programmable Watchdog Timer with Separate On-chip

Oscillator

- Master/Slave SPI Serial Interface

- Two 8-bit Timer/Counters with Separate Prescalar,

Compare

- One 16-bit Timer/Counter with Separate Prescaler,

Compare and Capture mode

- Real Time Counter with Separate Oscillator

Page 10: Sixth sensing robot

- Three PWM Channels

- 8-channel ADC in TQFP and MLF package

- 6-channel ADC in PDIP package

- Byte-oriented Two-wire Serial Interface

- Programmable Serial USART

Special Microcontroller Features

- Power-on Reset and Programmable Brown-out Detection

- Internal Calibrated RC Oscillator

- External and Internal Interrupt Sources

- Five Sleep Modes: Idle, ADC Noise Reduction, Power-

save, Power-down and Standby

I/O and Packages

- 23 Programmable I/O Lines

- 28-lead PDIP, 32-lead TQFP, 32-pad MLF

Operating Voltages

- 4.5-5.5V for ATmega8L

Speed Grades

- 0-16 MHz for ATmega8L

Power Consumption

- Active: 3.6mA

- Idle Mode: 10mA

- Power-down Mode: 0.5 µA

Page 11: Sixth sensing robot
Page 12: Sixth sensing robot

ATMega8 Development Board:

The Atmel® AVR® ATmega8 is a low-power CMOS 8-bit microcontroller based on the AVR RISC architecture. By executing powerful instructions in a single clock cycle, the ATmega8 achieves throughputs approaching 1MIPS per MHz, allowing the system designer to optimize power consumption versus processing speed.

Page 13: Sixth sensing robot

The Bot: Bot is an autonomous robot made of Atmel

ATMega8L-8PU development board containing

Atmel 8-bit AVR RISC-based microcontroller

which combines 8KB of programmable flash

memory, 1KB of SRAM, 512K EEPROM, and a 6

or 8 channel 10-bit A/D converter. The device

supports throughput of 16 MIPS at 16 MHz and

operates between 2.7-5.5 volts.

H-Bridge Motors: It is an electronic circuit which enables a voltage to be applied across a load in either direction. It allows a circuit full control over a standard electric DC motor. That is, with an H-bridge, a microcontroller, logic chip, or remote control can electronically command the motor to go forward, reverse, brake, and coast.

Page 14: Sixth sensing robot

vin S1 S3

S2 S4

S1 S2 S3 S4 Result 1 0 0 1 Motor

rotates in one direction

0 1 1 0 Motor

rotates in opposite direction

0 0 0 0 Motor free

runs (coasts)

0 1 0 1 Motor

brakes 1 0 1 0 Motor

brakes

M

Page 15: Sixth sensing robot

Camera:

Camera captures the image of the object in view and tracks the user’s hand gesture. The camera recognizes individuals, images, pictures, gestures that user makes with his hand. The camera then sends this data to a smartphone for processing. Basically the camera forms a digital eye which connects to the world of digital information.

In this project we’ll use laptop’s webcam.

Colour Marker: There are colour markers placed at the tip of user’s fingers. Marking the user’s fingers with red, yellow, green and blue coloured tape helps the webcam to recognize the hand gestures. The movements and arrangement of these markers are interpreted into gestures that act as an interaction instruction for the projected application interfaces.

Page 16: Sixth sensing robot

The Code

Page 17: Sixth sensing robot
Page 18: Sixth sensing robot
Page 19: Sixth sensing robot
Page 20: Sixth sensing robot

function sixthsense v=videoinput('winvideo'); preview(v) snap=getsnapshot(v); i1=ycbcr2rgb(snap); [a b c]=size(i1); x=0; y=0; z=0; for m=1:a for n=1:b if((i1(m,n,1)<=150)&&(i1(m,n,1)>=90)&&(i1(m,n,2)>=230)&&(i1(m,n,2)<=255)&&(i1(m,n,3)>=60)&&(i1(m,n,3)<=170)) x=x+1; end end end

Page 21: Sixth sensing robot

disp(x); for m=1:a for n=1:b if((i1(m,n,1)<=255)&&(i1(m,n,1)>=250)&&(i1(m,n,2)>=140)&&(i1(m,n,2)<=220)&&(i1(m,n,3)>=250)&&(i1(m,n,3)<=255)) y=y+1; end end end disp(y); for m=1:a for n=1:b if((i1(m,n,1)<=255)&&(i1(m,n,1)>=250)&&(i1(m,n,2)>=90)&&(i1(m,n,2)<=150)&&(i1(m,n,3)>=85)&&(i1(m,n,3)<=150)) z=z+1; end end

Page 22: Sixth sensing robot

end if((x>y)&&(x>z)) s=serial('com34'); set(s,'BaudRate',9600); fopen(s); fwrite(s,'f'); fclose(s); else if((y>x)&&(y>z)) s=serial('com34'); set(s,'BaudRate',9600); fopen(s); fwrite(s,'b'); fclose(s);

else if((z>x)&&(z>y)) s=serial('com34'); set(s,'BaudRate',9600); fopen(s); fwrite(s,'a'); fclose(s); end end else fopen(s);

Page 23: Sixth sensing robot

fwrite(s,'b'); fclose(s); msgbox('no color detected'); end end end