Docstoc

20101209_ELEC254_Project_Report_Group_2

Document Sample
20101209_ELEC254_Project_Report_Group_2 Powered By Docstoc
					                                             12/9/2010




                     Project Report

                       Group #2



                   G-Hockey

HKUST
ECE
             ELEC254 MICROELECTRONIC EXPERIMENTS




        WANG Wei        Liao Jiaqing    Jin Ming
        07610880          07596058      08583151
        ee_wwxad            ee_ljq       ee_jmx
      ELEC254 Project Report                            Group #2                                         G-Hockey




                                      Table of Contents



1  Abstract .............................................................................................................. 2
2  Introduction......................................................................................................... 2
3  Overall Description ............................................................................................... 3
   3.1   Setup Instructions ....................................................................................... 3
   3.2   Operating Instructions.................................................................................. 3
   3.3   Game Flow and Functionalities ...................................................................... 3
   3.4   Control Configuration ................................................................................... 6
   3.5   Limitations .................................................................................................. 7
4 Hardware Implementation ..................................................................................... 8
   4.1   Hardware Overview ..................................................................................... 8
   4.2   Component Breakdown ................................................................................ 8
   4.3   System Block Diagram ................................................................................. 9
   4.4   Principle of operations .................................................................................. 9
   4.5   Picture of Motherboard Circuit ..................................................................... 12
   4.6   System Schematic ..................................................................................... 13
5 Software Implementation: ................................................................................... 13
   5.1   Software Overview .................................................................................... 13
   5.2   Introduction to Keil C ................................................................................. 14
   5.3   General descriptions of major functions ........................................................ 14
6 Problems encountered and solutions ..................................................................... 18
7 Conclusion and Future Improvement ..................................................................... 18
8 Appendix A – Links ............................................................................................. 19
9 Appendix B – Project Expense .............................................................................. 20
10   Appendix C – Contacts ..................................................................................... 21
11   Appendix D - Source Code ................................................................................ 21




                                                                                                            Page 1 of 22
     ELEC254 Project Report                 Group #2                               G-Hockey



1     Abstract
ELEC254 - Microprocessor Experiments is one of the most interesting courses in the ECE
department. It brings us into the new region of computer controlled world and allows us to
make the ideas that we have been conceiving for a long time into reality. It is a course mixed
with knowledge of digital circuits (ELEC151/152), analog circuits (ELEC102/202/304), as well
as computer programming (Assembly/C). We cherish this unique opportunity for us to build a
project that can integrate all the knowledge we learned.

We came up with the G-Hockey game because it is both interesting and challenging. As far as
we know, this kind of real-time decision and control is very difficult in 8051 and it is even more
difficult to bring a good gaming experience for the players. To achieve that, we decided to use
only gamepads with accelerometers attached on it as inputs, and all the selections and move
in the game is controlled by tilting the gamepad in different angles. As a result we did not
include any button in the system. Moreover, we included a speaker to play sound effects to
bring more fun. In the software, we map 128*64 pixels of the LCD into 1024*512 coordinates
into the memory, allowing the smooth movement of the ball and reducing the jumping
phenomena into minimum.

Much more efforts have been made to improve the detail of the project and finally we
successfully demonstrate our abilities. The training we have gone through in the ELEC254
course is invaluable for us as Electronic Engineers and all of us feel the happiness of learning
and improving.



2     Introduction
Air hockey is a popular cell-phone mini-game. Inspired by Wii and iPhone games, we came up
with a purely motion controlled hockey game which could add more fun than the original one.
We call it G-Hockey.

The game is about bouncing a ball with a bat into opponent’s gate. It is a simple but
challenging practice as the player needs to follow the ball’s movement, anticipate the bouncing
against bats or walls and react to opponent’s action at the same time.

With our system, players can use game pads to control the movement of bats or select items
in menus. One LCD of resolution 128*64 pixels shows the progress of the game along with
welcome screen and menus, and a second LCD will light up when two player are playing in the
“Dual Mode”. Also, a speaker provides sound effects accordingly during the game.

The game supports both single-player and dual modes. In single-player mode, player can play
under 4 difficulties (practice, normal, hard and lonely) against different levels of AIs. In dual
mode, two human players can compete against each other. The game is designed with lots of
features such as real time display, various game modes and AI, game menu, pure motion
control as well as complex graphic and sound effects. All these features add to an
all-in-one-pack game that aims to offer players enjoyable gaming experiences.




                                                                                     Page 2 of 22
     ELEC254 Project Report                Group #2                               G-Hockey



3       Overall Description
3.1 Setup Instructions
        Connect the 8051 emulator to the circuit.
        Other components should have already been built on the breadboard, including (i)
         ADC (ii) G-Sensors (iii) LCD (iv) the speaker, etc.
        Connect the Power/Ground cable to the 5V and ground of the power supply
         respectively
        Build and run the program in MedWin.
        Enjoy.




3.2 Operating Instructions


When the game starts, you should expect to see a start-up welcome screen, which will flicker
several times and then turns into mode selection window.

In the mode selection window, one can use the game bar to move the cursor back and forth the
options. There are several modes for selection, including Single Player mode with difficulty
level selection and Double Player mode.

After selecting the Play mode, one should be able to enter the play field. The play field is made
up of a pair of bats, goals and a ball. To control the bat to move up/down, left/right, one needs
to adjust the game handle bar by tilting it in the corresponding direction. Note that we have
several velocity levels to control, one should adjust quickly enough to get desired velocity.




3.3 Game Flow and Functionalities


         Welcome Screen




                                        When the game starts, you should expect to see a start-up
                                        welcome screen, which will flicker several times and then
                                        turns into mode selection window.




                                                                                    Page 3 of 22
ELEC254 Project Report      Group #2                                   G-Hockey



       Main Menu
                         In the mode selection window, one can use the game bar to
                         move the cursor back and forth the options. There are
                         several modes for selection, including Single Player mode
                         with difficulty level selection and Double Player mode.

                         One needs to rotate the controller in the up, down direction
                         to move the curse and rote it right to confirm. Confirmation
                         progress bar will be displayed on the lower left (shown in the
                         next image) to prevent accidental selection. Other menu
                         selections work this way too.

  Difficulty Selection   If one selects the Single Player mode, there are four
                         difficulties to select.

                         Practise mode allows the player to get familiar with the
                         control of the game. There is no goal in this mode.

                         Easy and Normal modes have different AIs to compete with
                         the player.

                         In Lonely mode, the opponent will always catch the ball,
                         which means one can never beat the AI.

                         One can go back to main menu by rotating the controller left.



       Kick Off




                         After one game mode is selected, the player needs to wait
                         for the whistle, which is the third high-pitch beep sound
                         played by the speaker. Then one should be able to enter the
                         play field.




                         The play field is made up of a pair of bats, goals and a ball.
      Play Field         The player needs to try to use his bat to bounce the ball into
                         opponent’s gate and prevent the ball from entering his goal.
                         To make the ball harder to catch, one should accelerate the
                         ball by moving up the bat against the incoming ball. The
                         faster the bat is, the faster the ball will be accelerated. The
                         pace of the competition will get faster when the ball is
                         accelerated several times by the bats.



                                                                          Page 4 of 22
ELEC254 Project Report      Group #2                                  G-Hockey




                         With motion control, the game can become quite exciting. To
                         add more spice, game sound effect is added. Each bounce
                         against a bat or a wall will be accompanied by a beep from
                         the speaker.




      Scoreboard



                         If a goal is achieved, a goal screen will be displayed to show
                         the score. Then it will resume to play field.




       Quit Menu



                         Select “No” to resume and “Yes”to go back to main menu.




Double Player Mode

                         After one enters double player “Dual”mode, the other LCD
                         (red) will be lighted for the joining player.




                                                                         Page 5 of 22
     ELEC254 Project Report                 Group #2                               G-Hockey



3.4 Control Configuration
To control the bat to move or accelerate up/down, left/right, one needs to adjust the game
handle bar by tilting it in the corresponding direction. Note that we have several velocity levels
to control, one should adjust quickly enough to get desired velocity.

                               Game Bat Control Demonstration
              Tilt up, cursor up                                Tilt, cursor down




      Tilt left, go back to main menu                      Tilt right, confirm selection
            (in single player menu)                           or moving to the right




If one tries to quit the current game, he should keep the controller still for 3 seconds. Then the
quit/resume menu will appear.




                                                                                     Page 6 of 22
     ELEC254 Project Report                 Group #2                                G-Hockey



                                  Dual Mode Demostration




3.5 Limitations
   Due to the processing power of 8051 and the limitation of the serial LCD we choose, the
    refreshing rate is limited, leading to the flashing of the screen. These may be overcome by
    choosing better MCU and parallel LCD.


   The game bat displayed on the screen may fade for a short amount of time when the ball
    is close. This is due to the LCD is divided into 8 pages and each time we write the data we
    have to write a page, i.e. a column of 8 pixels. If the ball is close to the bat, when we write
    the ball, we may erase some part of the bat and vice versa, so it becomes fade. One way
    to solve this is to write specific functions to deal with this situation, but the algorithm is
    very complicated and due to lack of time we did not take that.


   The analog output of the accelerometers is from 1.3V to 1.9V. But the ADC we use can
    sense 0-5V, which means we only utilized a little portion of the ADC and it results in lower
    resolution. We may build a linear amplifier to map the 1.3V-1.9V output to 0-5V.

   There is no circuit protector in our system. Once we connect the Vcc and Gnd wrongly, we
    risk burning the chips. This happened twice when we burned one accelerometer and one
    LCD. A simple device can prevent it from happen again, but due to time limitations, we did
    not add the component.




                                                                                      Page 7 of 22
       ELEC254 Project Report                   Group #2                                G-Hockey



4      Hardware Implementation
4.1        Hardware Overview
G-Hockey is a game that demands flexible user control and entertaining game display.
Inspired by the popular mobile phone game Squash, which senses the tilt of screen to control
the racket, we decided to use the G-sensor MMA7260 to create a better user experience. The
output of G-sensor is then fed into ADC0804, which is configured to have a flexible span. The
8 bits output, together with those of other 2 counterparts, is subsequently selected by MUX
CD4051BE and eventually input to 8051 for processing.

The LCD SSH_12864 we use is of size 64*128 pixels, a resolution sufficient for G-hockey
display. It is of a different type from the one we used in lab in many aspects: (i) It doesn’t
support ASCII code and requires establishment of user’s own character database (ii) the
screen is divided into 8 pages, each of which has 128 columns of 8 bits (iii) it utilizes serial data
bus rather than parallel data bus.

In order to make G-Hockey support multi-player mode, we build another set of inputs and
outputs circuit to interact with each other. The central processing unit is the “all-powerful”
8051, whose software is of great complexity and will be introduced later.



4.2 Component Breakdown

Item              Model           Specification Quantity Description
MCU               Emulator                           1         8052

LCD Screen        SSH12864        128*64pixels       2         For displaying the game

Speaker                                              1         To play sound effect

Variable
                                                     1         To adjust the volume of the speaker
resistor
                                                               Triple cascade configuration to drive
NPN transistor    2N2222                             3
                                                               the speaker
                                                               To sense the motion of the two game
Accelerometer     MMA7260QT       3-axis             2
                                                               bats

                                                               To direct one analog input from
Analog MUX        CD4051          8-channel          1
                                                               accelerometers to the ADC at a time

                                                               Convert the analog signal of the
ADC               ADC0804         8-bit              1         accelerometer input to digital value to
                                                               be read by 8051

                  R=10kohm,                                    oscillator for the ADC
RC oscillator
                  C=150pF

Resistors
                  10k ohm         8 in series        1         Pull-up resistors for port0 of 8051
Network



                                                                                          Page 8 of 22
     ELEC254 Project Report                 Group #2                               G-Hockey



4.3 System Block Diagram




4.4 Principle of operations
a) Accelerometer

The model of accelerometer we are using is MMA7260QT. It has 3 analog output: x,y,z,
sensing the acceleration in the horizontal x, horizontal y, and vertical z direction respectively.
As long as we configure the pins correctly, the accelerometer will work by itself without any
instructions from the MCU. The analog output of x port ranges from 1.35V to 1.95V, the y port
ranges from 1.3V to 1.9V. Each value corresponds to a particular tilting angle in that direction,
so by reading the value through an ADC, we can know the orientation of the game bat and
control the game accordingly.

Notice it has also got an on-chip 3.3V regulator that we did not use.




                                                                                     Page 9 of 22
     ELEC254 Project Report                Group #2                              G-Hockey



b) Analog-to-digital converter ADC0804

The ADC we use to convert the analog signal from the accelerometer output to 8-bit digital
signal is the same as we have used in the Lab. The interface is the same as the Lab so we omit
the details here.




c) Analog MUX CD4051

Because each accelerometer will output two analog signals, we need to read 4 analog signals
in total. This means we need 4 ADCs to do the conversion, which may make the circuit very
complicated and error-prone. So after considering the problem carefully, we found that
although we are dealing some real time input, since the output frame rate is somehow limited
by our MCU (around 20fps), it is possible for us to just read these 4 signals in series. This is
why we need the CD4051, we need to control direct only one analog signal to the ADC at a
time.

The configuration of CD4051 is also very simple as below.




                                                                                  Page 10 of 22
     ELEC254 Project Report                  Group #2                            G-Hockey



d) LCD Screen

To display the game, we use two LCDs (Model: SH12864) of resolution 128*64 pixels. The one
with blue backlight is the main display, while the one with red backlight is the secondary
display, which will only light up when in “Dual-Mode”.




Notice that to save pin count, the LCDs we use are serial input LCD with only 9 pins. They are:
CS’, RES, A0, SCK, SDI, VDD, GND, RED’, and BLUE’. For simplicity, we can just connect CS’=0,
VDD=5V, GND=0V, BLUE=0 (Blue backlight). What remains are only 4 pins, RES, A0, SCK,
SDI. Their functions are as follows:

RES: reset
A0: 0=Data, 1=Command
SCK: serial clock input. The LCD will read the data on “SDI” when SCK=0->1
SDI: serial data input

For details please refer to the datasheet.

e) Speaker and Driver

To make the game more interesting, we want to include sound effect as well. So a speaker and
its driver circuit are connected to the MCU. The driver circuit consists of 3 NPN transistors in
cascade configuration, and the MCU control signal P3.7 (outputting a square wave) is apply to
the base of the 3rd NPN transistor. So we can amplify the current from the MCU by around
beta^3, that is around 60dB, which is large enough to drive the speaker.




                                                                                  Page 11 of 22
   ELEC254 Project Report   Group #2   G-Hockey



4.5 Picture of Motherboard Circuit




                                       Page 12 of 22
     ELEC254 Project Report               Group #2       G-Hockey



4.6 System Schematic




5    Software Implementation:
5.1 Software Overview
The software of G-hockey includes:
(i)    game rule and implementation
(ii)   LCD display algorithm
(iii)  control and coordination of other pertinent ICs




                                                         Page 13 of 22
     ELEC254 Project Report               Group #2                             G-Hockey



The game rule and implementation part is responsible for (i) no-collision situation, (ii)
detection of ball-bat, ball-border, bat-border collision and update of position/velocity
information, (iii) goal-detection.

The LCD display software deals with start-up welcome screen, display of ball, bats and field,
and display of game results and refresh screen with updated information.

The software that controls and coordinates other ICs is responsible for processing inputs from
G-sensors and coordinating other ICs.


5.2 Introduction to Keil C
Keil is a free accessed software that enables software to be implemented in C language rather
than assembly language. Besides abiding by the conventions all C programming, programmers
should also take the hardware restrictions into consideration. In order to run Keil on the
computer in 3115, one needs to:

    1.   Download Keil and save it in D disk, which is accessible, though with very limited
         authority
    2.   Open Medwin. Change the complier settings, choose using “External Compliers”.
         Locate the source file of Keil to be the compiler, linker and assembler, INC and LIB.
    3.   Build the C program and it can be run on the emulator


5.3 General descriptions of major functions




a) Main

The main function consists of two parts: one is for debugging and the other is for playing.
Debugging functions can be open or closed using the syntax:

#ifdef A
// some code
#endif


                                                                                Page 14 of 22
       ELEC254 Project Report                Group #2                               G-Hockey



The play part is made up of 3 nested while loops, with the outer one infinitely looping, and the
other two able to be broken out when necessary.

void main(void)
{
while()             //infinite loop
     {
             show_menu()

              while()         //play g-hockey
              {
              }
              while()         //quit function. also indicate in the next while loop if            {
              show_menu() // when user quits the game or continue playing(when user doesn’t want to
quit

              }
       }
}




b) player_selection

The function “player_selection” is used to display the menu.




Player Two is responsible for deciding which mode is going to play. Here are some brief
descriptions of the use of variables in implementing flow chart as shown above.




                                                                                     Page 15 of 22
        ELEC254 Project Report              Group #2                               G-Hockey



Data Type         Variable Name         Description
                                        position of cursor used to make selection, controlled by
short             selection_position
                                        the main player
                                        which page is going to be displayed, either the “Play
short             selection_page        mode selection mode” page or “difficulty selection”
                                        page.
                                        controls the loading bar when the main player makes
short             cumulative_confirm    decision about going to single/dual mode and difficulty
                                        levels in single mode page.

void player_selection()
{
     while(1)
     {
          if(selection_page==0)
          {
          }// end selection_page==0
          else if(selection_page==1)
          {
          break when conditions are met
        } // end selection page 1
          Decision about which page to go, page 0 /page 1/dual mode
     } //end of while loop
}


c) display_game

This is really the hardcore of our project, as we need to deal with the display conventions of
LCD. The LCD we use in the project divides the screen into 8 pages, with each page having 128
columns of 8 bits, and the total resolution is 64*128. In order to display a byte vertically, i.e.
column-wise from one of the 128 columns on LCD, starting from arbitary location, we
introduced the function. Whenever we want to display a byte vertically, we first set the position
of cursor, then we write the data at that location. This makes our life much easier.


void set_cursor(uchar page, uchar column)
{
     //set the cursor of the LCD
     uchar msb,lsb;
          //get page
     Write_Command(0xb0+page);
     // set column
     msb=(column)>>4;
     Write_Command(0x10+msb);
     lsb=(column)%16;
     Write_Command(0x00+ lsb);
}



The simplest case is there is no overlap among the ball, bats and field border. In this case, both
a ball and a bat may span two pages. We just need to locate the center of the ball and bat and
shift the dot representation and get the upper_page part and lower_page part of the object


                                                                                    Page 16 of 22
     ELEC254 Project Report                    Group #2                                 G-Hockey




Things get complicated when the ball and bat have something common in one page. After we
know that the ball and bat have overlap in one page, we first display the two bats without
considering the presence of the ball. Then, when we display the ball, we do OR operation on the
dot representation to make sure that each part can be displayed properly.

In the display_game function, we also deal with clearing of previous frame, but on an object
base. When the ball is updated, we clear the previous position of the ball and write a new one.
The same applies for the bats.


d) update function

We do   the followings in the update function:
(i)     detection of ball-bat collision
(ii)    detection of ball-border collision
(iii)   update of positions and velocity of ball and bats
(iv)    goal detection

One thing to notice is that in order to increase the precision of velocity and positions, we
enlarge the initial resolution by adding 3 more bits to both horizontal and vertical resolution,
i.e. ball_x_lcd=ball_x>>3.

When a ball-bat collision occurs, we keep the tangential velocity intact and change the normal
velocity by reverse the sign and add the velocity of the other object in collision.

After all the update of velocity and positions, we will perform sanity check to make sure none
of the ball and bats has invalid velocity or positions.

e) Sanity Check

Basically, we want to make sure that all the objects are valid in positions. If any one is violated,
then it’s truncated to the nearest boundary.


if (ball_y<=0) ball_y=0;
     if (ball_y>=512) ball_y=512;
     if (ball_x>=1024) ball_x=1024;
     if (ball_x<=0) ball_x=0;

    //Since we have enlarged the resolution by 8, in reality, 512 is the 64th position in LCD display.
    //Sanity check for bat:
    if (bat1_y<BAT1_Y_UP_BOUND) bat1_y=BAT1_Y_UP_BOUND;
    if (bat1_y>BAT1_Y_DOWN_BOUND) bat1_y=BAT1_Y_DOWN_BOUND;
    if (bat1_x>BAT1_X_RIGHT_BOUND) bat1_x=BAT1_X_RIGHT_BOUND;
    if (bat1_x<=BAT1_X_LEFT_BOUND) bat1_x=BAT1_X_LEFT_BOUND;




                                                                                         Page 17 of 22
     ELEC254 Project Report                 Group #2                              G-Hockey



6     Problems encountered and solutions
In order to achieve our objectives and create a better user experience, we need to solve
problems of software and hardware.

Software problems include:

    (i)     Real time LCD display of ball, bats and border field, as we always need to deal with
            column transition and page transition, overlay of two objects and update of
            positions
    (ii)    Collision detection and handling
    (iii)   A bug that the ball can go through the bat if at high velocity.

The solutions are:

    (i)     Write a complicated algorithm of display function
    (ii)    Update function to detect and update positions of balls after collision
    (iii)   Limitations on the highest velocity, which will be further elaborated in the software
            implementation part.

Hardware problems include:

    (i)     Limited number of pins on 8051
    (ii)    Real time digitization of input signals
    (iii)   Synchronization of two LCDs.


The problems are solved by:

    (i)     Add an analog MUX CD4051BE to multiplex inputs from two players, and exploring
            pin0
    (ii)    Use ADC0804 to digitize inputs from accelerometers and process the data in 8051
    (iii)   Write unconventional “write_command” and “write_data” functions that drive and
            synchronize the two LCDs, and connect lines smartly. More elaborations can be
            found in the hardware implementation part.




7     Conclusion and Future Improvement

The project G-hockey is an integration of programming skills, knowledge of hardware and
improvement of user experiences. The program involves many finite states that are
implemented by nested “if” loops and “while” loops. It also deals with exceptions by sanity
check and constraint setting on variables. Different hardware components were utilized to
fulfill requirements. Important modules include LCDs, accelerometer, ADC, Analog MUX and
Speaker. They are interconnected to create a superb user experience. We also take the
integrity of game into consideration by adding menu selection, quit functions and artificial
intelligence features. All of these cannot be achieved without dedicated efforts, continuing
passion and effective teamwork.



                                                                                   Page 18 of 22
     ELEC254 Project Report                 Group #2                               G-Hockey




That being said, there is room for improvement. First, display algorithms can be modified to
lessen the effects of fading when the ball is moving at a high speed. One can look into the delay
between each frame, and the write and clear timing of the moving ball to tackle the problem.
Second, more features can be added to enhance the user experience, such as trophy sound,
“super-ball mode” when the ball appears unstoppable, and replace the control of bats from
game handle to biosignals. They can be achieved by increasing more functionality in programs
and interdisplinary application of knowledge. Third, a prototype can be built based on the
circuit on breadboard to enhance the portability and user-friendliness. As one of the selected
model projects, we are encouraged to prototype the game on a PCB board, which is both a
challenge and reward for us.

All in all, we’d like to thank all the people who helped us to finish the project and supported us
along the way. All of our teammates were diligent and highly-devoted to the project. Finally,
we would like to express our gratitude to Prof. Tim Woo, Fox and Li Shenghong for their
instructions and advice.




8     Appendix A – Links


                                       Original Proposal
https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B1USbzW2L9T1N
TQ4NGVhYjctMzgyMS00MzQ1LTk3NGMtNzFjM2RkMzBmZDY3&hl=en

                                     Summary Document
https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B1USbzW2L9T1M
mEwOTI2YjQtYWU3MS00NDllLWJhM2MtZTJlNWNjYjQ3NDhj&hl=en

                                           Datasheet

8051 Microcontroller
http://www.datasheetcatalog.org/datasheets2/10/1046235_1.pdf

SSH_12864 128*64pixels LCD display:
https://docs.google.com/leaf?id=0B1USbzW2L9T1Yzk4MTU2ZjctOWVjMy00NmUyLWEyNGYt
ZjU2ODA4MTNjNTZj&sort=name&layout=list&pid=0B1USbzW2L9T1YmJmYjkxYTAtZjAzZi00
YTk4LTlmOWQtMDUzY2FkNTkzYzUx&cindex=8

MMA7260QT Accelerometer:
https://docs.google.com/leaf?id=0B1USbzW2L9T1NjU4NTY1ZmItZmZjOC00NmIwLTkxMjgtO
TBkMjhmOWRlZDU3&sort=name&layout=list&pid=0B1USbzW2L9T1YmJmYjkxYTAtZjAzZi00
YTk4LTlmOWQtMDUzY2FkNTkzYzUx&cindex=7

CD4051 Analog MUX



                                                                                    Page 19 of 22
    ELEC254 Project Report            Group #2                         G-Hockey



https://docs.google.com/leaf?id=0B1USbzW2L9T1NDFhOTMxMmEtNWUzNC00MDRkLWE5ZT
MtYTgxZDdhYjE1Y2Zl&sort=name&layout=list&pid=0B1USbzW2L9T1YmJmYjkxYTAtZjAzZi0
0YTk4LTlmOWQtMDUzY2FkNTkzYzUx&cindex=2

ADC0804 Analog-Digital Converter
http://www.datasheetcatalog.org/datasheet/nationalsemiconductor/DS005671.PDF

                                   Picasa Album

http://picasaweb.google.com/talentjinming/Elec254?authkey=Gv1sRgCOPC-LS1orCmtgE&fe
at=email#

                                       Video
part1:
http://www.youtube.com/watch?v=YFNB3CeVtic
part2:
http://www.youtube.com/watch?v=6xpj1tWxMR8




9    Appendix B – Project Expense
Component              Quantity            Total Price          Place of purchase
LCD 12864              4                   180CNY               Taobao
Big LCD                1                   200HKD               Second Hand
Accelerometer          4                   118.5CNY             Taobao
Bread Board            2                   2.4CNY               Taobao
Speaker                2                   20HKD                SSP
CD4051                 5                   4.5CNY               Taobao
8052                   3                   40HKD                Taobao+SSP
ADC0804                3                   45HKD                LAB
NPN                    4                   4HKD                 LAB
Variable Resistor      1                   1HKD                 LAB
Switches               2                   5HKD                 SSP
Buttons                4                   5HKD                 SSP
Wires                                      5HKD                 SSP
Multimeter             1                   20HKD                SSP
Commute Expense                            20HKD

TOTAL                                      705HKD




                                                                        Page 20 of 22
   ELEC254 Project Report           Group #2                       G-Hockey



10 Appendix C – Contacts




   Andy Liao Jiaqing           Stephen WANG Wei               Jin Ming
   iverliao@gmail.com       iamstephenwang@gmail.com   talentjinming@gmail.com




11 Appendix D - Source Code

                                  Disclaimer

This code can only be used for learning purpose. Any distribution or
modification without the owner’s consent is not justified.

                                 <THE LINK>

https://docs.google.com/leaf?id=0B1USbzW2L9T1MzM1OGIyOTQtNDk4My00NDIz
LTkwOTYtZjU0ZDg0ODNlMTBm&hl=en




                                                                    Page 21 of 22

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:4
posted:10/22/2011
language:English
pages:22